algo_trig_decoder.hh

Go to the documentation of this file.
00001 
00015 #ifndef ALGO_TRIG_DECODER
00016 #define ALGO_TRIG_DECODER
00017 
00018 #include <sstream>
00019 #include "algo_base.hh"
00020 
00025 class algo_trig_decoder : public algo_base {
00026 
00027 public:
00028 
00030   algo_trig_decoder();
00031 
00033   virtual ~algo_trig_decoder(){}; 
00034   
00036 
00039   virtual bool process_word(const PMT::word_t word);
00040 
00043   virtual bool check_event_quality();
00044 
00046   void clear_event_info();
00047 
00049   virtual void reset();
00050 
00052   virtual bool is_event_empty(){
00053     if(_data) return (_data->trig_id()==PMT::INVALID_WORD);
00054     else return true;
00055   };
00056 
00057 protected:
00058 
00059   bool decode_trigger_words(PMT::word_t *trigger_words);
00060 
00061   static const size_t TRIGGER_WORD_COUNT=4;
00062   static const UInt_t TRIGGER_LAST_WORD=0xffffffff;
00063   trig_info *_data;
00064 
00065   UInt_t _nevents;
00066   UInt_t _last_event_id;
00067   size_t _trigger_word_count;
00068   PMT::word_t _trigger_words[TRIGGER_WORD_COUNT];
00069 
00070 };
00071 #endif
00072  // end of doxygen group

Generated on Mon Apr 7 15:35:12 2014 for MyProject by  doxygen 1.4.7