pulse_selector_base Class Reference
[AnalysisAnalysis]

This is an abstract base class for pulse selection alnalysis code. More...

#include <pulse_selector_base.hh>

Inheritance diagram for pulse_selector_base:

ana_base decoder_base pulse_selector_simple led_pulse_selector List of all members.

Public Member Functions

 pulse_selector_base ()
 Default constructor.
virtual ~pulse_selector_base ()
 Default destructor.
virtual bool select_pulse (const pulse_info *data)=0
 Selection method to indicate whether the given pulse should be selected or not.
void set_pulse_type (DATA_STRUCT::DATA_TYPE type)
 Config method to specify which type of pulse information should be used.
DATA_STRUCT::DATA_TYPE pulse_type () const
 Getter for the specified pulse type to be used.
virtual bool initialize ()=0
 Initialization method to be called before analyze any data.
virtual bool analyze (storage_manager *data)=0
 Analyze a data event-by-event.
virtual bool finalize ()=0
 Finalize method to be called after all events processed.
void set_output_file (TFile *fout)
 A setter for analysis output file poitner.
void set_verbosity (MSG::Level level)
 Setter for the verbosity level.
MSG::Level get_verbosity () const
 Getter for the verbosity level.
const std::string class_name () const
 Getter for the class name.

Protected Attributes

DATA_STRUCT::DATA_TYPE _pulse_type
TFile * _fout
 Analysis output file pointer.
char _buf [200]
 char buffer for message manipulation
bool _verbosity [MSG::MSG_TYPE_MAX]
 holder for enabled message levels
MSG::Level _verbosity_level
 holder for specified verbosity level
std::string _name
 class name holder

Detailed Description

This is an abstract base class for pulse selection alnalysis code.

Children class should implement the actual selection criteria. analyze() method should retrieve data an store selection outcome. select_pusle() method takes pulse_info* data pointer, and returns true/false that indicates selected/rejected decision flag.

Definition at line 28 of file pulse_selector_base.hh.


Constructor & Destructor Documentation

pulse_selector_base::pulse_selector_base (  ) 

Default constructor.

Definition at line 7 of file pulse_selector_base.cc.

References ana_base::_fout, decoder_base::_name, _pulse_type, and DATA_STRUCT::PULSE_COLLECTION.

00007                                         {
00008 //################################################
00009   
00010   _name="pulse_selector_base"; 
00011   
00012   _fout=0; 
00013 
00014   _pulse_type=DATA_STRUCT::PULSE_COLLECTION;
00015 
00016 }

virtual pulse_selector_base::~pulse_selector_base (  )  [inline, virtual]

Default destructor.

Definition at line 36 of file pulse_selector_base.hh.

00036 {};


Member Function Documentation

virtual bool ana_base::analyze ( storage_manager data  )  [pure virtual, inherited]

Analyze a data event-by-event.

Implemented in pmt_slow_encoder, pulse_reco, beamgate_debugger, led_pulse_analyzer, led_pulse_selector, pmtbaseline, pmtbaseline_ana, pulse_analyzer, pulse_selector_simple, pulse_viewer, reco_wf, and waveform_sampler.

Referenced by waveform_sampler::analyze().

const std::string decoder_base::class_name (  )  const [inline, inherited]

Getter for the class name.

Definition at line 46 of file decoder_base.hh.

References decoder_base::_name.

00046 {return _name;};

virtual bool ana_base::finalize (  )  [pure virtual, inherited]

Finalize method to be called after all events processed.

Implemented in pmt_slow_encoder, pulse_reco, beamgate_debugger, led_pulse_analyzer, led_pulse_selector, pmtbaseline, pmtbaseline_ana, pulse_analyzer, pulse_selector_simple, pulse_viewer, reco_wf, and waveform_sampler.

MSG::Level decoder_base::get_verbosity (  )  const [inline, inherited]

Getter for the verbosity level.

Definition at line 43 of file decoder_base.hh.

References decoder_base::_verbosity_level.

00043 {return _verbosity_level;};

virtual bool ana_base::initialize (  )  [pure virtual, inherited]

Initialization method to be called before analyze any data.

Implemented in pmt_slow_encoder, pulse_reco, beamgate_debugger, led_pulse_analyzer, led_pulse_selector, pmtbaseline, pmtbaseline_ana, pulse_analyzer, pulse_selector_simple, pulse_viewer, reco_wf, and waveform_sampler.

DATA_STRUCT::DATA_TYPE pulse_selector_base::pulse_type (  )  const [inline]

Getter for the specified pulse type to be used.

Definition at line 51 of file pulse_selector_base.hh.

References _pulse_type.

Referenced by waveform_sampler::analyze(), led_pulse_analyzer::analyze(), and waveform_sampler::sample_waveform().

00051 {return _pulse_type;};

virtual bool pulse_selector_base::select_pulse ( const pulse_info data  )  [pure virtual]

Selection method to indicate whether the given pulse should be selected or not.

Implemented in led_pulse_selector, and pulse_selector_simple.

Referenced by waveform_sampler::analyze().

void ana_base::set_output_file ( TFile *  fout  )  [inline, inherited]

A setter for analysis output file poitner.

Definition at line 46 of file ana_base.hh.

References ana_base::_fout.

00046 {_fout=fout;};

void pulse_selector_base::set_pulse_type ( DATA_STRUCT::DATA_TYPE  type  ) 

Config method to specify which type of pulse information should be used.

Definition at line 19 of file pulse_selector_base.cc.

References _pulse_type, DATA_STRUCT::DATA_TYPE_MAX, MSG::ERROR, DATA_STRUCT::FIXED_WIN_PULSE_COLLECTION, DATA_STRUCT::PMT_WF_COLLECTION, DATA_STRUCT::PULSE_COLLECTION, Message::send(), DATA_STRUCT::SLIDE_WIN_PULSE_COLLECTION, DATA_STRUCT::THRES_WIN_PULSE_COLLECTION, DATA_STRUCT::TPC_WF_COLLECTION, DATA_STRUCT::TRIG_INFO, and DATA_STRUCT::USER_COLLECTION.

Referenced by led_pulse_analyzer::set_pulse_type().

00019                                                                   {
00020 //################################################
00021 
00022   switch(type){
00023 
00024   case DATA_STRUCT::PMT_WF_COLLECTION:
00025   case DATA_STRUCT::TPC_WF_COLLECTION:
00026   case DATA_STRUCT::TRIG_INFO:
00027   case DATA_STRUCT::USER_COLLECTION:
00028   case DATA_STRUCT::DATA_TYPE_MAX:
00029     Message::send(MSG::ERROR,__FUNCTION__,
00030           Form("The specified data type (=%ud) does not match any pulse data type!",type)
00031           );
00032     break;
00033   case DATA_STRUCT::PULSE_COLLECTION:
00034   case DATA_STRUCT::FIXED_WIN_PULSE_COLLECTION:
00035   case DATA_STRUCT::THRES_WIN_PULSE_COLLECTION:
00036   case DATA_STRUCT::SLIDE_WIN_PULSE_COLLECTION:
00037     _pulse_type = type;
00038     break;
00039   }
00040 
00041 }

void decoder_base::set_verbosity ( MSG::Level  level  )  [inherited]

Setter for the verbosity level.

Reimplemented in ana_processor.

Definition at line 11 of file decoder_base.cc.

References decoder_base::_verbosity, decoder_base::_verbosity_level, MSG::DEBUG, MSG::ERROR, MSG::INFO, MSG::MSG_TYPE_MAX, MSG::NORMAL, and MSG::WARNING.

Referenced by algo_slow_readout_decoder::algo_slow_readout_decoder(), compare_content(), decoder_base::decoder_base(), decoder_manager::decoder_manager(), decoder_manager::initialize(), main(), xmit_event_search::run(), bin_word_search::run(), and ana_processor::set_verbosity().

00011                                               {
00012 
00013   _verbosity_level=level;
00014 
00015   for(size_t i=(size_t)(MSG::DEBUG); i<(size_t)(MSG::MSG_TYPE_MAX); ++i)
00016     _verbosity[i]=false;
00017 
00018   switch(level){
00019   case MSG::DEBUG:
00020     _verbosity[MSG::DEBUG]=true;
00021   case MSG::INFO:
00022     _verbosity[MSG::INFO]=true;
00023   case MSG::NORMAL:
00024     _verbosity[MSG::NORMAL]=true;
00025   case MSG::WARNING:
00026     _verbosity[MSG::WARNING]=true;
00027   case MSG::ERROR:
00028     _verbosity[MSG::ERROR]=true;
00029   case MSG::MSG_TYPE_MAX:
00030     break;
00031   }
00032 
00033 }


Member Data Documentation

char decoder_base::_buf[200] [protected, inherited]

char buffer for message manipulation

Definition at line 46 of file decoder_base.hh.

Referenced by reco_wf::analyze(), pulse_viewer::analyze(), algo_slow_readout_decoder::check_event_quality(), storage_manager::close(), bin_io_handler::close(), decoder_manager::decode(), algo_slow_readout_decoder::decode_ch_word(), algo_pmt_xmit::decode_ch_word(), algo_slow_readout_decoder::decode_event_header(), pulse_viewer::get_waveform(), ana_processor::initialize(), pulse_viewer::next_pulse(), storage_manager::open(), bin_io_handler::open(), storage_manager::prepare_tree(), pulse_viewer::previous_pulse(), algo_slow_readout_decoder::print_adc_values(), algo_tpc_xmit::process_ch_word(), algo_slow_readout_decoder::process_ch_word(), algo_pmt_xmit::process_ch_word(), algo_fem_decoder_base::process_fem_header(), algo_xmit_decoder::process_header(), algo_slow_readout_decoder::process_header(), algo_slow_readout_decoder::process_word(), bin_io_handler::read_multi_word(), bin_io_handler::read_word(), and ana_processor::run().

TFile* ana_base::_fout [protected, inherited]

Analysis output file pointer.

Definition at line 46 of file ana_base.hh.

Referenced by ana_base::ana_base(), waveform_sampler::finalize(), pulse_reco::finalize(), pulse_analyzer::finalize(), pmtbaseline_ana::finalize(), pmtbaseline::finalize(), led_pulse_analyzer::finalize(), beamgate_debugger::finalize(), pulse_analyzer::initialize(), pmt_slow_encoder::pmt_slow_encoder(), pmtbaseline::pmtbaseline(), pmtbaseline_ana::pmtbaseline_ana(), pulse_selector_base(), pulse_selector_simple::pulse_selector_simple(), waveform_sampler::sample_waveform(), ana_base::set_output_file(), and waveform_sampler::waveform_sampler().

std::string decoder_base::_name [protected, inherited]

class name holder

Definition at line 53 of file decoder_base.hh.

Referenced by algo_base::algo_base(), algo_fem_decoder_base::algo_fem_decoder_base(), algo_fixed_window::algo_fixed_window(), algo_slow_readout_decoder::algo_slow_readout_decoder(), algo_threshold::algo_threshold(), algo_tpc_huffman::algo_tpc_huffman(), algo_trig_decoder::algo_trig_decoder(), ana_base::ana_base(), ana_processor::ana_processor(), beamgate_debugger::beamgate_debugger(), bin_io_handler::bin_io_handler(), decoder_base::class_name(), led_pulse_analyzer::led_pulse_analyzer(), led_pulse_selector::led_pulse_selector(), pmt_slow_encoder::pmt_slow_encoder(), pmtbaseline::pmtbaseline(), pmtbaseline_ana::pmtbaseline_ana(), preco_algo_base::preco_algo_base(), pulse_analyzer::pulse_analyzer(), pulse_reco::pulse_reco(), pulse_selector_base(), pulse_selector_simple::pulse_selector_simple(), pulse_viewer::pulse_viewer(), reco_wf::reco_wf(), storage_manager::storage_manager(), and waveform_sampler::waveform_sampler().

DATA_STRUCT::DATA_TYPE pulse_selector_base::_pulse_type [protected]

Definition at line 51 of file pulse_selector_base.hh.

Referenced by led_pulse_selector::analyze(), led_pulse_selector::led_pulse_selector(), pulse_selector_base(), pulse_type(), and set_pulse_type().

bool decoder_base::_verbosity[MSG::MSG_TYPE_MAX] [protected, inherited]

holder for enabled message levels

Definition at line 51 of file decoder_base.hh.

Referenced by reco_wf::analyze(), algo_slow_readout_decoder::check_event_quality(), storage_manager::close(), decoder_manager::decode(), algo_slow_readout_decoder::decode_ch_word(), algo_pmt_xmit::decode_ch_word(), algo_slow_readout_decoder::decode_event_header(), algo_fem_decoder_base::decode_fem_header(), algo_trig_decoder::decode_trigger_words(), decoder_manager::finalize(), beamgate_debugger::finalize(), ana_processor::finalize(), decoder_manager::initialize(), beamgate_debugger::initialize(), ana_processor::initialize(), storage_manager::open(), beamgate_debugger::prepare_histo(), storage_manager::prepare_tree(), algo_tpc_xmit::process_ch_word(), algo_tpc_huffman::process_ch_word(), algo_slow_readout_decoder::process_ch_word(), algo_pmt_xmit::process_ch_word(), algo_tpc_xmit::process_event_last_word(), algo_pmt_xmit::process_event_last_word(), algo_fem_decoder_base::process_fem_header(), algo_pmt_xmit::process_fem_last_word(), algo_xmit_decoder::process_header(), algo_slow_readout_decoder::process_header(), algo_fem_decoder_base::process_word(), bin_io_handler::read_multi_word(), storage_manager::reset(), beamgate_debugger::reset(), ana_processor::reset(), decoder_manager::run(), ana_processor::run(), decoder_base::set_verbosity(), algo_tpc_xmit::store_event(), and algo_pmt_xmit::store_event().

MSG::Level decoder_base::_verbosity_level [protected, inherited]

holder for specified verbosity level

Definition at line 52 of file decoder_base.hh.

Referenced by pulse_viewer::analyze(), decoder_base::get_verbosity(), pulse_viewer::initialize(), decoder_manager::initialize(), ana_processor::initialize(), bin_io_handler::read_multi_word(), bin_io_handler::read_word(), and decoder_base::set_verbosity().


The documentation for this class was generated from the following files:
Generated on Mon Apr 7 15:35:13 2014 for MyProject by  doxygen 1.4.7