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

Go to the documentation of this file.
00001 //Dear emacs, this is -*- c++ -*-
00002 
00015 #ifndef EFORMAT_OLD_HEADER_H
00016 #define EFORMAT_OLD_HEADER_H
00017 
00018 #include <stdint.h>
00019 #include <cstdlib>
00020 
00021 namespace eformat {
00022 
00028   namespace old {
00029 
00040     class Header {
00041 
00042     public:
00043    
00051       Header (const uint32_t* it, uint32_t match);
00052 
00056       virtual ~Header() {}
00057 
00062       virtual bool check () const;
00063 
00067       inline uint32_t marker() const { return m_start[0]; }
00068 
00072       inline uint32_t fragment_size_word() const { return m_start[1]; }
00073 
00078       inline uint32_t header_size_word() const { return m_start[2]; }
00079 
00083       inline uint32_t version() const { return m_start[3]; }
00084 
00088       inline uint32_t source_id() const { return m_start[4]; }
00089 
00093       inline uint32_t run_no() const { return m_start[5]; }
00094 
00098       inline uint32_t nstatus () const { return m_start[6]; }
00099 
00104       inline const uint32_t* status () const { return &m_start[7]; }
00105 
00110       inline uint32_t noffset () const { return m_start[7 + nstatus()]; }
00111 
00116       inline const uint32_t* offset (void) const 
00117       { return &m_start[8 + nstatus()]; }
00118 
00123       inline uint32_t nspecific () const
00124       { return m_start[8 + nstatus() + noffset()]; }
00125 
00130       inline const uint32_t* specific_header (void) const
00131       { return &m_start[9 + nstatus() + noffset()]; }
00132 
00140       const uint32_t* child (size_t n) const;
00141 
00142     private: 
00143 
00144       const uint32_t* m_start; 
00145 
00146     };
00147 
00148   }
00149 
00150 }
00151 
00152 #endif //EFORMAT_OLD_HEADER_H

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