beamgate_debugger.hh

Go to the documentation of this file.
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 

Generated on Mon Apr 7 15:35:12 2014 for MyProject by  doxygen 1.4.7