MPulseShapeChiSquare.hh

Go to the documentation of this file.
00001 #ifndef _M_PULSESHAPECHISQUARE_HH_
00002 #define _M_PULSESHAPECHISQUARE_HH_
00003 
00044 #include "QModule.hh"
00045 #include "QVector.hh"
00046 #include "QFitter.hh"
00047 #include <map>
00048  #include <gsl/gsl_spline.h>
00049 
00050 
00051 class MPulseShapeChiSquare : public QModule {
00052 
00053     public:
00055         MPulseShapeChiSquare(QSequence* s);
00056 
00058         ~MPulseShapeChiSquare();
00059 
00061         void Init();
00062 
00064         QEvent* Do(QEvent* ev);
00065 
00067         void Done();
00068     private:
00069         QFitter* fFitter;
00070 
00071         struct ChannelInfo {
00072             bool BlackSheep;
00073             QVector fAveragePulse;
00074             gsl_spline* fSpline;
00075             double fRMS;
00076             double fAPRMS;
00077             int fMinFit;
00078             int fMaxFit;
00079         };
00080 
00081         std::string fAvgPulsesFile;
00082         std::string fAvgNoiseFile;
00083         bool fDebugMode;
00084         int fMaxDelay;
00085         static std::map<int,ChannelInfo> fChannelInfos;
00086         static gsl_interp_accel *fSplineAcc; 
00087         bool SetupChannel(int ch,size_t n);
00088         static double AvgPulseFunc(double x, double* params);
00089 };
00090 
00091 #endif
00092 

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