#include <pmt_slow_encoder.hh>
Inheritance diagram for pmt_slow_encoder:

Public Member Functions | |
| pmt_slow_encoder () | |
| Default constructor. | |
| virtual | ~pmt_slow_encoder () |
| Default destructor. | |
| virtual bool | initialize () |
| IMPLEMENT in Name.cc! Initialization method to be called before the analysis event loop. | |
| virtual bool | analyze (storage_manager *storage) |
| IMPLEMENT in Name.cc! Analyze a data event-by-event. | |
| virtual bool | finalize () |
| IMPLEMENT in Name.cc! Finalize method to be called after all events processed. | |
| void | set_mode (bin_io_handler::MODE mode) |
| void | set_filename (std::string name) |
| virtual PMT::word_t | format (PMT::PMT_WORD type, PMT::word_t word=0x0) const |
| 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 Member Functions | |
| virtual void | encode_event_header (const pmt_wf_collection *data) |
| virtual void | encode_ch_word (const pmt_wf_collection *data) |
Protected Attributes | |
| bin_io_handler | _bin_file |
| PMT::word_t | _words [60000] |
| uint16_t | _index |
| 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 | |
Definition at line 26 of file pmt_slow_encoder.hh.
| pmt_slow_encoder::pmt_slow_encoder | ( | ) | [inline] |
Default constructor.
Definition at line 31 of file pmt_slow_encoder.hh.
References ana_base::_fout, and decoder_base::_name.
| virtual pmt_slow_encoder::~pmt_slow_encoder | ( | ) | [inline, virtual] |
| bool pmt_slow_encoder::analyze | ( | storage_manager * | storage | ) | [virtual] |
IMPLEMENT in Name.cc! Analyze a data event-by-event.
Implements ana_base.
Definition at line 16 of file pmt_slow_encoder.cc.
References _bin_file, _index, _words, encode_ch_word(), encode_event_header(), storage_manager::get_data(), DATA_STRUCT::PMT_WF_COLLECTION, and bin_io_handler::write_multi_word().
00016 { 00017 00018 _index=0; 00019 00020 pmt_wf_collection *data = (pmt_wf_collection*)(storage->get_data(DATA_STRUCT::PMT_WF_COLLECTION)); 00021 00022 encode_event_header(data); 00023 encode_ch_word(data); 00024 00025 _bin_file.write_multi_word(_words,_index+1); 00026 _index=0; 00027 return true; 00028 }
| 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;};
| void pmt_slow_encoder::encode_ch_word | ( | const pmt_wf_collection * | data | ) | [protected, virtual] |
Definition at line 69 of file pmt_slow_encoder.cc.
Referenced by analyze().
00069 { 00070 00071 00072 for(pmt_wf_collection::const_iterator iter(data->begin()); 00073 iter!=data->end(); 00074 ++iter){ 00075 00076 00077 00078 } 00079 00080 }
| void pmt_slow_encoder::encode_event_header | ( | const pmt_wf_collection * | data | ) | [protected, virtual] |
Definition at line 30 of file pmt_slow_encoder.cc.
References _index, _words, pmt_wf_collection::checksum(), pmt_wf_collection::event_frame_id(), pmt_wf_collection::event_id(), PMT::FEM_HEADER, format(), pmt_wf_collection::module_address(), pmt_wf_collection::module_id(), pmt_wf_collection::nwords(), pmt_wf_collection::trigger_frame_id(), and pmt_wf_collection::trigger_timeslice().
Referenced by analyze().
00030 { 00031 00032 // (1) First 32-bit word include module address and id 00033 _words[_index] = (format(PMT::FEM_HEADER, 00034 ((data->module_id())<<5) + data->module_address()))<<16; 00035 _words[_index] += format(PMT::FEM_HEADER,0xfff); 00036 _index++; 00037 00038 // (2) Second 32-bit word include word counts 00039 _words[_index] = format(PMT::FEM_HEADER,(data->nwords())>>12); 00040 _words[_index] += (format(PMT::FEM_HEADER,(data->nwords()) & 0xfff))<<16; 00041 _index++; 00042 00043 // (3) Third 32-bit word include event number 00044 _words[_index] = format(PMT::FEM_HEADER,(data->event_id())>>12); 00045 _words[_index] += (format(PMT::FEM_HEADER,(data->event_id()) & 0xfff))<<16; 00046 _index++; 00047 00048 // (4) Forth 32-bit word include frame number 00049 _words[_index] = format(PMT::FEM_HEADER,(data->event_frame_id())>>12); 00050 _words[_index] += (format(PMT::FEM_HEADER,(data->event_frame_id()) & 0xfff))<<16; 00051 _index++; 00052 00053 // (5) Fifth 32-bit word include checksum 00054 _words[_index] = format(PMT::FEM_HEADER, 00055 (data->checksum())>>12); 00056 _words[_index] += (format(PMT::FEM_HEADER, 00057 (data->checksum()) & 0xfff))<<16; 00058 _index++; 00059 00060 // (6) Six-th 32-bit word include trigger info 00061 _words[_index] = (format(PMT::FEM_HEADER, 00062 (data->trigger_timeslice()) & 0xff))<<16; 00063 _words[_index] += format(PMT::FEM_HEADER, 00064 (((data->trigger_frame_id()) & 0xf)<<4) + ((data->trigger_timeslice() & 0xffff)>>8)); 00065 _index++; 00066 00067 }
| bool pmt_slow_encoder::finalize | ( | ) | [virtual] |
IMPLEMENT in Name.cc! Finalize method to be called after all events processed.
Implements ana_base.
Definition at line 82 of file pmt_slow_encoder.cc.
References _bin_file, and bin_io_handler::close().
| virtual PMT::word_t pmt_slow_encoder::format | ( | PMT::PMT_WORD | type, | |
| PMT::word_t | word = 0x0 | |||
| ) | const [inline, virtual] |
Definition at line 55 of file pmt_slow_encoder.hh.
References PMT::CHANNEL_HEADER, PMT::CHANNEL_LAST_WORD, PMT::CHANNEL_WORD, PMT::EVENT_HEADER, PMT::EVENT_LAST_WORD, PMT::FEM_FIRST_WORD, PMT::FEM_HEADER, PMT::FEM_LAST_WORD, and PMT::UNDEFINED_WORD.
Referenced by encode_event_header().
00056 { 00057 switch(type){ 00058 case PMT::EVENT_HEADER: 00059 word = 0xffffffff; 00060 break; 00061 case PMT::FEM_HEADER: 00062 word = 0xf000 + (0xfff & word); 00063 break; 00064 case PMT::FEM_FIRST_WORD: 00065 word = 0x4000 + (0xfff & word); 00066 break; 00067 case PMT::CHANNEL_HEADER: 00068 word = 0x9000 + (0xfff & word); 00069 break; 00070 case PMT::CHANNEL_WORD: 00071 word = 0xa000 + (0xfff & word); 00072 break; 00073 case PMT::CHANNEL_LAST_WORD: 00074 word = 0xb000 + (0xfff & word); 00075 break; 00076 case PMT::FEM_LAST_WORD: 00077 word = 0xc000; 00078 break; 00079 case PMT::EVENT_LAST_WORD: 00080 word = 0xe000; 00081 break; 00082 case PMT::UNDEFINED_WORD: 00083 word = 0x0; 00084 } 00085 return word; 00086 };
| 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;};
| bool pmt_slow_encoder::initialize | ( | ) | [virtual] |
IMPLEMENT in Name.cc! Initialization method to be called before the analysis event loop.
Implements ana_base.
Definition at line 10 of file pmt_slow_encoder.cc.
References _bin_file, bin_io_handler::is_open(), and bin_io_handler::open().
| void pmt_slow_encoder::set_filename | ( | std::string | name | ) | [inline] |
Definition at line 53 of file pmt_slow_encoder.hh.
References _bin_file, and bin_io_handler::set_filename().
00053 {_bin_file.set_filename(name);};
| void pmt_slow_encoder::set_mode | ( | bin_io_handler::MODE | mode | ) | [inline] |
Definition at line 51 of file pmt_slow_encoder.hh.
References _bin_file, and bin_io_handler::set_mode().
| 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 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 }
bin_io_handler pmt_slow_encoder::_bin_file [protected] |
Definition at line 93 of file pmt_slow_encoder.hh.
Referenced by analyze(), finalize(), initialize(), set_filename(), and set_mode().
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(), pmtbaseline::pmtbaseline(), pmtbaseline_ana::pmtbaseline_ana(), pulse_selector_base::pulse_selector_base(), pulse_selector_simple::pulse_selector_simple(), waveform_sampler::sample_waveform(), ana_base::set_output_file(), and waveform_sampler::waveform_sampler().
uint16_t pmt_slow_encoder::_index [protected] |
Definition at line 95 of file pmt_slow_encoder.hh.
Referenced by analyze(), and encode_event_header().
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(), 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_base(), pulse_selector_simple::pulse_selector_simple(), pulse_viewer::pulse_viewer(), reco_wf::reco_wf(), storage_manager::storage_manager(), and waveform_sampler::waveform_sampler().
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().
PMT::word_t pmt_slow_encoder::_words[60000] [protected] |
Definition at line 94 of file pmt_slow_encoder.hh.
Referenced by analyze(), and encode_event_header().
1.4.7