//-------------------------------------------------------------------------- // // // Copyright Information: See EvtGen/COPYRIGHT // // Environment: // This software is part of the EvtGen package developed jointly // for the BaBar and CLEO collaborations. If you use all or part // of it, please give an appropriate acknowledgement. // // Module: EvtItgFourCoeffFcn.hh // // Description: // Class describing a function with Four vectors of coefficients. // // Modification history: // // Jane Tinslay March 21, 2001 Module created // //------------------------------------------------------------------------ #ifndef EVTITFOURCOEFFFCN_HH #define EVTITFOURCOEFFFCN_HH #include #include "EvtGenModels/EvtItgAbsFunction.hh" class EvtItgFourCoeffFcn: public EvtItgAbsFunction { public: EvtItgFourCoeffFcn( double (*theFunction)(double, const std::vector &, const std::vector &, const std::vector &, const std::vector &), double lowerRange, double upperRange, const std::vector &coeffs1, const std::vector &coeffs2, const std::vector &coeffs3, const std::vector &coeffs4); virtual ~EvtItgFourCoeffFcn( ); virtual void setCoeff(int, int, double); virtual double getCoeff(int, int); protected: virtual double myFunction(double x) const; private: // Data members double (*_myFunction)(double x, const std::vector & coeffs1, const std::vector & coeffs2, const std::vector & coeffs3, const std::vector & coeffs4); // Note: if your class needs a copy constructor or an assignment operator, // make one of the following public and implement it. EvtItgFourCoeffFcn( const EvtItgFourCoeffFcn& ); //// Copy Constructor EvtItgFourCoeffFcn& operator= ( const EvtItgFourCoeffFcn& ); // Assignment op std::vector _coeffs1; std::vector _coeffs2; std::vector _coeffs3; std::vector _coeffs4; }; #endif // EvtITGPTRFUNCTION_HH