00001 00014 #ifndef BEAMGATE_DEBUGGER_HH 00015 #define BEAMGATE_DEBUGGER_HH 00016 00017 #include <TH2D.h> 00018 00019 #include "pmt_waveform.hh" 00020 #include "ana_base.hh" 00021 00027 class beamgate_debugger : public ana_base { 00028 00029 public: 00030 00032 beamgate_debugger(); 00033 00035 virtual ~beamgate_debugger(){}; 00036 00038 virtual bool initialize(); 00039 00041 virtual bool analyze(storage_manager* data); 00042 00044 virtual bool finalize(); 00045 00047 void set_max_adc(PMT::ch_adc_t val){_adc_max=val;}; 00048 00050 void set_beam_window_size(PMT::word_t n){_beam_window_width=n;}; 00051 00053 00056 void set_pre_ped_nsample(UShort_t n){_pre_nsample=n;}; 00057 00059 00062 void set_post_ped_nsample(UShort_t n){_post_nsample=n;}; 00063 00064 private: 00065 00067 void reset(); 00068 00070 void prepare_histo(); 00071 00073 void get_ped_info(double &mean, double &rms, const std::vector<double> *sample)const {if(sample) {mean=0;rms=0;}}; 00074 00075 TH2D *_hSampleSize; 00076 TH2D *_hPrePedMean, *_hPostPedMean; 00077 TH2D *_hPrePedRMS, *_hPostPedRMS; 00078 TH2D *_hMaxADC; 00079 TH2D *_hMaxTime; 00080 00081 PMT::ch_adc_t _adc_max; 00082 PMT::ch_number_t _ch_cnt; 00083 PMT::word_t _beam_window_width; 00084 00085 UShort_t _pre_nsample; 00086 UShort_t _post_nsample; 00087 00088 std::vector<double> _pre_sample, _post_sample; 00089 00090 }; 00091 00092 #endif 00093 // end of doxygen group
1.4.7