00001 //Dear emacs, this is -*- c++ -*- 00002 00014 #ifndef EFORMAT_OLD_ROBFRAGMENT_H 00015 #define EFORMAT_OLD_ROBFRAGMENT_H 00016 00017 #include "eformat/old/Header.h" 00018 #include "eformat/old/RODFragment.h" 00019 00020 namespace eformat { 00021 00022 namespace old { 00023 00028 class ROBFragment : public eformat::old::Header { 00029 00030 public: //interface 00031 00038 ROBFragment (const uint32_t* it); 00039 00043 virtual ~ROBFragment() {} 00044 00048 virtual bool check () const; 00049 00053 bool check_tree () const; 00054 00058 inline uint32_t lvl1_id() const { return m_start[0]; } 00059 00063 inline uint32_t bc_id() const { return m_start[1]; } 00064 00068 inline uint32_t lvl1_trigger_type() const { return m_start[2]; } 00069 00073 inline uint32_t detev_type() const { return m_start[3]; } 00074 00082 eformat::old::RODFragment rod (size_t n) const; 00083 00084 private: //representation 00085 00086 const uint32_t* m_start; 00087 00088 }; 00089 00090 } 00091 00092 } 00093 00094 #endif /* EFORMAT_OLD_ROBFRAGMENT_H */