StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtItgPtrFunction.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: EvtItgPtrFunction.hh
12 //
13 // Description:
14 // Class describing a function with one vector of coefficients. (Stolen and
15 // modified from the BaBar IntegrationUtils package - author: Phil Strother).
16 //
17 // Modification history:
18 //
19 // Jane Tinslay March 21, 2001 Module adapted for use in
20 // EvtGen
21 //
22 //------------------------------------------------------------------------
23 
24 #ifndef EVTITGPTRFUNCTION_HH
25 #define EVTITGPTRFUNCTION_HH
26 
27 #include <vector>
28 #include "EvtGenModels/EvtItgAbsFunction.hh"
29 
31 
32 public:
33 
34  EvtItgPtrFunction( double (*theFunction)(double, const std::vector<double> &),
35  double lowerRange, double upperRange, const std::vector<double> &coeffs1);
36 
37  virtual ~EvtItgPtrFunction( );
38 
39  virtual void setCoeff(int, int, double);
40  virtual double getCoeff(int, int);
41 
42 protected:
43 
44  virtual double myFunction(double x) const;
45 
46 private:
47 
48  // Data members
49  double (*_myFunction)(double x, const std::vector<double> & coeffs1);
50 
51  // Note: if your class needs a copy constructor or an assignment operator,
52  // make one of the following public and implement it.
54  EvtItgPtrFunction& operator= ( const EvtItgPtrFunction& ); // Assignment op
55  std::vector<double> _coeffs1;
56 
57 };
58 
59 #endif // EVTITGPTRFUNCTION_HH