14#ifndef EFORMAT_ROBFRAGMENT_H
15#define EFORMAT_ROBFRAGMENT_H
29 template <
class TPo
inter>
48 :
Header<TPointer>(other), m_start(other.m_start) {}
78 virtual bool check ()
const;
88 inline uint32_t
rod_marker()
const {
return m_start[0]; }
130 inline uint32_t
rod_bc_id()
const {
return m_start[6]; }
179 static const uint32_t NSPECIFIC;
189template <
class TPo
inter>
192template <
class TPo
inter>
199 ERS_DEBUG_1(
"Initialized header with source identifier = %s",
204 ERS_DEBUG_1(
"Initialized ROD header with source identifier = %s",
211 ERS_DEBUG_3(
"Re-building ROBFragment from pointer");
214 ERS_DEBUG_1(
"Initialized header with source identifier = %s",
219 ERS_DEBUG_1(
"Reinitialized header with source identifier = %s",
224template <
class TPo
inter>
228 ERS_DEBUG_2(
"Checking for consistency of ROBFragment [%s]",
235 ERS_DEBUG_2(
"Checking for consistency of RODFragment [%s]",
240 if ( rod_header_size_word() != 9 )
242 if ( rod_fragment_size_word() != 12 + rod_nstatus() + rod_ndata() )
244 (12 + rod_nstatus() + rod_ndata()));
248template <
class TPo
inter>
253 if (rod_status_position()) it += rod_ndata();
256template <
class TPo
inter>
261 if (!rod_status_position()) it += rod_nstatus();
Exception thrown when versions do not match.
#define EFORMAT_BAD_VERSION(current, supported)
When size checks do not match, this exception must be thrown.
#define EFORMAT_SIZE_CHECK(actual, informed)
Defines the wrong-marker exception, to be used when the wrong marker is found on the event stream.
#define EFORMAT_WRONG_MARKER(current, expected)