00001 #ifndef INTEGRALRATIO_H__ 00002 #define INTEGRALRATIO_H__ 00003 00004 #include "TSetupData.h" 00005 #include "TVAnalysedPulseGenerator.h" 00006 #include "definitions.h" 00007 namespace Algorithm{class SimpleIntegral ;} 00008 00009 class IntegralRatioAPGenerator:public TVAnalysedPulseGenerator { 00010 00011 public: 00012 IntegralRatioAPGenerator(TAPGeneratorOptions* opts); 00013 virtual ~IntegralRatioAPGenerator(); 00014 00015 public: 00016 virtual int ProcessPulses( const PulseIslandList&,AnalysedPulseList&); 00017 00018 static const char* TapType(); 00019 00020 // This function should return true if this generator could break up a TPI 00021 // into more than one TAP 00022 virtual bool MayDivideTPIs(){return false;}; 00023 private: 00024 bool fStartTailAsFraction; 00025 double fStartIntegral; 00026 double fStopIntegral; 00027 double fStartTail; 00028 double fPedestal; 00029 double fPolarity; 00030 Algorithm::IntegralRatio fIntegralRatioAlgo; 00031 const Algorithm::MaxBinAmplitude fMaxBinAmplitude; 00032 00033 }; 00034 00035 #endif //INTEGRALRATIO_H__