StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 
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.
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