/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtItgThreeCoeffFcn.hh

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 //
00003 //
00004 // Copyright Information: See EvtGen/COPYRIGHT
00005 //
00006 // Environment:
00007 //      This software is part of the EvtGen package developed jointly
00008 //      for the BaBar and CLEO collaborations.  If you use all or part
00009 //      of it, please give an appropriate acknowledgement.
00010 //
00011 // Module: EvtItgThreeCoeffFcn.hh
00012 //
00013 // Description:
00014 //      Class describing a function with three vectors of coefficients. 
00015 //
00016 // Modification history:
00017 //
00018 //    Jane Tinslay                March 21, 2001       Module created
00019 //
00020 //------------------------------------------------------------------------
00021 
00022 #ifndef EVTITTHREECOEFFFCN_HH
00023 #define EVTITTHREECOEFFFCN_HH
00024 
00025 #include <vector>
00026 
00027 //-------------
00028 // C Headers --
00029 //-------------
00030 extern "C" {
00031 }
00032 
00033 #include "EvtGenModels/EvtItgAbsFunction.hh"
00034 
00035 class EvtItgThreeCoeffFcn: public EvtItgAbsFunction {
00036 
00037 public:
00038 
00039   EvtItgThreeCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &),
00040                        double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3);
00041   
00042  
00043   virtual ~EvtItgThreeCoeffFcn( );
00044   virtual void setCoeff(int, int, double);
00045   virtual double getCoeff(int, int);
00046   
00047 protected:
00048 
00049   virtual double myFunction(double x) const;
00050 
00051 private:
00052  
00053   // Data members
00054   double (*_myFunction)(double x, const std::vector<double> & coeffs1, const std::vector<double> & coeffs2, const std::vector<double> & coeffs3);
00055 
00056   // Note: if your class needs a copy constructor or an assignment operator, 
00057   //  make one of the following public and implement it.
00058    EvtItgThreeCoeffFcn( const EvtItgThreeCoeffFcn& );                
00059   EvtItgThreeCoeffFcn& operator= ( const EvtItgThreeCoeffFcn& );    // Assignment op
00060   std::vector<double> _coeffs1;
00061   std::vector<double> _coeffs2;
00062   std::vector<double> _coeffs3;
00063   
00064 };
00065 
00066 #endif // EvtITGPTRFUNCTION_HH

Generated on Tue Nov 29 23:12:19 2016 for BOSS_7.0.2 by  doxygen 1.4.7