BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
eformat::ROSFragment< TPointer > Class Template Reference

#include <ROSFragment.h>

Inheritance diagram for eformat::ROSFragment< TPointer >:

Public Member Functions

 ROSFragment (const TPointer &it)
 ROSFragment ()
 ROSFragment (const ROSFragment &other)
virtual ~ROSFragment ()
ROSFragmentoperator= (const ROSFragment &other)
ROSFragmentassign (const TPointer &it)
virtual bool check () const
bool check_tree () const
uint32_t run_no () const
uint32_t lvl1_id () const
uint32_t bc_id () const
 ROSFragment (const TPointer &it)
 ROSFragment ()
 ROSFragment (const ROSFragment &other)
virtual ~ROSFragment ()
ROSFragmentoperator= (const ROSFragment &other)
ROSFragmentassign (const TPointer &it)
virtual bool check () const
bool check_tree () const
uint32_t run_no () const
uint32_t lvl1_id () const
uint32_t bc_id () const
 ROSFragment (const TPointer &it)
 ROSFragment ()
 ROSFragment (const ROSFragment &other)
virtual ~ROSFragment ()
ROSFragmentoperator= (const ROSFragment &other)
ROSFragmentassign (const TPointer &it)
virtual bool check () const
bool check_tree () const
uint32_t run_no () const
uint32_t lvl1_id () const
uint32_t bc_id () const
Public Member Functions inherited from eformat::Header< TPointer >
 Header (const TPointer &it, uint32_t match)
 Header ()
 Header (const Header &other)
virtual ~Header ()
Headeroperator= (const Header &other)
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
 Header (const TPointer &it, uint32_t match)
 Header ()
 Header (const Header &other)
virtual ~Header ()
Headeroperator= (const Header &other)
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
 Header (const TPointer &it, uint32_t match)
 Header ()
 Header (const Header &other)
virtual ~Header ()
Headeroperator= (const Header &other)
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

Detailed Description

template<class TPointer>
class eformat::ROSFragment< TPointer >

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

Definition at line 28 of file Event/eformat/include/eformat/ROSFragment.h.

Constructor & Destructor Documentation

◆ ROSFragment() [1/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( 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
itThe exact position where this fragment should start.

Definition at line 112 of file Event/eformat/include/eformat/ROSFragment.h.

Referenced by assign(), operator=(), and ROSFragment().

◆ ROSFragment() [2/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( )
inline

Builds an empty, otherwise useless ROSFragment

Definition at line 42 of file Event/eformat/include/eformat/ROSFragment.h.

◆ ROSFragment() [3/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( const ROSFragment< TPointer > & other)
inline

Copy constructor

Parameters
otherThe fragment to be copied

Definition at line 49 of file Event/eformat/include/eformat/ROSFragment.h.

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

◆ ~ROSFragment() [1/3]

template<class TPointer>
virtual eformat::ROSFragment< TPointer >::~ROSFragment ( )
inlinevirtual

Destructor virtualisation

Definition at line 55 of file Event/eformat/include/eformat/ROSFragment.h.

55{}

◆ ROSFragment() [4/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( 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
itThe exact position where this fragment should start.

◆ ROSFragment() [5/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( )
inline

Builds an empty, otherwise useless ROSFragment

Definition at line 42 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/ROSFragment.h.

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

◆ ROSFragment() [6/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( const ROSFragment< TPointer > & other)
inline

Copy constructor

Parameters
otherThe fragment to be copied

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/ROSFragment.h.

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

◆ ~ROSFragment() [2/3]

template<class TPointer>
virtual eformat::ROSFragment< TPointer >::~ROSFragment ( )
inlinevirtual

Destructor virtualisation

Definition at line 55 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/ROSFragment.h.

55{}

◆ ROSFragment() [7/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( 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
itThe exact position where this fragment should start.

◆ ROSFragment() [8/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( )
inline

Builds an empty, otherwise useless ROSFragment

Definition at line 42 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/ROSFragment.h.

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

◆ ROSFragment() [9/9]

template<class TPointer>
eformat::ROSFragment< TPointer >::ROSFragment ( const ROSFragment< TPointer > & other)
inline

Copy constructor

Parameters
otherThe fragment to be copied

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/ROSFragment.h.

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

◆ ~ROSFragment() [3/3]

template<class TPointer>
virtual eformat::ROSFragment< TPointer >::~ROSFragment ( )
inlinevirtual

Destructor virtualisation

Definition at line 55 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/ROSFragment.h.

55{}

Member Function Documentation

◆ assign() [1/3]

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

Manual re-assignment

Parameters
itThe position pointing the first word of this fragment

Definition at line 118 of file Event/eformat/include/eformat/ROSFragment.h.

118 {
119 ERS_DEBUG_3( "Re-building ROSFragment from pointer" );
122 ERS_DEBUG_1( "Initialized header with source identifier = %s",
124 return *this;
125}
#define ERS_DEBUG_1(...)
#define ERS_DEBUG_3(...)
Header & assign(const TPointer &it, uint32_t match)

◆ assign() [2/3]

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

Manual re-assignment

Parameters
itThe position pointing the first word of this fragment

◆ assign() [3/3]

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

Manual re-assignment

Parameters
itThe position pointing the first word of this fragment

◆ bc_id() [1/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::bc_id ( ) const
inline

Returns the bunch crossing identifier

Definition at line 98 of file Event/eformat/include/eformat/ROSFragment.h.

98{ return m_start[2]; }

◆ bc_id() [2/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::bc_id ( ) const
inline

Returns the bunch crossing identifier

Definition at line 98 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/ROSFragment.h.

98{ return m_start[2]; }

◆ bc_id() [3/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::bc_id ( ) const
inline

Returns the bunch crossing identifier

Definition at line 98 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/ROSFragment.h.

98{ return m_start[2]; }

◆ check() [1/3]

template<class TPointer>
bool eformat::ROSFragment< TPointer >::check ( ) const
virtual

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

Reimplemented from eformat::Header< TPointer >.

Definition at line 127 of file Event/eformat/include/eformat/ROSFragment.h.

127 {
128 ERS_DEBUG_2( "Checking for consistency of ROSFragment" );
129 eformat::Header<TPointer>::check(); //< first do a generic check
130 if ( eformat::Header<TPointer>::nspecific() != NSPECIFIC )
131 throw EFORMAT_SIZE_CHECK( NSPECIFIC, this->nspecific() );
132 return true;
133}
#define EFORMAT_SIZE_CHECK(actual, informed)
#define ERS_DEBUG_2(...)

Referenced by check_tree().

◆ check() [2/3]

template<class TPointer>
virtual bool eformat::ROSFragment< TPointer >::check ( ) const
virtual

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

Reimplemented from eformat::Header< TPointer >.

◆ check() [3/3]

template<class TPointer>
virtual bool eformat::ROSFragment< TPointer >::check ( ) const
virtual

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

Reimplemented from eformat::Header< TPointer >.

◆ check_tree() [1/3]

template<class TPointer>
bool eformat::ROSFragment< TPointer >::check_tree ( ) const

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

Definition at line 135 of file Event/eformat/include/eformat/ROSFragment.h.

135 {
136 ERS_DEBUG_2( "Checking recursively for consistency of ROSFragment" );
137 check(); // check myself
138 uint32_t total = this->nchildren();
139 for ( size_t i = 0; i < total; ++i )
140 {
141 TPointer fp;
144 f.check_tree();
145 }
146 return true;
147}
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
virtual void child(TPointer &p, size_t n) const

Referenced by main().

◆ check_tree() [2/3]

template<class TPointer>
bool eformat::ROSFragment< TPointer >::check_tree ( ) const

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

◆ check_tree() [3/3]

template<class TPointer>
bool eformat::ROSFragment< TPointer >::check_tree ( ) const

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

◆ lvl1_id() [1/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::lvl1_id ( ) const
inline

Returns the lvl1 identifier

Definition at line 93 of file Event/eformat/include/eformat/ROSFragment.h.

93{ return m_start[1]; }

Referenced by main().

◆ lvl1_id() [2/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::lvl1_id ( ) const
inline

Returns the lvl1 identifier

Definition at line 93 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/ROSFragment.h.

93{ return m_start[1]; }

◆ lvl1_id() [3/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::lvl1_id ( ) const
inline

Returns the lvl1 identifier

Definition at line 93 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/ROSFragment.h.

93{ return m_start[1]; }

◆ operator=() [1/3]

template<class TPointer>
ROSFragment & eformat::ROSFragment< TPointer >::operator= ( const ROSFragment< TPointer > & other)
inline

Copy operator

Parameters
otherThe fragment to be copied

Definition at line 62 of file Event/eformat/include/eformat/ROSFragment.h.

62 {
64 m_start = other.m_start;
65 return *this;
66 }
Header & operator=(const Header &other)

◆ operator=() [2/3]

template<class TPointer>
ROSFragment & eformat::ROSFragment< TPointer >::operator= ( const ROSFragment< TPointer > & other)
inline

Copy operator

Parameters
otherThe fragment to be copied

Definition at line 62 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/ROSFragment.h.

62 {
64 m_start = other.m_start;
65 return *this;
66 }

◆ operator=() [3/3]

template<class TPointer>
ROSFragment & eformat::ROSFragment< TPointer >::operator= ( const ROSFragment< TPointer > & other)
inline

Copy operator

Parameters
otherThe fragment to be copied

Definition at line 62 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/ROSFragment.h.

62 {
64 m_start = other.m_start;
65 return *this;
66 }

◆ run_no() [1/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::run_no ( ) const
inline

Returns the run number

Definition at line 88 of file Event/eformat/include/eformat/ROSFragment.h.

88{ return m_start[0]; }

◆ run_no() [2/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::run_no ( ) const
inline

Returns the run number

Definition at line 88 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/ROSFragment.h.

88{ return m_start[0]; }

◆ run_no() [3/3]

template<class TPointer>
uint32_t eformat::ROSFragment< TPointer >::run_no ( ) const
inline

Returns the run number

Definition at line 88 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/ROSFragment.h.

88{ return m_start[0]; }

The documentation for this class was generated from the following files: