]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtItgPtrFunction.hh
AliDecayer realisation for the EvtGen code and EvtGen itself.
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / 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
30 class EvtItgPtrFunction: public EvtItgAbsFunction {
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.
53   EvtItgPtrFunction( const EvtItgPtrFunction& );                //// Copy Constructor
54   EvtItgPtrFunction& operator= ( const EvtItgPtrFunction& );    // Assignment op
55   std::vector<double> _coeffs1;
56
57 };
58
59 #endif // EVTITGPTRFUNCTION_HH