00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef LogisticFunction_h
00010 #define LogisticFunction_h 1
00011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00012 #include "CLHEP/GenericFunctions/Parameter.hh"
00013 #include <vector>
00014 namespace Genfun {
00015
00020 class LogisticFunction : public AbsFunction {
00021
00022 FUNCTION_OBJECT_DEF(LogisticFunction)
00023
00024 public:
00025
00026
00027 LogisticFunction();
00028
00029
00030 LogisticFunction(const LogisticFunction &right);
00031
00032
00033 virtual ~LogisticFunction();
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 & x0();
00041 const Parameter & x0() const;
00042
00043
00044 Parameter & a();
00045 const Parameter & a() const;
00046
00047 private:
00048
00049
00050 const LogisticFunction & operator=(const LogisticFunction &right);
00051
00052
00053 Parameter _x0;
00054
00055
00056 Parameter _a;
00057
00058
00059 mutable std::vector<double> fx;
00060
00061 mutable double __a, __x0;
00062
00063 };
00064 }
00065
00066 #endif