]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtItgThreeCoeffFcn.hh
An effective FD corretion
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtItgThreeCoeffFcn.hh
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