]>
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: EvtItgThreeCoeffFcn.hh | |
12 | // | |
13 | // Description: | |
14 | // Class describing a function with three vectors of coefficients. | |
15 | // | |
16 | // Modification history: | |
17 | // | |
18 | // Jane Tinslay March 21, 2001 Module created | |
19 | // | |
20 | //------------------------------------------------------------------------ | |
21 | ||
22 | #ifndef EVTITTHREECOEFFFCN_HH | |
23 | #define EVTITTHREECOEFFFCN_HH | |
24 | ||
25 | #include <vector> | |
26 | ||
27 | //------------- | |
28 | // C Headers -- | |
29 | //------------- | |
30 | extern "C" { | |
31 | } | |
32 | ||
33 | #include "EvtGenModels/EvtItgAbsFunction.hh" | |
34 | ||
35 | class EvtItgThreeCoeffFcn: public EvtItgAbsFunction { | |
36 | ||
37 | public: | |
38 | ||
39 | EvtItgThreeCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &), | |
40 | double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3); | |
41 | ||
42 | ||
43 | virtual ~EvtItgThreeCoeffFcn( ); | |
44 | virtual void setCoeff(int, int, double); | |
45 | virtual double getCoeff(int, int); | |
46 | ||
47 | protected: | |
48 | ||
49 | virtual double myFunction(double x) const; | |
50 | ||
51 | private: | |
52 | ||
53 | // Data members | |
54 | double (*_myFunction)(double x, const std::vector<double> & coeffs1, const std::vector<double> & coeffs2, const std::vector<double> & coeffs3); | |
55 | ||
56 | // Note: if your class needs a copy constructor or an assignment operator, | |
57 | // make one of the following public and implement it. | |
58 | EvtItgThreeCoeffFcn( const EvtItgThreeCoeffFcn& ); //// Copy Constructor | |
59 | EvtItgThreeCoeffFcn& operator= ( const EvtItgThreeCoeffFcn& ); // Assignment op | |
60 | std::vector<double> _coeffs1; | |
61 | std::vector<double> _coeffs2; | |
62 | std::vector<double> _coeffs3; | |
63 | ||
64 | }; | |
65 | ||
66 | #endif // EvtITGPTRFUNCTION_HH |