#include <Header.h>
Public Member Functions | |
Header (const TPointer &it, uint32_t match) | |
Header () | |
Header (const Header &other) | |
virtual | ~Header () |
Header & | operator= (const Header &other) |
Header & | assign (const TPointer &it, uint32_t match) |
virtual bool | check () const |
uint32_t | marker () const |
uint32_t | fragment_size_word () const |
uint32_t | header_size_word () const |
uint32_t | version () const |
uint32_t | source_id () const |
uint32_t | nstatus () const |
void | start (TPointer &it) const |
void | payload (TPointer &it) const |
void | end (TPointer &it) const |
uint32_t | payload_size_word (void) const |
void | status (TPointer &it) const |
uint32_t | nspecific () const |
void | specific_header (TPointer &it) const |
virtual uint32_t | nchildren () const |
virtual void | child (TPointer &p, size_t n) const |
virtual void | child_check (TPointer &p, size_t n) const |
virtual uint32_t | children (TPointer *p, size_t max) const |
Contains the information on the Header of a fragment as described by the original note. The header is a composite entity, build from two parts:
eformat::Header< TPointer >::Header | ( | const TPointer & | it, |
uint32_t | match ) |
To build a header given the containing buffer. I need to know where the header starts in order to do that.
it | The exact position where this header should start. |
match | The word that this header should match. |
Definition at line 224 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::FullEventFragment(), eformat::FullEventFragment< const uint32_t * >::FullEventFragment(), eformat::FullEventFragment< const uint32_t * >::FullEventFragment(), Header(), operator=(), eformat::ROBFragment< TPointer >::ROBFragment(), eformat::ROBFragment< TPointer >::ROBFragment(), eformat::ROBFragment< TPointer >::ROBFragment(), eformat::ROSFragment< TPointer >::ROSFragment(), eformat::ROSFragment< TPointer >::ROSFragment(), eformat::ROSFragment< TPointer >::ROSFragment(), eformat::SubDetectorFragment< TPointer >::SubDetectorFragment(), eformat::SubDetectorFragment< const uint32_t * >::SubDetectorFragment(), and eformat::SubDetectorFragment< const uint32_t * >::SubDetectorFragment().
|
inline |
|
inline |
|
inlinevirtual |
eformat::Header< TPointer > & eformat::Header< TPointer >::assign | ( | const TPointer & | it, |
uint32_t | match ) |
Reassign this header
it | The exact position where this header should start. |
match | The word that this header should match. |
Definition at line 236 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::assign(), eformat::ROBFragment< TPointer >::assign(), eformat::ROSFragment< TPointer >::assign(), and eformat::SubDetectorFragment< TPointer >::assign().
|
virtual |
Says if the generic part of the header is valid. This may throw exceptions.
Reimplemented in eformat::FullEventFragment< TPointer >, eformat::FullEventFragment< const uint32_t * >, eformat::FullEventFragment< const uint32_t * >, eformat::ROBFragment< TPointer >, eformat::ROSFragment< TPointer >, eformat::SubDetectorFragment< TPointer >, eformat::SubDetectorFragment< const uint32_t * >, and eformat::SubDetectorFragment< const uint32_t * >.
Definition at line 249 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::check(), eformat::ROBFragment< TPointer >::check(), eformat::ROSFragment< TPointer >::check(), and eformat::SubDetectorFragment< TPointer >::check().
|
virtual |
Returns the nth child fragment. If the nth fragment doesn't exist, the behaviour is undefined.
p | A preallocated pointer you should provide. |
n | The fragment position, starting at zero, of the child fragment you would like to get. |
Definition at line 272 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::check_tree(), eformat::ROSFragment< TPointer >::check_tree(), eformat::SubDetectorFragment< TPointer >::check_tree(), and child_check().
|
virtual |
Returns the nth child fragment. If the nth fragment doesn't exist, an exception is thrown.
p | A preallocated pointer you should provide. |
n | The fragment position, starting at zero, of the child fragment you would like to get. |
Definition at line 285 of file Header.h.
|
virtual |
Returns all the children of this fragment. The input to this method is a valid set of iterators to existing, pre-allocated pointers
p | A pointer to a set of preallocated TPointer's to set to the position of the children of this fragment. |
max | The maximum number of children, p can point to. |
Definition at line 293 of file Header.h.
Referenced by components(), eformat::get_robs(), main(), and nchildren().
|
inline |
|
inline |
Returns the size, in words, of the current fragment.
Definition at line 100 of file Header.h.
Referenced by children(), end(), EFEventLoopMgr::executeEvent(), and payload_size_word().
|
inline |
Returns the size, in words, of the current header. That does include the specific part of the header.
Definition at line 106 of file Header.h.
Referenced by check(), payload(), and payload_size_word().
|
inline |
Returns the fragment type.
Definition at line 95 of file Header.h.
Referenced by assign(), check(), child(), children(), Header(), and nchildren().
|
virtual |
Returns the number of children available.
Definition at line 263 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::check_tree(), eformat::ROSFragment< TPointer >::check_tree(), eformat::SubDetectorFragment< TPointer >::check_tree(), child_check(), components(), and EFEventLoopMgr::executeEvent().
|
inline |
Returns the number of specific words available in the specific header part
Definition at line 164 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::check(), check(), eformat::ROBFragment< TPointer >::check(), eformat::ROSFragment< TPointer >::check(), eformat::SubDetectorFragment< TPointer >::check(), and RawDataInputSvc::nextEvent().
|
inline |
Returns the number of status words available
Definition at line 121 of file Header.h.
Referenced by check(), nspecific(), and specific_header().
|
inline |
Assigment operator
other | The other header to assign from |
Definition at line 75 of file Header.h.
Referenced by eformat::FullEventFragment< const uint32_t * >::operator=(), eformat::ROBFragment< TPointer >::operator=(), eformat::ROSFragment< TPointer >::operator=(), and eformat::SubDetectorFragment< const uint32_t * >::operator=().
|
inline |
Sets the pointer to where the payload starts
it | The pointer to set |
Definition at line 135 of file Header.h.
Referenced by child(), and children().
|
inline |
Returns the payload size
Definition at line 149 of file Header.h.
Referenced by children(), eformat::ROBFragment< TPointer >::rod_fragment_size_word(), eformat::ROBFragment< TPointer >::rod_ndata(), eformat::ROBFragment< TPointer >::rod_nstatus(), and eformat::ROBFragment< TPointer >::rod_status_position().
|
inline |
Returns the full source identifier.
Definition at line 116 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::assign(), eformat::ROBFragment< TPointer >::assign(), eformat::ROSFragment< TPointer >::assign(), eformat::SubDetectorFragment< TPointer >::assign(), check(), eformat::ROBFragment< TPointer >::check(), child(), eformat::get_robs(), nchildren(), RawDataInputSvc::nextEvent(), and eformat::ROBFragment< TPointer >::ROBFragment().
|
inline |
Returns an iterator to the start of the specific header part (this does not include the number of specific header fragments)
it | An updateable iterator you should provide. |
Definition at line 172 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::assign(), eformat::ROSFragment< TPointer >::assign(), eformat::SubDetectorFragment< TPointer >::assign(), eformat::FullEventFragment< TPointer >::FullEventFragment(), RawDataInputSvc::nextEvent(), eformat::ROBFragment< TPointer >::ROBFragment(), eformat::ROSFragment< TPointer >::ROSFragment(), and eformat::SubDetectorFragment< TPointer >::SubDetectorFragment().
|
inline |
|
inline |
|
inline |