QPulseBasicParams.hh

00001 #ifndef _Q_PULSE_BASIC_PARAMS_HH_
00002 #define _Q_PULSE_BASIC_PARAMS_HH_
00003 
00004 #include "QVector.hh"
00005 #include "QError.hh"
00006 
00007 using namespace Cuore;
00008 
00009 class QPulseBasicParams {
00010 
00011     public:
00012         QPulseBasicParams(int triggerPosition, double baseline, double baselineRMS);
00013         QPulseBasicParams(const QVector& pulse, int triggerPosition, double baseline, double baselineRMS, int ADCMax, int ADCMin);
00014 
00015         double GetStart() const {return fStart; }
00016         double GetEnd() const {return fEnd; }
00017         double GetMaxBaseline() const {return fHeight; }
00018         double GetMaxPosition() const {return fMaxPos; }
00019         double GetBaseline() const {return fBaseline; }
00020         double GetBaselineRMS() const {return fBaselineRMS; }
00021         double GetRaise() const {return fRaise;}
00022         double GetDecay() const {return fDecay;}
00023         bool GetIsSaturatedHigh() {return fIsSaturatedHigh;}
00024         bool GetIsSaturatedLow() {return fIsSaturatedLow;}
00025 
00026 
00027         QError FindMaximumPosition(const QVector& pulse);
00028         QError ComputeHeight(const QVector& pulse);
00029         QError ComputeRaise(const QVector& pulse, double percLow,double percHigh);
00030         QError ComputeDecay(const QVector& pulse, double percHigh,double percLow);
00031         QError FindEnd(const QVector& pulse, size_t meansize, double peakperc);
00032         QError FindStart(const QVector& pulse, int bufsize);
00033         QError CheckSaturation(const QVector& pulse, int ADCMax, int ADCMin);
00034         QError ComputeDecayAndRise(const QVector& pulse,int smoothingSize, float fracMin, float fracMax, float fracMinDecay);
00035 
00036     private:
00037         double fStart;
00038         double fEnd;
00039         double fRaise;
00040         double fDecay;
00041         double fHeight;
00042         double fMaxPos;
00043         double fBaseline;
00044         double fBaselineRMS;
00045         size_t fTriggerPosition;
00046         bool fIsSaturatedHigh;
00047         bool fIsSaturatedLow;
00048 };
00049 
00050 #endif

Generated on Fri Mar 6 13:40:40 2009 for CUORE Software by  doxygen 1.5.1