00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software was developed for the BaBar collaboration. If you 00005 // use all or part of it, please give an appropriate acknowledgement. 00006 // 00007 // Copyright Information: See EvtGen/COPYRIGHT 00008 // Copyright (C) 1998 LBNL 00009 // 00010 //------------------------------------------------------------------------ 00011 00012 #ifndef EVTITGFUNCTION_HH 00013 #define EVTITGFUNCTION_HH 00014 00015 #include "EvtGenModels/EvtItgAbsFunction.hh" 00016 00033 class EvtItgFunction: public EvtItgAbsFunction { 00034 00035 public: 00036 00037 // Constructors 00038 EvtItgFunction( double (*theFunction)(double), 00039 double lowerRange, double upperRange); 00040 00041 00042 // Destructor 00043 virtual ~EvtItgFunction( ); 00044 00045 virtual void setCoeff(int, int, double) {}; 00046 virtual double getCoeff(int, int) {return 0.0;}; 00047 00048 protected: 00049 00050 // Helper functions 00051 00052 virtual double myFunction(double x) const; 00053 00054 private: 00055 00056 // Data members 00057 double (*_myFunction)(double x); 00058 00059 // Note: if your class needs a copy constructor or an assignment operator, 00060 // make one of the following public and implement it. 00061 EvtItgFunction( const EvtItgFunction& ); // Copy Constructor 00062 EvtItgFunction& operator= ( const EvtItgFunction& ); // Assignment op 00063 }; 00064 00065 #endif // EvtITGFUNCTION_HH