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