MBoloModelFit.hh

Go to the documentation of this file.
00001 #ifndef _M_THERMALMODELFIT_HH_
00002 #define _M_THERMALMODELFIT_HH_
00003 
00039 #include "MPulseFit.hh"
00040 #include <string>
00041 #include <map>
00042 
00043 namespace Cuore {
00044      class QMathFunction;
00045     class QFitter;
00046 }
00047 class TF1;
00048 extern "C" double square(double square);
00049 class MBoloModelFit : public MPulseFit {
00050 
00051     public:
00053         MBoloModelFit(QSequence* s);
00054 
00056         ~MBoloModelFit();
00057 
00059         void Init();
00060 
00062         QEvent* Do(QEvent* ev);
00063 
00065         void Done();
00066     private:
00067         
00068         class ChannelInfo {
00069             public:
00070                 int HeaterChan;
00071                 int Relative;
00072                 float Gain;
00073                 float V_B;
00074                 float R_S;
00075                 float R_L;
00076                 float c_p;
00077                 std::string Name;
00078                 std::string Comment;
00079         };
00080         
00081         void CreateFunctions(float samplingFrequency,int nsamples);
00082         static double TwoDecayRoot(double* x,double* params);
00083         static double BolometerModelRoot(double* x, double* params);
00084         
00085         bool fFitDebug;
00086         bool fFitBessel;
00087         bool fFitCP;
00088         bool fFitRS;
00089         bool fFitHeater;
00090         static bool fUseRK;
00091         double fBesselCutOff;
00092         QFitter* fInit2Decay;
00093         TF1*     fInit2DecayRoot;
00094         QFitter* fBolometerModel;
00095         TF1*     fBolometerModelRoot;
00096         std::map<int,ChannelInfo> fChannelInfo;
00097 };
00098 
00099 #endif

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