00001 00015 #ifndef PULSE_RECO_HH 00016 #define PULSE_RECO_HH 00017 00018 #include "ana_base.hh" 00019 #include "preco_algo_base.hh" 00020 #include "ped_estimator.hh" 00021 00022 #include <TH1D.h> 00023 #include <TH2D.h> 00024 00031 class pulse_reco : public ana_base { 00032 00033 public: 00034 00036 enum PED_METHOD{ 00037 kHEAD = 0, 00038 kTAIL, 00039 kBOTH 00040 }; 00041 00042 public: 00043 00045 pulse_reco(); 00046 00048 ~pulse_reco(){}; 00049 00051 virtual bool initialize(); 00052 00054 virtual bool analyze(storage_manager* storage); 00055 00057 virtual bool finalize(); 00058 00060 void add_reco_algo (preco_algo_base* algo) { _reco_algo_v.push_back(algo); }; 00061 00063 void set_ped_algo (PED_METHOD type) { _ped_method = type; }; 00064 00066 void set_ped_nsample_cosmic (size_t n) { _ped_nsample_cosmic = n; }; 00067 00069 void set_ped_nsample_beam (size_t n) { _ped_nsample_beam = n; }; 00070 00071 private: 00072 00074 std::vector<preco_algo_base*> _reco_algo_v; 00075 00077 ped_estimator _ped_algo; 00078 00080 size_t _ped_nsample_cosmic; 00081 00083 size_t _ped_nsample_beam; 00084 00086 PED_METHOD _ped_method; 00087 00089 inline bool is_beam(const pmt_waveform *wf){return (wf->size() > 1000);}; 00090 00091 }; 00092 00093 #endif 00094 // end of doxygen group
1.4.7