MBoloModelFit.hh

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

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