QLogNormExpFit.hh

00001 #ifndef _Q_LOGNORMEXPFIT_HH_
00002 #define _Q_LOGNORMEXPFIT_HH_
00003 
00011 #include "QPulseFitter.hh"
00012 
00013 
00014 class TH1D;
00015 
00016 class QLogNormExpFit : public QPulseFitter {
00017     public:
00019         QLogNormExpFit();
00020 
00021         ~QLogNormExpFit() {};
00022 
00024         QError Initialize();
00025 
00027         QError Fit(const QVector& pulse);
00028         
00030         QVector& GetResiduals() {return fResiduals;};
00031 
00033         int* GetFitArrows() {return fArrows;};
00034 
00036         int* GetConstrain() {return &fConstrain;}
00037   
00039         double* GetGoodness() {return &fGoodness;}
00040 
00041 
00042     private:
00043         void ComputeBaseStat(const QVector& pulse, int first);
00044         void ComputeFitEnd(const QVector& pulse, size_t meansize, double peakperc);
00045         int ComputeExpRange(const QVector& pulse, int bufsize, double peakperc, double fastpeakperc);
00046         int ComputeLgnStart(const QVector& pulse, int bufsize);
00047         void ComputeExpParams(const QVector& pulse);
00048         bool ComputeLgnParams(const QVector& pulse);
00049 
00050         double fBaseline;
00051         double fRMS;
00052         double fPeakHeight;
00053         double fLgn_m;
00054         double fLgn_s;
00055         double fLgn_A;
00056         double fExp_A;
00057         double fExp_b;
00058         double fExp_b_MAX;
00059         double fGoodness;      
00060         double fChiSquare;
00061         int fConstrain;
00062   
00063         int fFitStart;
00064         int fFitEnd;
00065         int fExpStart;
00066         int fExpEnd;
00067         int fLgnStart;
00068         
00069         QVector fResiduals;
00070         int fArrows[6]; //the last is faststatus
00071         int fFastStatus;//by now is among arrows
00072 
00073         size_t fNPoints;
00074        
00075 };
00076 
00077 #endif

Generated on Tue Nov 16 10:49:58 2010 for CUORE Software by  doxygen 1.5.6