#include <RODFragment.h>
Public Member Functions | |
uint32_t | bc_id () const |
uint32_t | bc_id () const |
virtual bool | check () const |
virtual bool | check () const |
const uint32_t * | data (void) const |
const uint32_t * | data (void) const |
uint32_t | detev_type () const |
uint32_t | detev_type () const |
uint32_t | fragment_size_word () const |
uint32_t | fragment_size_word () const |
uint32_t | header_size_word () const |
uint32_t | header_size_word () const |
uint32_t | lvl1_id () const |
uint32_t | lvl1_id () const |
uint32_t | lvl1_trigger_type () const |
uint32_t | lvl1_trigger_type () const |
uint32_t | marker () const |
uint32_t | marker () const |
uint32_t | ndata () const |
uint32_t | ndata () const |
uint32_t | nstatus () const |
uint32_t | nstatus () const |
RODFragment (const uint32_t *it, size_t size_word) | |
RODFragment (const uint32_t *it, size_t size_word) | |
uint32_t | run_no () const |
uint32_t | run_no () const |
uint32_t | source_id () const |
uint32_t | source_id () const |
const uint32_t * | status (void) const |
const uint32_t * | status (void) const |
uint32_t | status_position () const |
uint32_t | status_position () const |
uint32_t | trailer_size_word () const |
uint32_t | trailer_size_word () const |
uint32_t | version () const |
uint32_t | version () const |
virtual | ~RODFragment () |
virtual | ~RODFragment () |
Private Attributes | |
size_t | m_size |
my total size, in number of words | |
const uint32_t * | m_start |
my end word | |
const uint32_t * | m_start |
my end word |
|
To build a header given the containing buffer. I need to know where the header starts in order to do that.
00023 : m_start(it), 00024 m_size(size_word) 00025 { 00026 uint32_t m = marker(); 00027 if (m != eformat::ROD) throw EFORMAT_WRONG_MARKER(m, eformat::ROD); 00028 }
|
|
Destructor virtualisation 00048 {}
|
|
To build a header given the containing buffer. I need to know where the header starts in order to do that.
|
|
Destructor virtualisation 00048 {}
|
|
Returns the bunch crossing identifier 00099 { return m_start[6]; }
|
|
Returns the bunch crossing identifier 00099 { return m_start[6]; }
|
|
Says if the the header is valid. This may throw exceptions. |
|
Says if the the header is valid. This may throw exceptions. 00048 { 00049 if ( version() >> 16 != eformat::MAJOR_OLD_VERSION ) 00050 throw EFORMAT_BAD_VERSION(version() >> 16, eformat::MAJOR_OLD_VERSION); 00051 if ( header_size_word() != 9 ) 00052 throw EFORMAT_SIZE_CHECK(9, header_size_word()); 00053 if ( m_size != 12 + nstatus() + ndata() ) 00054 throw EFORMAT_SIZE_CHECK(m_size, (12 + nstatus() + ndata())); 00055 return true; 00056 }
|
|
Returns a pointer to the first data word |
|
Returns a pointer to the first data word 00042 { 00043 if (status_position() == eformat::STATUS_BACK) return &m_start[9]; 00044 return &m_start[9 + nstatus()]; 00045 }
|
|
Returns the detector event type 00109 { return m_start[8]; }
|
|
Returns the detector event type 00109 { return m_start[8]; }
|
|
Returns the total fragment size |
|
Returns the total fragment size 00031 { 00032 return header_size_word() + trailer_size_word() + nstatus() + ndata(); 00033 }
|
|
Returns the size, in words, of the current header. That does not include the trailer. 00069 { return m_start[1]; }
|
|
Returns the size, in words, of the current header. That does not include the trailer. 00069 { return m_start[1]; }
|
|
Returns the lvl1 identifier 00094 { return m_start[5]; }
|
|
Returns the lvl1 identifier 00094 { return m_start[5]; }
|
|
Returns the lvl1 trigger type 00104 { return m_start[7]; }
|
|
Returns the lvl1 trigger type 00104 { return m_start[7]; }
|
|
Returns the fragment type. 00058 { return m_start[0]; }
|
|
Returns the fragment type. 00058 { return m_start[0]; }
|
|
Returns the number of data words available
|
|
Returns the number of data words available
|
|
Returns the number of status words available
|
|
Returns the number of status words available
|
|
Returns the current run number. 00089 { return m_start[4]; }
|
|
Returns the current run number. 00089 { return m_start[4]; }
|
|
Returns the full source identifier. 00084 { return m_start[3]; }
|
|
Returns the full source identifier. 00084 { return m_start[3]; }
|
|
Returns the status words, as an iterator to the status words available. |
|
Returns the status words, as an iterator to the status words available. 00036 { 00037 if (status_position() == eformat::STATUS_FRONT) return &m_start[9]; 00038 return &m_start[9 + ndata()]; 00039 }
|
|
Returns the status block position. A value of
|
|
Returns the status block position. A value of
|
|
Returns the size, in words, of the trailer 00074 { return 3; }
|
|
Returns the size, in words, of the trailer 00074 { return 3; }
|
|
Returns the formatting version. 00079 { return m_start[2]; }
|
|
Returns the formatting version. 00079 { return m_start[2]; }
|
|
my total size, in number of words
|
|
my end word
|
|
my end word
|