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

GenericFunctions/FourierFit.hh
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id:
3 //---------------------FourierFit-------------------------------------------//
4 // //
5 // Class FourierFit. This is a fitting function consisting of a super //
6 // position of N legendre polynomials. Cascading fractions and phases are //
7 // the input parameters. Function is normalized to one (on [0,2PI]) //
8 // Joe Boudreau, Petar Maksimovic, January 2000 //
9 // //
10 //--------------------------------------------------------------------------//
11 #ifndef FourierFit_h
12 #define FourierFit_h 1
15 namespace Genfun {
16 
21  class FourierFit : public AbsFunction {
22 
24 
25  public:
26 
27  // Constructor
28  FourierFit(unsigned int N);
29 
30  // Copy constructor
31  FourierFit(const FourierFit &right);
32 
33  // Destructor
34  virtual ~FourierFit();
35 
36  // Retreive function value
37  virtual double operator ()(double argument) const;
38  virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
39 
40  unsigned int order() const;
41 
42  Parameter *getFraction(unsigned int i);
43  const Parameter *getFraction(unsigned int i) const;
44 
45  Parameter *getPhase(unsigned int i);
46  const Parameter *getPhase(unsigned int i) const;
47 
48 
49  private:
50 
51  // It is illegal to assign an adjustable constant
52  const FourierFit & operator=(const FourierFit &right);
53 
54  //
55  const unsigned int N;
56  std::vector <Genfun::Parameter *> fraction;
57  std::vector <Genfun::Parameter *> phase;
58 
59 
60  };
61 } // namespace Genfun
62 #include "CLHEP/GenericFunctions/FourierFit.icc"
63 #endif
#define FUNCTION_OBJECT_DEF(classname)
FourierFit(unsigned int N)
Parameter * getFraction(unsigned int i)
unsigned int order() const
virtual double operator()(double argument) const
Parameter * getPhase(unsigned int i)