eformat::ROBFragment< TPointer > Class Template Reference

#include <ROBFragment.h>

Inheritance diagram for eformat::ROBFragment< TPointer >:

eformat::Header< TPointer > List of all members.

Public Member Functions

 ROBFragment (const TPointer &it)
 ROBFragment (const ROBFragment &other)
 ROBFragment ()
virtual ~ROBFragment ()
ROBFragmentoperator= (const ROBFragment &other)
ROBFragmentassign (const TPointer &it)
virtual bool check () const
bool check_tree () const
uint32_t rod_marker () const
uint32_t rod_fragment_size_word () const
uint32_t rod_header_size_word () const
uint32_t rod_trailer_size_word () const
uint32_t rod_version () const
uint32_t rod_source_id () const
uint32_t rod_run_no () const
uint32_t rod_lvl1_id () const
uint32_t rod_bc_id () const
uint32_t rod_lvl1_trigger_type () const
uint32_t rod_detev_type () const
uint32_t rod_nstatus () const
void rod_status (TPointer &it) const
uint32_t rod_ndata () const
void rod_data (TPointer &it) const
uint32_t rod_status_position () const
Headerassign (const TPointer &it, uint32_t match)
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

Private Attributes

TPointer m_start
 my last word

Static Private Attributes

static const uint32_t NSPECIFIC = 0

Detailed Description

template<class TPointer>
class eformat::ROBFragment< TPointer >

Describes how to access the contents of a subdetector fragment, as prescribed by the event format note.

Definition at line 30 of file ROBFragment.h.


Constructor & Destructor Documentation

template<class TPointer>
eformat::ROBFragment< TPointer >::ROBFragment ( const TPointer &  it  ) 

To build a fragment given the containing buffer. I need to know where the fragment starts in order to do that.

Parameters:
it The exact position where this fragment should start.

Definition at line 193 of file ROBFragment.h.

References EvtCyclic3::c_str(), EFORMAT_WRONG_MARKER, ERS_DEBUG_1, ERS_DEBUG_3, eformat::ROBFragment< TPointer >::m_start, eformat::ROD, eformat::ROBFragment< TPointer >::rod_marker(), eformat::ROBFragment< TPointer >::rod_source_id(), eformat::Header< TPointer >::source_id(), and eformat::Header< TPointer >::specific_header().

00194   : eformat::Header<TPointer>(it, eformat::ROB),
00195     m_start()
00196 {
00197   ERS_DEBUG_3("Building ROBFragment from pointer");
00198   specific_header(m_start);
00199   ERS_DEBUG_1("Initialized header with source identifier = %s",
00200               eformat::helper::SourceIdentifier(source_id()).human().c_str());
00201   ERS_DEBUG_3("Building underlying RODFragment");
00202   if (rod_marker() != eformat::ROD) 
00203     throw EFORMAT_WRONG_MARKER(rod_marker(), eformat::ROD);
00204   ERS_DEBUG_1("Initialized ROD header with source identifier = %s",
00205               eformat::helper::SourceIdentifier(rod_source_id()).human().c_str());
00206 }

template<class TPointer>
eformat::ROBFragment< TPointer >::ROBFragment ( const ROBFragment< TPointer > &  other  )  [inline]

Copy constructor

Parameters:
other The fragment to be copied

Definition at line 47 of file ROBFragment.h.

00048       : Header<TPointer>(other), m_start(other.m_start) {}

template<class TPointer>
eformat::ROBFragment< TPointer >::ROBFragment (  )  [inline]

Builds an empty, otherwise useless ROBFragment

Definition at line 53 of file ROBFragment.h.

00053 : Header<TPointer>(), m_start() {}

template<class TPointer>
virtual eformat::ROBFragment< TPointer >::~ROBFragment (  )  [inline, virtual]

Destructor virtualisation

Definition at line 58 of file ROBFragment.h.

00058 {}


Member Function Documentation

template<class TPointer>
eformat::Header< TPointer > & eformat::Header< TPointer >::assign ( const TPointer &  it,
uint32_t  match 
) [inherited]

Reassign this header

Parameters:
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.

References EvtCyclic3::c_str(), EFORMAT_WRONG_MARKER, ERS_DEBUG_1, ERS_DEBUG_3, eformat::Header< TPointer >::m_start, and eformat::Header< TPointer >::marker().

Referenced by eformat::SubDetectorFragment< TPointer >::assign(), eformat::ROSFragment< TPointer >::assign(), eformat::ROBFragment< TPointer >::assign(), and eformat::FullEventFragment< TPointer >::assign().

00237 {
00238   ERS_DEBUG_3("Rebuilding header 0x%x from iterator", match);
00239   m_start = it;
00240   if (marker() != match) {
00241     throw EFORMAT_WRONG_MARKER(marker(), match);
00242   }
00243   ERS_DEBUG_1("Re-initialized header with source identifier = %s",
00244               eformat::helper::SourceIdentifier(match).human().c_str());
00245   return *this;
00246 }

template<class TPointer>
eformat::ROBFragment< TPointer > & eformat::ROBFragment< TPointer >::assign ( const TPointer &  it  ) 

Manual re-assignment

Parameters:
it The position pointing the first word of this fragment

Definition at line 209 of file ROBFragment.h.

References eformat::Header< TPointer >::assign(), EvtCyclic3::c_str(), EFORMAT_WRONG_MARKER, ERS_DEBUG_1, ERS_DEBUG_3, eformat::ROBFragment< TPointer >::m_start, eformat::ROB, eformat::ROD, eformat::ROBFragment< TPointer >::rod_marker(), eformat::ROBFragment< TPointer >::rod_source_id(), eformat::Header< TPointer >::source_id(), and eformat::Header< TPointer >::specific_header().

00210 {
00211   ERS_DEBUG_3("Re-building ROBFragment from pointer");
00212   eformat::Header<TPointer>::assign(it, eformat::ROB);
00213   specific_header(m_start);
00214   ERS_DEBUG_1("Initialized header with source identifier = %s",
00215               eformat::helper::SourceIdentifier(source_id()).human().c_str());
00216   ERS_DEBUG_3("Re-building underlying RODFragment");
00217   if (rod_marker() != eformat::ROD) 
00218     throw EFORMAT_WRONG_MARKER(rod_marker(), eformat::ROD);
00219   ERS_DEBUG_1("Reinitialized header with source identifier = %s",
00220               eformat::helper::SourceIdentifier(rod_source_id()).human().c_str());
00221   return *this;
00222 }

template<class TPointer>
bool eformat::ROBFragment< TPointer >::check (  )  const [virtual]

Says if the the fragment is valid. This may throw exceptions.

Reimplemented from eformat::Header< TPointer >.

Definition at line 225 of file ROBFragment.h.

References EvtCyclic3::c_str(), eformat::Header< TPointer >::check(), EFORMAT_BAD_VERSION, EFORMAT_SIZE_CHECK, ERS_DEBUG_2, eformat::MAJOR_DEFAULT_VERSION, eformat::ROBFragment< TPointer >::NSPECIFIC, eformat::ROBFragment< TPointer >::rod_fragment_size_word(), eformat::ROBFragment< TPointer >::rod_header_size_word(), eformat::ROBFragment< TPointer >::rod_ndata(), eformat::ROBFragment< TPointer >::rod_nstatus(), eformat::ROBFragment< TPointer >::rod_source_id(), eformat::ROBFragment< TPointer >::rod_version(), and eformat::Header< TPointer >::source_id().

Referenced by eformat::ROBFragment< TPointer >::check_tree().

00226 {
00227   //ROB checking
00228   ERS_DEBUG_2("Checking for consistency of ROBFragment [%s]",
00229               eformat::helper::SourceIdentifier(source_id()).human().c_str());
00230   eformat::Header<TPointer>::check(); //< first do a generic check
00231   if (eformat::Header<TPointer>::nspecific() != NSPECIFIC)
00232     throw EFORMAT_SIZE_CHECK(NSPECIFIC, this->nspecific());
00233 
00234   //ROD checking
00235   ERS_DEBUG_2("Checking for consistency of RODFragment [%s]",
00236               eformat::helper::SourceIdentifier(rod_source_id()).human().c_str());
00237   if ( rod_version() >> 16 != eformat::MAJOR_DEFAULT_VERSION )
00238     throw EFORMAT_BAD_VERSION(rod_version() >> 16,
00239                               eformat::MAJOR_DEFAULT_VERSION);
00240   if ( rod_header_size_word() != 9 )
00241     throw EFORMAT_SIZE_CHECK(9, rod_header_size_word());
00242   if ( rod_fragment_size_word() != 12 + rod_nstatus() + rod_ndata() )
00243     throw EFORMAT_SIZE_CHECK(rod_fragment_size_word(), 
00244                              (12 + rod_nstatus() + rod_ndata()));
00245   return true;
00246 }

template<class TPointer>
bool eformat::ROBFragment< TPointer >::check_tree (  )  const [inline]

Says if the the fragment is valid. This may throw exceptions.

Definition at line 83 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::check().

Referenced by eformat::ROSFragment< TPointer >::check_tree().

00083 { check(); return true; }

template<class TPointer>
void eformat::Header< TPointer >::child ( TPointer &  p,
size_t  n 
) const [virtual, inherited]

Returns the nth child fragment. If the nth fragment doesn't exist, the behaviour is undefined.

Parameters:
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.

References EvtCyclic3::c_str(), ERS_DEBUG_2, ERS_DEBUG_3, genRecEmupikp::i, eformat::Header< TPointer >::marker(), eformat::marker2string(), next, eformat::Header< TPointer >::payload(), and eformat::Header< TPointer >::source_id().

Referenced by eformat::SubDetectorFragment< TPointer >::check_tree(), eformat::ROSFragment< TPointer >::check_tree(), eformat::FullEventFragment< TPointer >::check_tree(), and eformat::Header< TPointer >::child_check().

00273 {
00274   ERS_DEBUG_2("User asked for child %ud of fragment type %s [%s]", n,
00275               eformat::marker2string(marker()).c_str(),
00276               eformat::helper::SourceIdentifier(source_id()).human().c_str());
00277   TPointer next;
00278   payload(next);
00279   for (size_t i=0; i<n; ++i) next += next[1];
00280   ERS_DEBUG_3("Set user object");
00281   p = next;
00282 }

template<class TPointer>
void eformat::Header< TPointer >::child_check ( TPointer &  p,
size_t  n 
) const [virtual, inherited]

Returns the nth child fragment. If the nth fragment doesn't exist, an exception is thrown.

Warning:
Use this method with care, it is slower than the equivalent method that doesn't check.
Parameters:
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.

References eformat::Header< TPointer >::child(), EFORMAT_NO_SUCH_CHILD, eformat::Header< TPointer >::nchildren(), and showlog::total.

00286 {
00287   uint32_t total = nchildren();
00288   if (n >= total) throw EFORMAT_NO_SUCH_CHILD(n, total);
00289   child(p, n);
00290 }

template<class TPointer>
uint32_t eformat::Header< TPointer >::children ( TPointer *  p,
size_t  max 
) const [virtual, inherited]

Returns all the children of this fragment. The input to this method is a valid set of iterators to existing, pre-allocated pointers

Parameters:
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.
Returns:
The number of children found on this fragment

Definition at line 293 of file Header.h.

References eformat::child_marker(), EFORMAT_WRONG_SIZE, ERS_DEBUG_2, eformat::find_fragments(), eformat::Header< TPointer >::fragment_size_word(), eformat::Header< TPointer >::marker(), eformat::Header< TPointer >::payload(), and eformat::Header< TPointer >::payload_size_word().

Referenced by components(), eformat::get_robs(), eformat::Header< TPointer >::nchildren(), and RawDataInputSvc::nextEvent().

00294 {
00295   ERS_DEBUG_2("Retrieving all children...");
00296   TPointer payload_start;
00297   payload(payload_start);
00298   try {
00299     return find_fragments(child_marker(static_cast<HeaderMarker>(marker())),
00300                           payload_start, payload_size_word(), p, max);
00301   }
00302   catch (WrongMarkerIssue& ex) {
00303     //This normally means the fragment size is wrong...
00304     throw EFORMAT_WRONG_SIZE(fragment_size_word());
00305   }
00306   return 0;
00307 }

template<class TPointer>
void eformat::Header< TPointer >::end ( TPointer &  it  )  const [inline, inherited]

Sets the pointer to one-past my end position

Parameters:
it The pointer to set

Definition at line 143 of file Header.h.

References eformat::Header< TPointer >::fragment_size_word(), and eformat::Header< TPointer >::m_start.

00144     { it = m_start; it += fragment_size_word(); }

template<class TPointer>
uint32_t eformat::Header< TPointer >::fragment_size_word (  )  const [inline, inherited]

Returns the size, in words, of the current fragment.

Definition at line 100 of file Header.h.

References eformat::Header< TPointer >::m_start.

Referenced by eformat::Header< TPointer >::children(), eformat::Header< TPointer >::end(), EFEventLoopMgr::executeEvent(), MixerAlg::nextEvent(), and eformat::Header< TPointer >::payload_size_word().

00100 { return m_start[1]; }

template<class TPointer>
uint32_t eformat::Header< TPointer >::header_size_word (  )  const [inline, inherited]

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.

References eformat::Header< TPointer >::m_start.

Referenced by eformat::Header< TPointer >::check(), eformat::Header< TPointer >::payload(), and eformat::Header< TPointer >::payload_size_word().

00106 { return m_start[2]; }

template<class TPointer>
uint32_t eformat::Header< TPointer >::marker (  )  const [inline, inherited]

Returns the fragment type.

Definition at line 95 of file Header.h.

References eformat::Header< TPointer >::m_start.

Referenced by eformat::Header< TPointer >::assign(), eformat::Header< TPointer >::check(), eformat::Header< TPointer >::child(), eformat::Header< TPointer >::children(), eformat::Header< TPointer >::Header(), and eformat::Header< TPointer >::nchildren().

00095 { return m_start[0]; }

template<class TPointer>
uint32_t eformat::Header< TPointer >::nchildren (  )  const [virtual, inherited]

Returns the number of children available.

Definition at line 263 of file Header.h.

References EvtCyclic3::c_str(), eformat::Header< TPointer >::children(), ERS_DEBUG_2, eformat::Header< TPointer >::marker(), eformat::marker2string(), and eformat::Header< TPointer >::source_id().

Referenced by eformat::SubDetectorFragment< TPointer >::check_tree(), eformat::ROSFragment< TPointer >::check_tree(), eformat::FullEventFragment< TPointer >::check_tree(), eformat::Header< TPointer >::child_check(), EFEventLoopMgr::executeEvent(), and MixerAlg::nextEvent().

00264 {
00265   ERS_DEBUG_2("User asked for number of children of fragment type %s [%s]",
00266               eformat::marker2string(marker()).c_str(),
00267               eformat::helper::SourceIdentifier(source_id()).human().c_str());
00268   return children(0,0);
00269 }

template<class TPointer>
uint32_t eformat::Header< TPointer >::nspecific (  )  const [inline, inherited]

Returns the number of specific words available in the specific header part

Definition at line 164 of file Header.h.

References eformat::Header< TPointer >::m_start, and eformat::Header< TPointer >::nstatus().

Referenced by eformat::Header< TPointer >::check().

00164 { return m_start[6 + nstatus()]; }

template<class TPointer>
uint32_t eformat::Header< TPointer >::nstatus (  )  const [inline, inherited]

Returns the number of status words available

Definition at line 121 of file Header.h.

References eformat::Header< TPointer >::m_start.

Referenced by eformat::Header< TPointer >::check(), eformat::Header< TPointer >::nspecific(), and eformat::Header< TPointer >::specific_header().

00121 { return m_start[5]; }

template<class TPointer>
ROBFragment& eformat::ROBFragment< TPointer >::operator= ( const ROBFragment< TPointer > &  other  )  [inline]

Assignment

Parameters:
other The fragment to be copied

Definition at line 65 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start, and EvtCyclic3::other().

00066     { Header<TPointer>::operator=(other); m_start=other.m_start; return *this; }

template<class TPointer>
void eformat::Header< TPointer >::payload ( TPointer &  it  )  const [inline, inherited]

Sets the pointer to where the payload starts

Parameters:
it The pointer to set

Definition at line 135 of file Header.h.

References eformat::Header< TPointer >::header_size_word(), and eformat::Header< TPointer >::m_start.

Referenced by eformat::Header< TPointer >::child(), and eformat::Header< TPointer >::children().

00136     { it = m_start; it+= header_size_word(); }

template<class TPointer>
uint32_t eformat::Header< TPointer >::payload_size_word ( void   )  const [inline, inherited]

Returns the payload size

Definition at line 149 of file Header.h.

References eformat::Header< TPointer >::fragment_size_word(), and eformat::Header< TPointer >::header_size_word().

Referenced by eformat::Header< TPointer >::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().

00150     { return fragment_size_word() - header_size_word(); }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_bc_id (  )  const [inline]

Returns the bunch crossing identifier

Definition at line 130 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

00130 { return m_start[6]; }

template<class TPointer>
void eformat::ROBFragment< TPointer >::rod_data ( TPointer &  it  )  const

Returns a pointer to the first data word

Parameters:
it An updateable iterator you should provide.

Definition at line 257 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start, eformat::ROBFragment< TPointer >::rod_nstatus(), and eformat::ROBFragment< TPointer >::rod_status_position().

Referenced by RawDataInputSvc::nextEvent().

00258 {
00259   it = m_start;
00260   it += 9;
00261   if (!rod_status_position()) it += rod_nstatus();
00262 }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_detev_type (  )  const [inline]

Returns the detector event type

Definition at line 140 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

00140 { return m_start[8]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_fragment_size_word (  )  const [inline]

Returns the total fragment size

Definition at line 93 of file ROBFragment.h.

References eformat::Header< TPointer >::payload_size_word().

Referenced by eformat::ROBFragment< TPointer >::check().

00094     { return this->payload_size_word(); }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_header_size_word (  )  const [inline]

Returns the size, in words, of the current header. That does not include the trailer.

Definition at line 100 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

Referenced by eformat::ROBFragment< TPointer >::check().

00100 { return m_start[1]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_lvl1_id (  )  const [inline]

Returns the lvl1 identifier

Definition at line 125 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

00125 { return m_start[5]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_lvl1_trigger_type (  )  const [inline]

Returns the lvl1 trigger type

Definition at line 135 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

00135 { return m_start[7]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_marker (  )  const [inline]

Returns the fragment type.

Definition at line 88 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

Referenced by eformat::ROBFragment< TPointer >::assign(), and eformat::ROBFragment< TPointer >::ROBFragment().

00088 { return m_start[0]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_ndata (  )  const [inline]

Returns the number of data words available

Definition at line 159 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start, and eformat::Header< TPointer >::payload_size_word().

Referenced by eformat::ROBFragment< TPointer >::check(), and eformat::ROBFragment< TPointer >::rod_status().

00160     { return m_start[this->payload_size_word()-2]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_nstatus (  )  const [inline]

Returns the number of status words available

Definition at line 145 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start, and eformat::Header< TPointer >::payload_size_word().

Referenced by eformat::ROBFragment< TPointer >::check(), and eformat::ROBFragment< TPointer >::rod_data().

00146     { return m_start[this->payload_size_word()-3]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_run_no (  )  const [inline]

Returns the current run number.

Definition at line 120 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

00120 { return m_start[4]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_source_id (  )  const [inline]

Returns the full source identifier.

Definition at line 115 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

Referenced by eformat::ROBFragment< TPointer >::assign(), eformat::ROBFragment< TPointer >::check(), cmp_source_id(), main(), RawDataInputSvc::nextEvent(), and eformat::ROBFragment< TPointer >::ROBFragment().

00115 { return m_start[3]; }

template<class TPointer>
void eformat::ROBFragment< TPointer >::rod_status ( TPointer &  it  )  const

Returns the status words, as an iterator to the status words available.

Parameters:
it An updateable iterator you should provide.

Definition at line 249 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start, eformat::ROBFragment< TPointer >::rod_ndata(), and eformat::ROBFragment< TPointer >::rod_status_position().

00250 {
00251   it = m_start;
00252   it += 9;
00253   if (rod_status_position()) it += rod_ndata();
00254 }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_status_position (  )  const [inline]

Returns the status block position. A value of zero indicates that the status block preceeds the data block. A value of one means the contrary.

Definition at line 174 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start, and eformat::Header< TPointer >::payload_size_word().

Referenced by eformat::ROBFragment< TPointer >::rod_data(), and eformat::ROBFragment< TPointer >::rod_status().

00175     { return m_start[this->payload_size_word()-1]; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_trailer_size_word (  )  const [inline]

Returns the size, in words, of the trailer

Definition at line 105 of file ROBFragment.h.

00105 { return 3; }

template<class TPointer>
uint32_t eformat::ROBFragment< TPointer >::rod_version (  )  const [inline]

Returns the formatting version.

Definition at line 110 of file ROBFragment.h.

References eformat::ROBFragment< TPointer >::m_start.

Referenced by eformat::ROBFragment< TPointer >::check().

00110 { return m_start[2]; }

template<class TPointer>
uint32_t eformat::Header< TPointer >::source_id (  )  const [inline, inherited]

Returns the full source identifier.

Definition at line 116 of file Header.h.

References eformat::Header< TPointer >::m_start.

Referenced by eformat::SubDetectorFragment< TPointer >::assign(), eformat::ROSFragment< TPointer >::assign(), eformat::ROBFragment< TPointer >::assign(), eformat::FullEventFragment< TPointer >::assign(), eformat::ROBFragment< TPointer >::check(), eformat::Header< TPointer >::check(), eformat::Header< TPointer >::child(), eformat::get_robs(), eformat::Header< TPointer >::nchildren(), and eformat::ROBFragment< TPointer >::ROBFragment().

00116 { return m_start[4]; }

template<class TPointer>
void eformat::Header< TPointer >::specific_header ( TPointer &  it  )  const [inline, inherited]

Returns an iterator to the start of the specific header part (this does not include the number of specific header fragments)

Parameters:
it An updateable iterator you should provide.

Definition at line 172 of file Header.h.

References eformat::Header< TPointer >::m_start, and eformat::Header< TPointer >::nstatus().

Referenced by eformat::SubDetectorFragment< TPointer >::assign(), eformat::ROSFragment< TPointer >::assign(), eformat::ROBFragment< TPointer >::assign(), eformat::FullEventFragment< TPointer >::assign(), eformat::FullEventFragment< TPointer >::FullEventFragment(), eformat::ROBFragment< TPointer >::ROBFragment(), eformat::ROSFragment< TPointer >::ROSFragment(), and eformat::SubDetectorFragment< TPointer >::SubDetectorFragment().

00173     { it = m_start; it += 7 + nstatus(); }

template<class TPointer>
void eformat::Header< TPointer >::start ( TPointer &  it  )  const [inline, inherited]

Sets the pointer to my start

Parameters:
it The pointer to set

Definition at line 128 of file Header.h.

References eformat::Header< TPointer >::m_start.

00128 { it = m_start; }

template<class TPointer>
void eformat::Header< TPointer >::status ( TPointer &  it  )  const [inline, inherited]

Returns the status words, as an iterator to the status words available.

Parameters:
it An updateable iterator you should provide.

Definition at line 157 of file Header.h.

References eformat::Header< TPointer >::m_start.

00157 { it = m_start; it += 6; }

template<class TPointer>
uint32_t eformat::Header< TPointer >::version (  )  const [inline, inherited]

Returns the formatting version.

Definition at line 111 of file Header.h.

References eformat::Header< TPointer >::m_start.

Referenced by eformat::Header< TPointer >::check().

00111 { return m_start[3]; }


Member Data Documentation

template<class TPointer>
TPointer eformat::ROBFragment< TPointer >::m_start [private]

my last word

Reimplemented from eformat::Header< TPointer >.

Definition at line 183 of file ROBFragment.h.

Referenced by eformat::ROBFragment< TPointer >::assign(), eformat::ROBFragment< TPointer >::operator=(), eformat::ROBFragment< TPointer >::ROBFragment(), eformat::ROBFragment< TPointer >::rod_bc_id(), eformat::ROBFragment< TPointer >::rod_data(), eformat::ROBFragment< TPointer >::rod_detev_type(), eformat::ROBFragment< TPointer >::rod_header_size_word(), eformat::ROBFragment< TPointer >::rod_lvl1_id(), eformat::ROBFragment< TPointer >::rod_lvl1_trigger_type(), eformat::ROBFragment< TPointer >::rod_marker(), eformat::ROBFragment< TPointer >::rod_ndata(), eformat::ROBFragment< TPointer >::rod_nstatus(), eformat::ROBFragment< TPointer >::rod_run_no(), eformat::ROBFragment< TPointer >::rod_source_id(), eformat::ROBFragment< TPointer >::rod_status(), eformat::ROBFragment< TPointer >::rod_status_position(), and eformat::ROBFragment< TPointer >::rod_version().

template<class TPointer>
const uint32_t eformat::ROBFragment< TPointer >::NSPECIFIC = 0 [static, private]

Definition at line 179 of file ROBFragment.h.

Referenced by eformat::ROBFragment< TPointer >::check().


Generated on Tue Nov 29 23:36:29 2016 for BOSS_7.0.2 by  doxygen 1.4.7