00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef Variable_h
00011 #define Variable_h 1
00012 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00013 namespace Genfun {
00014
00019 class Variable : public AbsFunction {
00020
00021 FUNCTION_OBJECT_DEF(Variable)
00022
00023 public:
00024
00025
00026 Variable(unsigned int selectionIndex=0,
00027 unsigned int dimensionality=1);
00028
00029
00030 Variable(const Variable &right);
00031
00032
00033 virtual ~Variable();
00034
00035
00036 virtual double operator ()(double argument) const;
00037 virtual double operator ()(const Argument & a) const;
00038
00039
00040 virtual unsigned int dimensionality() const ;
00041
00042
00043 unsigned int index() const;
00044
00045
00046 Derivative partial (unsigned int) const;
00047
00048
00049 virtual bool hasAnalyticDerivative() const {return true;}
00050
00051 private:
00052
00053
00054 const Variable & operator=(const Variable &right);
00055
00056
00057
00058 unsigned int _selectionIndex;
00059
00060
00061 unsigned int _dimensionality;
00062
00063 };
00064
00065 }
00066 #endif