00001 00056 #ifndef __MFIND_BTDISCONTINUITIES_HH_ 00057 #define __MFIND_BTDISCONTINUITIES_HH_ 00058 00059 #include "QCuore.hh" 00060 #include "QModule.hh" 00061 00062 using namespace Cuore; 00063 class QStabChannel; 00064 00065 class MFindBTDiscontinuities : public QModule { 00066 public: 00071 MFindBTDiscontinuities(QSequence*); 00076 virtual ~MFindBTDiscontinuities(); 00082 virtual void Init(); 00087 virtual QEvent* Do(QEvent*); 00093 virtual void Done(); 00094 00095 void Dump(); 00096 /* 00097 * Make a plot of all the discomtinuities found for each channel 00098 * 00099 */ 00100 void PlotNumberOfDiscontinuities(); 00101 /* 00102 * Make a plot of all the amplitudes of the discontinuities for each channel 00103 * 00104 */ 00105 void PlotDiscontinuitiesAmplitudes(); 00106 00107 private: 00108 00109 void CleanOutputFile(); 00114 std::vector<QStabChannel*> fChannels; 00119 int fNSamples; 00125 int fDebounce; 00130 double fNSigma; 00135 unsigned int fDerivDistance; 00136 00141 int fMinPoints; 00146 bool fGraphicsOn; 00151 std::string fOutFileName; 00156 std::string fOutRootFileName; 00157 00158 /* 00159 * @brief this flag has to be true when processing thermometer files 00160 */ 00161 bool fOnlyTherm; 00162 00163 bool fFirstEvent; 00164 00165 int fMaxChannel; 00166 00167 int fThermometerChannel; 00168 00169 }; 00170 00171 #endif