00001
00015 #ifndef PULSE_SELECTOR_SIMPLE_HH
00016 #define PULSE_SELECTOR_SIMPLE_HH
00017
00018 #include "pulse_selector_base.hh"
00019
00024 class pulse_selector_simple : public pulse_selector_base {
00025
00026 public:
00027
00029 pulse_selector_simple();
00030
00032 virtual ~pulse_selector_simple(){};
00033
00037 virtual bool initialize(){return true;};
00038
00042 virtual bool analyze(storage_manager* storage){return true;};
00043
00047 virtual bool finalize(){return true;};
00048
00049 void reset_cuts();
00050
00051 virtual bool select_pulse(const pulse_info* data);
00052
00053
00054
00055
00056
00058 void set_range_pulse_start_time(double v1, double v2) {_cut_tstart.first=v1; _cut_tstart.second=v2; };
00059
00061 void set_range_pulse_start_time_reco(double v1, double v2) {_cut_tstart_reco.first=v1; _cut_tstart_reco.second=v2; };
00062
00064 void set_range_pulse_end_time(double v1, double v2) {_cut_tend.first=v1; _cut_tend.second=v2; };
00065
00067 void set_range_pulse_amp(double v1, double v2) {_cut_amp.first=v1; _cut_amp.second=v2; };
00068
00070 void set_range_pulse_charge(double v1,double v2) {_cut_charge.first=v1; _cut_charge.second=v2; };
00071
00073 void set_range_ped_mean(double v1, double v2) {_cut_pedbase.first=v1; _cut_pedbase.second=v2; };
00074
00076 void set_range_ped_rms(double v1, double v2) {_cut_pedrms.first=v1; _cut_pedrms.second=v2; };
00077
00079 void set_range_frame_id(PMT::word_t v1, PMT::word_t v2) {_cut_frame_id.first=v1; _cut_frame_id.second=v2; };
00080
00082 void set_range_timeslice(PMT::word_t v1, PMT::word_t v2) {_cut_timeslice.first=v1; _cut_timeslice.second=v2; };
00083
00085 void set_range_channel(PMT::ch_number_t v1, PMT::ch_number_t v2) {_cut_channels.first=v1; _cut_channels.second=v2;};
00086
00088 void set_range_sum_charge(double v1, double v2) {_cut_sum_charge.first=v1; _cut_sum_charge.second=v2;};
00089
00091 void set_range_sum_peak(double v1, double v2) {_cut_sum_peak.first=v1; _cut_sum_peak.second=v2;};
00092
00094 void set_range_npulse(double v1, double v2) {_cut_npulse.first=v1; _cut_npulse.second=v2;};
00095
00096
00097
00098
00099
00100
00102 const std::pair<double,double> range_pulse_start_time() const {return _cut_tstart;};
00103
00105 const std::pair<double,double> range_pulse_start_time_reco() const {return _cut_tstart_reco;};
00106
00108 const std::pair<double,double> range_pulse_end_time() const {return _cut_tend;};
00109
00111 const std::pair<double,double> range_pulse_amp() const {return _cut_amp;};
00112
00114 const std::pair<double,double> range_pulse_charge() const {return _cut_charge;};
00115
00117 const std::pair<double,double> range_ped_mean() const {return _cut_pedbase;};
00118
00120 const std::pair<double,double> range_ped_rms() const {return _cut_pedrms;};
00121
00123 const std::pair<PMT::word_t,PMT::word_t> range_frame_id() const {return _cut_frame_id;};
00124
00126 const std::pair<PMT::word_t,PMT::word_t> range_timeslice() const {return _cut_timeslice;};
00127
00129 const std::pair<PMT::word_t,PMT::word_t> range_channel() const {return _cut_channels;};
00130
00132 const std::pair<double,double> range_sum_charge() const {return _cut_sum_charge;};
00133
00135 const std::pair<double,double> range_sum_peak() const {return _cut_sum_peak;};
00136
00137 protected:
00138
00140 std::pair<double,double> _cut_tstart, _cut_tstart_reco, _cut_tend, _cut_amp, _cut_charge, _cut_pedbase, _cut_pedrms;
00141
00143 std::pair<double,double> _cut_sum_charge, _cut_sum_peak;
00144
00146 std::pair<UInt_t,UInt_t> _cut_npulse;
00147
00149 std::pair<PMT::word_t,PMT::word_t> _cut_frame_id, _cut_timeslice;
00150
00152 std::pair<PMT::ch_number_t,PMT::ch_number_t> _cut_channels;
00153 };
00154
00155 #endif
00156