CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
eformat::old::ROSFragment Class Reference

#include <ROSFragment.h>

+ Inheritance diagram for eformat::old::ROSFragment:

Public Member Functions

 ROSFragment (const uint32_t *it)
 
virtual ~ROSFragment ()
 
virtual bool check () const
 
bool check_tree () const
 
uint32_t lvl1_id () const
 
uint32_t bc_id () const
 
- Public Member Functions inherited from eformat::old::Header
 Header (const uint32_t *it, uint32_t match)
 
virtual ~Header ()
 
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 run_no () const
 
uint32_t nstatus () const
 
const uint32_t * status () const
 
uint32_t noffset () const
 
const uint32_t * offset (void) const
 
uint32_t nspecific () const
 
const uint32_t * specific_header (void) const
 
const uint32_t * child (size_t n) const
 

Detailed Description

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

Definition at line 27 of file old/ROSFragment.h.

Constructor & Destructor Documentation

◆ ROSFragment()

eformat::old::ROSFragment::ROSFragment ( const uint32_t *  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 18 of file ROSFragment24.cxx.

20 m_start(specific_header())
21{
22}
const uint32_t * specific_header(void) const
Definition: old/Header.h:130
@ ROS
The ROS marker.
Definition: HeaderMarker.h:28

◆ ~ROSFragment()

virtual eformat::old::ROSFragment::~ROSFragment ( )
inlinevirtual

Destructor virtualisation

Definition at line 42 of file old/ROSFragment.h.

42{}

Member Function Documentation

◆ bc_id()

uint32_t eformat::old::ROSFragment::bc_id ( ) const
inline

Returns the bunch crossing identifier

Definition at line 62 of file old/ROSFragment.h.

62{ return m_start[1]; }

Referenced by eformat::old::convert(), and convert_ros().

◆ check()

bool eformat::old::ROSFragment::check ( ) const
virtual

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

Reimplemented from eformat::old::Header.

Definition at line 24 of file ROSFragment24.cxx.

25{
26 eformat::old::Header::check(); //< first do a generic check
27 if (nspecific() != 2) {
28 throw EFORMAT_SIZE_CHECK(2, nspecific());
29 }
30 return true;
31}
#define EFORMAT_SIZE_CHECK(actual, informed)
virtual bool check() const
Definition: Header24.cxx:29
uint32_t nspecific() const
Definition: old/Header.h:123

◆ check_tree()

bool eformat::old::ROSFragment::check_tree ( ) const

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

Definition at line 33 of file ROSFragment24.cxx.

34{
35 check(); // check myself
36 for (size_t i=0; i<noffset(); ++i) {
38 rob.check_tree();
39 }
40 return true;
41}
const uint32_t * child(size_t n) const
Definition: Header24.cxx:39
uint32_t noffset() const
Definition: old/Header.h:110
virtual bool check() const

Referenced by eformat::old::SubDetectorFragment::check_tree(), convert_ros(), and main().

◆ lvl1_id()

uint32_t eformat::old::ROSFragment::lvl1_id ( ) const
inline

Returns the lvl1 identifier

Definition at line 57 of file old/ROSFragment.h.

57{ return m_start[0]; }

Referenced by eformat::old::convert(), convert_ros(), and main().


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