CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
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
13#include "CLHEP/GenericFunctions/AbsFunction.hh"
14#include "CLHEP/GenericFunctions/Parameter.hh"
15namespace Genfun {
16
17 /**
18 * @author
19 * @ingroup genfun
20 */
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 override;
38 virtual double operator ()(const Argument & a) const override {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)
Definition: AbsFunction.hh:143
Parameter * getFraction(unsigned int i)
const Parameter * getFraction(unsigned int i) const
FourierFit(const FourierFit &right)
virtual double operator()(double argument) const override
FourierFit(unsigned int N)
Parameter * getPhase(unsigned int i)
unsigned int order() const
const Parameter * getPhase(unsigned int i) const
virtual ~FourierFit()
Definition: Abs.hh:14