CGEM BOSS 6.6.5.g
BESIII Offline Software System
|
#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.
|
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::ROBFragment< TPointer >, eformat::ROSFragment< TPointer >, and eformat::SubDetectorFragment< TPointer >.
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. |
|
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. |
|
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 RawDataInputSvc::nextEvent().
|
inline |
Sets the pointer to one-past my end position
it | The pointer to set |
Definition at line 143 of file Header.h.
|
inline |
Returns the size, in words, of the current fragment.
Definition at line 100 of file Header.h.
Referenced by eformat::Header< TPointer >::end(), EFEventLoopMgr::executeEvent(), MixerAlg::nextEvent(), and eformat::Header< TPointer >::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 eformat::Header< TPointer >::payload(), and eformat::Header< TPointer >::payload_size_word().
|
inline |
Returns the fragment type.
Definition at line 95 of file Header.h.
Referenced by eformat::Header< TPointer >::Header().
|
virtual |
Returns the number of children available.
Definition at line 263 of file Header.h.
Referenced by components(), EFEventLoopMgr::executeEvent(), and MixerAlg::nextEvent().
|
inline |
Returns the number of specific words available in the specific header part
Definition at line 164 of file Header.h.
Referenced by RawDataInputSvc::nextEvent().
|
inline |
Returns the number of status words available
Definition at line 121 of file Header.h.
Referenced by eformat::Header< TPointer >::nspecific(), and eformat::Header< TPointer >::specific_header().
|
inline |
Assigment operator
other | The other header to assign from |
Definition at line 75 of file Header.h.
Referenced by eformat::FullEventFragment< TPointer >::operator=(), eformat::ROBFragment< TPointer >::operator=(), eformat::ROSFragment< TPointer >::operator=(), and eformat::SubDetectorFragment< TPointer >::operator=().
|
inline |
Sets the pointer to where the payload starts
it | The pointer to set |
Definition at line 135 of file Header.h.
|
inline |
Returns the payload size
Definition at line 149 of file Header.h.
Referenced by 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::get_robs(), 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 >::FullEventFragment(), RawDataInputSvc::nextEvent(), eformat::ROBFragment< TPointer >::ROBFragment(), eformat::ROSFragment< TPointer >::ROSFragment(), and eformat::SubDetectorFragment< TPointer >::SubDetectorFragment().
|
inline |
|
inline |
|
inline |