/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/eformat/eformat-00-00-04/eformat/old/RODFragment.h

Go to the documentation of this file.
00001 //Dear emacs, this is -*- c++ -*-
00002 
00014 #ifndef EFORMAT_OLD_RODFRAGMENT_H
00015 #define EFORMAT_OLD_RODFRAGMENT_H
00016 
00017 #include <stdint.h>
00018 #include <cstdlib>
00019 
00020 namespace eformat {
00021 
00022   namespace old {
00023 
00032     class RODFragment {
00033 
00034     public: //interface
00035 
00043       RODFragment (const uint32_t* it, size_t size_word);
00044 
00048       virtual ~RODFragment() {}
00049 
00053       virtual bool check () const;
00054 
00058       inline uint32_t marker() const { return m_start[0]; }
00059 
00063       uint32_t fragment_size_word() const;
00064 
00069       inline uint32_t header_size_word() const { return m_start[1]; }
00070 
00074       inline uint32_t trailer_size_word() const { return 3; }
00075 
00079       inline uint32_t version() const { return m_start[2]; }
00080 
00084       inline uint32_t source_id() const { return m_start[3]; }
00085 
00089       inline uint32_t run_no() const { return m_start[4]; }
00090 
00094       inline uint32_t lvl1_id() const { return m_start[5]; }
00095 
00099       inline uint32_t bc_id() const { return m_start[6]; }
00100 
00104       inline uint32_t lvl1_trigger_type() const { return m_start[7]; }
00105 
00109       inline uint32_t detev_type() const { return m_start[8]; }
00110 
00114       inline uint32_t nstatus () const { return m_start[m_size-3]; }
00115     
00120       const uint32_t* status (void) const;
00121 
00125       inline uint32_t ndata () const { return m_start[m_size-2]; }
00126 
00130       const uint32_t* data (void) const;
00131 
00137       inline uint32_t status_position () const { return m_start[m_size-1]; }
00138 
00139     private: //representation
00140 
00141       const uint32_t* m_start; 
00142       size_t m_size; 
00143 
00144     };
00145 
00146   }
00147 
00148 }
00149 
00150 #endif /* EFORMAT_OLD_RODFRAGMENT_H */

Generated on Tue Nov 29 22:58:25 2016 for BOSS_7.0.2 by  doxygen 1.4.7