1 //--------------------------------------------------------------------------
4 // Copyright Information: See EvtGen/COPYRIGHT
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.
11 // Module: EvtItgThreeCoeffFcn.hh
14 // Class describing a function with three vectors of coefficients.
16 // Modification history:
18 // Jane Tinslay March 21, 2001 Module created
20 //------------------------------------------------------------------------
22 #ifndef EVTITTHREECOEFFFCN_HH
23 #define EVTITTHREECOEFFFCN_HH
33 #include "EvtGenModels/EvtItgAbsFunction.hh"
35 class EvtItgThreeCoeffFcn: public EvtItgAbsFunction {
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);
43 virtual ~EvtItgThreeCoeffFcn( );
44 virtual void setCoeff(int, int, double);
45 virtual double getCoeff(int, int);
49 virtual double myFunction(double x) const;
54 double (*_myFunction)(double x, const std::vector<double> & coeffs1, const std::vector<double> & coeffs2, const std::vector<double> & coeffs3);
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;
66 #endif // EvtITGPTRFUNCTION_HH