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: EvtItgSimpsonIntegrator.hh 00012 // 00013 // Description: 00014 // Simpson integrator (Stolen and modified from 00015 // the BaBar IntegrationUtils package - author: Phil Strother). 00016 // 00017 // Modification history: 00018 // 00019 // Jane Tinslay March 21, 2001 Module adapted for use in 00020 // EvtGen 00021 // 00022 //------------------------------------------------------------------------ 00023 00024 #ifndef EVTITGSIMPSONINTEGRATOR_HH 00025 #define EVTITGSIMPSONINTEGRATOR_HH 00026 00027 //------------- 00028 // C Headers -- 00029 //------------- 00030 extern "C" { 00031 } 00032 00033 #include "EvtGenModels/EvtItgAbsIntegrator.hh" 00034 00035 class EvtItgSimpsonIntegrator: public EvtItgAbsIntegrator { 00036 00037 public: 00038 00039 EvtItgSimpsonIntegrator(const EvtItgAbsFunction &, double precision=1.0e-5, int maxLoop=20); 00040 00041 virtual ~EvtItgSimpsonIntegrator( ); 00042 00043 protected: 00044 00045 virtual double evaluateIt(double , double) const; 00046 00047 private: 00048 00049 double _precision; 00050 double _maxLoop; 00051 00052 EvtItgSimpsonIntegrator(); 00053 EvtItgSimpsonIntegrator( const EvtItgSimpsonIntegrator& ); 00054 EvtItgSimpsonIntegrator& operator= ( const EvtItgSimpsonIntegrator& ); // Assignment op 00055 00056 }; 00057 00058 00059 00060 #endif // ITGSIMPSONINTEGRATOR_HH