CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

GenericFunctions/LogisticFunction.hh
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id:
3 //---------------------Gaussian---------------------------------------------//
4 // //
5 // Class LogisticFunction //
6 // Joe Boudreau, November 2002 //
7 // //
8 //--------------------------------------------------------------------------//
9 #ifndef LogisticFunction_h
10 #define LogisticFunction_h 1
13 #include <vector>
14 namespace Genfun {
15 
20  class LogisticFunction : public AbsFunction {
21 
23 
24  public:
25 
26  // Constructor
28 
29  // Copy constructor
30  LogisticFunction(const LogisticFunction &right);
31 
32  // Destructor
33  virtual ~LogisticFunction();
34 
35  // Retreive function value
36  virtual double operator ()(double argument) const;
37  virtual double operator ()(const Argument & arg) const {return operator() (arg[0]);}
38 
39  // Get the starting value of the LogisticFunction
40  Parameter & x0();
41  const Parameter & x0() const;
42 
43  // Get the control parameter of the LogisticFunction
44  Parameter & a();
45  const Parameter & a() const;
46 
47  private:
48 
49  // It is illegal to assign an adjustable constant
50  const LogisticFunction & operator=(const LogisticFunction &right);
51 
52  // Here is the decay constant
53  Parameter _x0;
54 
55  // Here is the sigma
56  Parameter _a;
57 
58  // A vector of values.
59  mutable std::vector<double> fx;
60  // Some cache:
61  mutable double __a, __x0;
62 
63  };
64 } // namespace Genfun
65 
66 #endif
virtual double operator()(double argument) const
#define FUNCTION_OBJECT_DEF(classname)