bin_word_search Class Reference

#include <bin_word_search.hh>

Inheritance diagram for bin_word_search:

decoder_base List of all members.

Public Types

 INT
 SHORT
enum  WORD_BYTES { INT, SHORT }

Public Member Functions

 bin_word_search ()
 ~bin_word_search ()
void set_target_word (PMT::word_t word)
void set_filename (std::string name)
void set_continue_mode (bool mode)
void set_format (FORMAT::INPUT_FILE fmt)
void set_nwords (size_t n)
void set_word_bytes (WORD_BYTES bytes)
bool run ()
void print_words (std::deque< PMT::word_t > *words)
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

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

Private Attributes

bin_io_handler _fin
PMT::word_t _target
bool _continue_mode
size_t _nwords
WORD_BYTES _bytes

Detailed Description

Definition at line 9 of file bin_word_search.hh.


Member Enumeration Documentation

enum bin_word_search::WORD_BYTES

Enumerator:
INT 
SHORT 

Definition at line 15 of file bin_word_search.hh.

00015 {INT, SHORT};


Constructor & Destructor Documentation

bin_word_search::bin_word_search (  ) 

Definition at line 6 of file bin_word_search.cc.

References _bytes, _continue_mode, _nwords, _target, PMT::INVALID_WORD, and SHORT.

00006                                 {
00007 
00008   _continue_mode = false;
00009   _target = PMT::INVALID_WORD;
00010   _nwords=20;
00011   _bytes = SHORT;
00012 }

bin_word_search::~bin_word_search (  )  [inline]

Definition at line 13 of file bin_word_search.hh.

00013 {};


Member Function Documentation

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;};

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;};

void bin_word_search::print_words ( std::deque< PMT::word_t > *  words  ) 

Definition at line 96 of file bin_word_search.cc.

References _bytes, _target, and INT.

Referenced by run().

00096                                                            {
00097 
00098   int output_word_counter = 0;
00099   std::string msg;
00100   for(std::deque<PMT::word_t>::const_iterator iter(words->begin());
00101       iter != words->end();
00102       ++iter){
00103     
00104     if((*iter) == _target)
00105       msg += "\033[95m";
00106     
00107     if(_bytes == INT) msg += Form("%08x ",(*iter));
00108     else              msg += Form("%04x ",(*iter));
00109     
00110     if((*iter) == _target)
00111       msg += "\033[0m";
00112     
00113     output_word_counter++;
00114 
00115     if(output_word_counter%8 == 0)
00116       msg+="\n";
00117   }
00118 
00119   std::cout<<msg.c_str()<<std::endl<<std::endl;
00120 
00121 }

bool bin_word_search::run (  ) 

Definition at line 14 of file bin_word_search.cc.

References _bytes, _continue_mode, _fin, _nwords, _target, bin_io_handler::eof(), MSG::ERROR, INT, bin_io_handler::is_open(), bin_io_handler::open(), print_words(), bin_io_handler::read_word(), and decoder_base::set_verbosity().

00014                          {
00015 
00016   _fin.set_verbosity(MSG::ERROR);
00017   _fin.open();
00018   
00019   if(!_fin.is_open()) return false;
00020 
00021   PMT::word_t word1,word2;
00022 
00023   const size_t max_nwords = _nwords*2+1;
00024 
00025   std::deque<PMT::word_t> words(max_nwords);
00026 
00027   size_t total_word_counter = 0;
00028   size_t after_word_counter = 0;
00029   
00030   while(1){
00031 
00032     word1 = _fin.read_word();
00033 
00034     if(_fin.eof()) break;
00035 
00036     if(total_word_counter >= max_nwords)
00037       words.pop_front();
00038 
00039     if(_bytes == INT){
00040 
00041       words.push_back(word1);
00042 
00043       total_word_counter++;
00044 
00045       if(word1 == _target || after_word_counter>0)
00046     after_word_counter++;
00047 
00048       if(after_word_counter == (_nwords+1)) {
00049     if(!_continue_mode) break;
00050     else{
00051       print_words(&words);
00052       after_word_counter = 0;
00053     }
00054       }
00055     }
00056     else {
00057       
00058       word2 = (word1>>16);
00059       word1 = (word1 & 0xffff);
00060 
00061       words.push_back(word1);
00062       total_word_counter++;
00063       
00064       if(word1 == _target || after_word_counter>0)
00065     after_word_counter++;
00066 
00067       if(after_word_counter == (_nwords+1)) {
00068     if(!_continue_mode) break;
00069     else{
00070       print_words(&words);
00071       after_word_counter = 0;
00072     }
00073       }
00074 
00075       words.push_back(word2);
00076       total_word_counter++;
00077       if(word2 == _target || after_word_counter>0)
00078     after_word_counter++;
00079 
00080       if(after_word_counter == (_nwords+1)) {
00081     if(!_continue_mode) break;
00082     else{
00083       print_words(&words);
00084       after_word_counter = 0;
00085     }
00086       }
00087     }
00088     
00089   }
00090 
00091   if(after_word_counter) print_words(&words);
00092 
00093   return true;
00094 }

void bin_word_search::set_continue_mode ( bool  mode  )  [inline]

Definition at line 21 of file bin_word_search.hh.

References _continue_mode.

00021 {_continue_mode=mode;};

void bin_word_search::set_filename ( std::string  name  )  [inline]

Definition at line 19 of file bin_word_search.hh.

References _fin, and bin_io_handler::set_filename().

00019 {_fin.set_filename(name);};

void bin_word_search::set_format ( FORMAT::INPUT_FILE  fmt  )  [inline]

Definition at line 23 of file bin_word_search.hh.

References _fin, and bin_io_handler::set_format().

00023 {_fin.set_format(fmt);};

void bin_word_search::set_nwords ( size_t  n  )  [inline]

Definition at line 25 of file bin_word_search.hh.

References _nwords.

00025 {_nwords=n;};

void bin_word_search::set_target_word ( PMT::word_t  word  )  [inline]

Definition at line 17 of file bin_word_search.hh.

References _target.

00017 {_target=word;};

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(), 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 }

void bin_word_search::set_word_bytes ( WORD_BYTES  bytes  )  [inline]

Definition at line 27 of file bin_word_search.hh.

References _bytes.

00027 {_bytes=bytes;};


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().

WORD_BYTES bin_word_search::_bytes [private]

Definition at line 39 of file bin_word_search.hh.

Referenced by bin_word_search(), print_words(), run(), and set_word_bytes().

bool bin_word_search::_continue_mode [private]

Definition at line 37 of file bin_word_search.hh.

Referenced by bin_word_search(), run(), and set_continue_mode().

bin_io_handler bin_word_search::_fin [private]

Definition at line 35 of file bin_word_search.hh.

Referenced by run(), set_filename(), and set_format().

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_base(), pulse_selector_simple::pulse_selector_simple(), pulse_viewer::pulse_viewer(), reco_wf::reco_wf(), storage_manager::storage_manager(), and waveform_sampler::waveform_sampler().

size_t bin_word_search::_nwords [private]

Definition at line 38 of file bin_word_search.hh.

Referenced by bin_word_search(), run(), and set_nwords().

PMT::word_t bin_word_search::_target [private]

Definition at line 36 of file bin_word_search.hh.

Referenced by bin_word_search(), print_words(), run(), and set_target_word().

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