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