]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | //-------------------------------------------------------------------------- |
2 | // | |
3 | // | |
4 | // Copyright Information: See EvtGen/COPYRIGHT | |
5 | // | |
6 | // Environment: | |
7 | // This software is part of the EvtGen package developed jointly | |
8 | // for the BaBar and CLEO collaborations. If you use all or part | |
9 | // of it, please give an appropriate acknowledgement. | |
10 | // | |
11 | // Module: EvtItgFourCoeffFcn.hh | |
12 | // | |
13 | // Description: | |
14 | // Class describing a function with Four vectors of coefficients. | |
15 | // | |
16 | // Modification history: | |
17 | // | |
18 | // Jane Tinslay March 21, 2001 Module created | |
19 | // | |
20 | //------------------------------------------------------------------------ | |
21 | ||
22 | #ifndef EVTITFOURCOEFFFCN_HH | |
23 | #define EVTITFOURCOEFFFCN_HH | |
24 | ||
25 | #include <vector> | |
26 | #include "EvtGenModels/EvtItgAbsFunction.hh" | |
27 | ||
28 | class EvtItgFourCoeffFcn: public EvtItgAbsFunction { | |
29 | ||
30 | public: | |
31 | ||
32 | EvtItgFourCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &), | |
33 | double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3, const std::vector<double> &coeffs4); | |
34 | ||
35 | virtual ~EvtItgFourCoeffFcn( ); | |
36 | ||
37 | virtual void setCoeff(int, int, double); | |
38 | virtual double getCoeff(int, int); | |
39 | ||
40 | protected: | |
41 | ||
42 | virtual double myFunction(double x) const; | |
43 | ||
44 | private: | |
45 | ||
46 | // Data members | |
47 | double (*_myFunction)(double x, const std::vector<double> & coeffs1, const std::vector<double> & coeffs2, const std::vector<double> & coeffs3, const std::vector<double> & coeffs4); | |
48 | ||
49 | // Note: if your class needs a copy constructor or an assignment operator, | |
50 | // make one of the following public and implement it. | |
51 | EvtItgFourCoeffFcn( const EvtItgFourCoeffFcn& ); //// Copy Constructor | |
52 | EvtItgFourCoeffFcn& operator= ( const EvtItgFourCoeffFcn& ); // Assignment op | |
53 | std::vector<double> _coeffs1; | |
54 | std::vector<double> _coeffs2; | |
55 | std::vector<double> _coeffs3; | |
56 | std::vector<double> _coeffs4; | |
57 | ||
58 | }; | |
59 | ||
60 | #endif // EvtITGPTRFUNCTION_HH |