BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
eformat::write::ROBFragment Class Reference

forward More...

#include <ROBFragment.h>

Public Member Functions

 ROBFragment (uint32_t source_id, uint32_t run_no, uint32_t lvl1_id, uint32_t bc_id, uint32_t lvl1_type, uint32_t detev_type, uint32_t ndata, const uint32_t *data, uint32_t status_position)
 ROBFragment ()
 ROBFragment (const ROBFragment &other)
 ROBFragment (uint32_t *rod, uint32_t size_word)
 ROBFragment (uint32_t *rob)
virtual ~ROBFragment ()
ROBFragmentoperator= (const ROBFragment &other)
void status (uint32_t n, const uint32_t *status)
uint32_t nstatus (void) const
const uint32_t * status (void) const
void minor_version (uint16_t v)
uint16_t minor_version (void) const
void rod_status (uint32_t n, const uint32_t *status)
uint32_t rod_nstatus (void) const
const uint32_t * rod_status (void) const
void status_position (uint32_t v)
uint32_t status_position (void) const
void rod_minor_version (uint16_t v)
void rod_data (uint32_t n, const uint32_t *data)
uint32_t rod_ndata (void) const
const uint32_t * rod_data (void) const
void source_id (uint32_t s)
uint32_t source_id (void) const
void rod_run_no (uint32_t s)
uint32_t rod_run_no (void) const
void rod_lvl1_id (uint32_t s)
uint32_t rod_lvl1_id (void) const
void rod_bc_id (uint32_t s)
uint32_t rod_bc_id (void) const
void rod_lvl1_type (uint32_t s)
uint32_t rod_lvl1_type (void) const
void rod_detev_type (uint32_t s)
uint32_t rod_detev_type (void) const
uint32_t meta_size_word (void) const
uint32_t size_word (void) const
uint32_t page_count (void) const
const eformat::write::node_tbind (void) const
void parent (eformat::write::ROSFragment *ros)
const ROSFragmentparent (void) const
void next (const ROBFragment *n)
const ROBFragmentnext (void) const
 ROBFragment (uint32_t source_id, uint32_t run_no, uint32_t lvl1_id, uint32_t bc_id, uint32_t lvl1_type, uint32_t detev_type, uint32_t ndata, const uint32_t *data, uint32_t status_position)
 ROBFragment ()
 ROBFragment (const ROBFragment &other)
 ROBFragment (uint32_t *rod, uint32_t size_word)
 ROBFragment (uint32_t *rob)
virtual ~ROBFragment ()
ROBFragmentoperator= (const ROBFragment &other)
void status (uint32_t n, const uint32_t *status)
uint32_t nstatus (void) const
const uint32_t * status (void) const
void minor_version (uint16_t v)
uint16_t minor_version (void) const
void rod_status (uint32_t n, const uint32_t *status)
uint32_t rod_nstatus (void) const
const uint32_t * rod_status (void) const
void status_position (uint32_t v)
uint32_t status_position (void) const
void rod_minor_version (uint16_t v)
void rod_data (uint32_t n, const uint32_t *data)
uint32_t rod_ndata (void) const
const uint32_t * rod_data (void) const
void source_id (uint32_t s)
uint32_t source_id (void) const
void rod_run_no (uint32_t s)
uint32_t rod_run_no (void) const
void rod_lvl1_id (uint32_t s)
uint32_t rod_lvl1_id (void) const
void rod_bc_id (uint32_t s)
uint32_t rod_bc_id (void) const
void rod_lvl1_type (uint32_t s)
uint32_t rod_lvl1_type (void) const
void rod_detev_type (uint32_t s)
uint32_t rod_detev_type (void) const
uint32_t meta_size_word (void) const
uint32_t size_word (void) const
uint32_t page_count (void) const
const eformat::write::node_tbind (void) const
void parent (eformat::write::ROSFragment *ros)
const ROSFragmentparent (void) const
void next (const ROBFragment *n)
const ROBFragmentnext (void) const
 ROBFragment (uint32_t source_id, uint32_t run_no, uint32_t lvl1_id, uint32_t bc_id, uint32_t lvl1_type, uint32_t detev_type, uint32_t ndata, const uint32_t *data, uint32_t status_position)
 ROBFragment ()
 ROBFragment (const ROBFragment &other)
 ROBFragment (uint32_t *rod, uint32_t size_word)
 ROBFragment (uint32_t *rob)
virtual ~ROBFragment ()
ROBFragmentoperator= (const ROBFragment &other)
void status (uint32_t n, const uint32_t *status)
uint32_t nstatus (void) const
const uint32_t * status (void) const
void minor_version (uint16_t v)
uint16_t minor_version (void) const
void rod_status (uint32_t n, const uint32_t *status)
uint32_t rod_nstatus (void) const
const uint32_t * rod_status (void) const
void status_position (uint32_t v)
uint32_t status_position (void) const
void rod_minor_version (uint16_t v)
void rod_data (uint32_t n, const uint32_t *data)
uint32_t rod_ndata (void) const
const uint32_t * rod_data (void) const
void source_id (uint32_t s)
uint32_t source_id (void) const
void rod_run_no (uint32_t s)
uint32_t rod_run_no (void) const
void rod_lvl1_id (uint32_t s)
uint32_t rod_lvl1_id (void) const
void rod_bc_id (uint32_t s)
uint32_t rod_bc_id (void) const
void rod_lvl1_type (uint32_t s)
uint32_t rod_lvl1_type (void) const
void rod_detev_type (uint32_t s)
uint32_t rod_detev_type (void) const
uint32_t meta_size_word (void) const
uint32_t size_word (void) const
uint32_t page_count (void) const
const eformat::write::node_tbind (void) const
void parent (eformat::write::ROSFragment *ros)
const ROSFragmentparent (void) const
void next (const ROBFragment *n)
const ROBFragmentnext (void) const

Detailed Description

forward

Defines a helper class to aid the creation of ROB fragments.

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

Constructor & Destructor Documentation

◆ ROBFragment() [1/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t source_id,
uint32_t run_no,
uint32_t lvl1_id,
uint32_t bc_id,
uint32_t lvl1_type,
uint32_t detev_type,
uint32_t ndata,
const uint32_t * data,
uint32_t status_position )

Builds a new ROB fragment from scratch

Parameters
source_idThe source identifier to be using for this ROB
run_noThe run number for this ROB/ROD
lvl1_idThe LVL1 identifier for this ROB/ROD
bc_idThe bunch crossing identifier for this ROB/ROD
lvl1_typeThe LVL1 trigger type identifier for this ROB/ROD
detev_typeThe detector event type for this ROB/ROD
ndataThe number of 32-bits pointed by "data" bellow
dataA set of 32-bit words that consist the data block of this ROB fragment
status_positionThe status block position you want to have on the ROD format. Use the definitions available in Status.h to get generic identifiers for the possibilities.

Definition at line 20 of file ROBFragment.cxx.

24 : m_parent( 0 ), m_next( 0 ) {
25 m_header[0] = eformat::ROB; // marker
26 m_header[1] = 21 + ndata; // total fragment size in words
27 m_header[2] = 8; // this header size + status size
28 m_header[3] = eformat::DEFAULT_VERSION; // format version
29 m_header[4] = source_id;
30 m_header[5] = 1; // number of status
31 m_header[6] = 0; // number of fragment specific
32 m_rod_header[0] = eformat::ROD; // ROD marker
33 m_rod_header[1] = 9; // ROD header size
34 m_rod_header[2] = eformat::DEFAULT_VERSION; // format version
35 m_rod_header[3] = source_id;
36 m_rod_header[4] = run_no;
37 m_rod_header[5] = lvl1_id;
38 m_rod_header[6] = bc_id;
39 m_rod_header[7] = lvl1_type;
40 m_rod_header[8] = detev_type;
41 m_rod_trailer[0] = 1; // number of status in the ROD
42 m_rod_trailer[1] = ndata; // number of data words in the ROD
43 m_rod_trailer[2] = status_position;
44
45 // now initialize pages
46 set( m_node[0], m_header, 6, &m_node[1] );
47 set( m_node[1], &eformat::DEFAULT_STATUS, 1, &m_node[2] );
48 set( m_node[2], &m_header[6], 1, &m_node[3] ); // specific part
49 if ( m_rod_trailer[2] == eformat::STATUS_FRONT )
50 {
51 set( m_node[3], m_rod_header, 9, &m_node[4] );
52 set( m_node[4], &eformat::DEFAULT_STATUS, 1, &m_node[5] ); // status
53 set( m_node[5], data, ndata, &m_node[6] ); // data
54 }
55 else
56 {
57 set( m_node[3], m_rod_header, 9, &m_node[5] );
58 set( m_node[5], data, ndata, &m_node[4] ); // data
59 set( m_node[4], &eformat::DEFAULT_STATUS, 1, &m_node[6] ); // status
60 }
61 set( m_node[6], m_rod_trailer, 3, 0 );
62 ERS_DEBUG_3( "%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
63 "Built (write) rob/rod fragment from scratch, with", ROBFragment::source_id(),
65}
TTree * data
#define ERS_DEBUG_3(...)
void status_position(uint32_t v)
void set(node_t &i, const uint32_t *b, size_t l, node_t *n=0)
Definition node.cxx:16
const uint32_t STATUS_FRONT
status goes in front of data block

Referenced by next(), next(), operator=(), and ROBFragment().

◆ ROBFragment() [2/15]

eformat::write::ROBFragment::ROBFragment ( )

Builds a new "empty" ROB fragment, otherwise invalid. Use the methods bellow to set its fields. This is useful to pre-allocate objects of this class in the stack and later use them by assigment. Another option are standard containers, that demand the contained classes to have this method.

Definition at line 67 of file ROBFragment.cxx.

67 : m_parent( 0 ), m_next( 0 ) {
68 m_header[0] = eformat::ROB; // marker
69 m_header[1] = 21;
70 m_header[2] = 8; // this header size + status size
71 m_header[3] = eformat::DEFAULT_VERSION; // format version
72 m_header[4] = 0; // source identifier of the ROB fragment
73 m_header[5] = 1; // number of status
74 m_header[6] = 0; // number of fragment specific
75 m_rod_header[0] = eformat::ROD; // ROD marker
76 m_rod_header[1] = 9; // ROD header size
77 m_rod_header[2] = eformat::DEFAULT_VERSION; // format version
78 m_rod_header[3] = 0; // source identifier of the ROD fragment
79 m_rod_header[4] = 0; // run number
80 m_rod_header[5] = 0; // LVL1 identifier
81 m_rod_header[6] = 0; // bunch crossing identifier
82 m_rod_header[7] = 0; // LVL1 type
83 m_rod_header[8] = 0; // detector event type
84 m_rod_trailer[0] = 1; // number of status in the ROD
85 m_rod_trailer[1] = 0; // number of data words in the ROD
86 m_rod_trailer[2] = eformat::STATUS_FRONT; // status block position
87
88 // now initialize pages
89 set( m_node[0], m_header, 6, &m_node[1] );
90 set( m_node[1], &eformat::DEFAULT_STATUS, 1, &m_node[2] );
91 set( m_node[2], &m_header[6], 1, &m_node[3] ); // specific part
92 if ( m_rod_trailer[2] == eformat::STATUS_FRONT )
93 {
94 set( m_node[3], m_rod_header, 9, &m_node[4] );
95 set( m_node[4], &eformat::DEFAULT_STATUS, 1, &m_node[5] ); // status
96 set( m_node[5], 0, 0, &m_node[6] ); // data
97 }
98 else
99 {
100 set( m_node[3], m_rod_header, 9, &m_node[5] );
101 set( m_node[5], 0, 0, &m_node[4] ); // data
102 set( m_node[4], &eformat::DEFAULT_STATUS, 1, &m_node[6] ); // status
103 }
104 set( m_node[6], m_rod_trailer, 3, 0 );
105 ERS_DEBUG_3( "%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
106 "Built (write) empty rob/rod fragment, with", ROBFragment::source_id(),
107 rod_lvl1_id(), rod_run_no() );
108}

◆ ROBFragment() [3/15]

eformat::write::ROBFragment::ROBFragment ( const ROBFragment & other)

Copy constructor. This will perform a shallow copy of the fragment. In this case, the data and status blocks are not copied, only the meta information, i.e., all but the payload of the underlying ROD fragment and non-variable data blocks are copied. If you wish to have the data/status copied, you have to copy it manually yourself and set the data pointer with the rod_data() and status() and rod_status() methods. The parent fragment remains unset, and you have to append this fragment manually after creation. Binding also doesn't take place.

Parameters
otherThe other fragment to copy the meta data from.

Definition at line 110 of file ROBFragment.cxx.

111 : m_parent( 0 ), m_next( 0 ) {
112 *this = other;
113 ERS_DEBUG_3( "%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
114 "Built new (write) rob/rod fragment from copy, with", ROBFragment::source_id(),
115 rod_lvl1_id(), rod_run_no() );
116}
Index other(Index i, Index j)

◆ ROBFragment() [4/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t * rod,
uint32_t size_word )

Builds a new ROB fragment from scratch, starting from an existing ROD fragment as basis.

Parameters
rodThe rod fragment you want to start with, in a contiguous block of memory
size_wordThe size of the ROD fragment, in words

Definition at line 118 of file ROBFragment.cxx.

119 : m_parent( 0 ), m_next( 0 ) {
120 m_header[0] = eformat::ROB; // marker
121 m_header[1] = 8 + size_word; // total fragment size in words
122 m_header[2] = 8; // this header size + status size
123 m_header[3] = eformat::DEFAULT_VERSION; // format version
124 m_header[4] = rod[3];
125 m_header[5] = 1; // number of status
126 m_header[6] = 0; // number of fragment specific
127
128 // now initialize pages
129 set( m_node[0], m_header, 6, &m_node[1] );
130 set( m_node[1], &eformat::DEFAULT_STATUS, 1, &m_node[2] );
131 set( m_node[2], &m_header[6], 1, &m_node[3] );
132 set( m_node[6], &rod[size_word - 3], 3, 0 ); // ROD trailer
133 if ( m_node[6].base[2] == eformat::STATUS_FRONT )
134 {
135 set( m_node[3], rod, 9, &m_node[4] ); // ROD header
136 set( m_node[4], &rod[9], m_node[6].base[0], &m_node[5] ); // status
137 set( m_node[5], &rod[9 + m_node[6].base[0]], m_node[6].base[1], &m_node[6] );
138 }
139 else
140 {
141 set( m_node[3], rod, 9, &m_node[5] ); // ROD header
142 set( m_node[4], &rod[9 + m_node[6].base[1]], m_node[6].base[0], &m_node[6] );
143 set( m_node[5], &rod[9], m_node[6].base[1], &m_node[4] ); // data
144 }
145 ERS_DEBUG_3( "%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
146 "Built (write) rob/rod fragment from rod on memory, with", source_id(),
147 rod_lvl1_id(), rod_run_no() );
148}

◆ ROBFragment() [5/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t * rob)

Builds a new ROB fragment from an existing ROB fragment in contiguous memory

Warning
You cannot build from non-contiguous memory. If you have that requirement, please post it to the eformat developers.
Parameters
robThe ROB fragment you want to start with, in a contiguous block of memory

Definition at line 150 of file ROBFragment.cxx.

150 : m_parent( 0 ), m_next( 0 ) {
151 // now initialize pages
152 set( m_node[0], rob, 6, &m_node[1] );
153 set( m_node[1], &rob[6], rob[5], &m_node[2] );
154 set( m_node[2], &rob[6 + rob[5]], 1, &m_node[3] );
155 set( m_node[6], &rob[rob[1] - 3], 3, 0 ); // ROD trailer
156 if ( m_node[6].base[2] == eformat::STATUS_FRONT )
157 {
158 set( m_node[3], &rob[rob[2]], 9, &m_node[4] ); // ROD header
159 set( m_node[4], &rob[rob[2] + 9], m_node[6].base[0], &m_node[5] ); // status
160 set( m_node[5], &rob[rob[2] + 9 + m_node[6].base[0]], m_node[6].base[1],
161 &m_node[6] ); // data
162 }
163 else
164 {
165 set( m_node[3], &rob[rob[2]], 9, &m_node[5] ); // ROD header
166 set( m_node[4], &rob[rob[2] + 9 + m_node[6].base[1]], m_node[6].base[0], &m_node[6] );
167 set( m_node[5], &rob[rob[2] + 9], m_node[6].base[1], &m_node[4] ); // data
168 }
169 ERS_DEBUG_3( "%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
170 "Built (write) rob/rod fragment from cont. memory, with", source_id(),
171 rod_lvl1_id(), rod_run_no() );
172}

◆ ~ROBFragment() [1/3]

virtual eformat::write::ROBFragment::~ROBFragment ( )
inlinevirtual

Base destructor

Definition at line 100 of file Event/eformat/include/eformat/write/ROBFragment.h.

100{}

◆ ROBFragment() [6/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t source_id,
uint32_t run_no,
uint32_t lvl1_id,
uint32_t bc_id,
uint32_t lvl1_type,
uint32_t detev_type,
uint32_t ndata,
const uint32_t * data,
uint32_t status_position )

Builds a new ROB fragment from scratch

Parameters
source_idThe source identifier to be using for this ROB
run_noThe run number for this ROB/ROD
lvl1_idThe LVL1 identifier for this ROB/ROD
bc_idThe bunch crossing identifier for this ROB/ROD
lvl1_typeThe LVL1 trigger type identifier for this ROB/ROD
detev_typeThe detector event type for this ROB/ROD
ndataThe number of 32-bits pointed by "data" bellow
dataA set of 32-bit words that consist the data block of this ROB fragment
status_positionThe status block position you want to have on the ROD format. Use the definitions available in Status.h to get generic identifiers for the possibilities.

◆ ROBFragment() [7/15]

eformat::write::ROBFragment::ROBFragment ( )

Builds a new "empty" ROB fragment, otherwise invalid. Use the methods bellow to set its fields. This is useful to pre-allocate objects of this class in the stack and later use them by assigment. Another option are standard containers, that demand the contained classes to have this method.

◆ ROBFragment() [8/15]

eformat::write::ROBFragment::ROBFragment ( const ROBFragment & other)

Copy constructor. This will perform a shallow copy of the fragment. In this case, the data and status blocks are not copied, only the meta information, i.e., all but the payload of the underlying ROD fragment and non-variable data blocks are copied. If you wish to have the data/status copied, you have to copy it manually yourself and set the data pointer with the rod_data() and status() and rod_status() methods. The parent fragment remains unset, and you have to append this fragment manually after creation. Binding also doesn't take place.

Parameters
otherThe other fragment to copy the meta data from.

◆ ROBFragment() [9/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t * rod,
uint32_t size_word )

Builds a new ROB fragment from scratch, starting from an existing ROD fragment as basis.

Parameters
rodThe rod fragment you want to start with, in a contiguous block of memory
size_wordThe size of the ROD fragment, in words

◆ ROBFragment() [10/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t * rob)

Builds a new ROB fragment from an existing ROB fragment in contiguous memory

Warning
You cannot build from non-contiguous memory. If you have that requirement, please post it to the eformat developers.
Parameters
robThe ROB fragment you want to start with, in a contiguous block of memory

◆ ~ROBFragment() [2/3]

virtual eformat::write::ROBFragment::~ROBFragment ( )
inlinevirtual

Base destructor

Definition at line 100 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

100{}

◆ ROBFragment() [11/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t source_id,
uint32_t run_no,
uint32_t lvl1_id,
uint32_t bc_id,
uint32_t lvl1_type,
uint32_t detev_type,
uint32_t ndata,
const uint32_t * data,
uint32_t status_position )

Builds a new ROB fragment from scratch

Parameters
source_idThe source identifier to be using for this ROB
run_noThe run number for this ROB/ROD
lvl1_idThe LVL1 identifier for this ROB/ROD
bc_idThe bunch crossing identifier for this ROB/ROD
lvl1_typeThe LVL1 trigger type identifier for this ROB/ROD
detev_typeThe detector event type for this ROB/ROD
ndataThe number of 32-bits pointed by "data" bellow
dataA set of 32-bit words that consist the data block of this ROB fragment
status_positionThe status block position you want to have on the ROD format. Use the definitions available in Status.h to get generic identifiers for the possibilities.

◆ ROBFragment() [12/15]

eformat::write::ROBFragment::ROBFragment ( )

Builds a new "empty" ROB fragment, otherwise invalid. Use the methods bellow to set its fields. This is useful to pre-allocate objects of this class in the stack and later use them by assigment. Another option are standard containers, that demand the contained classes to have this method.

◆ ROBFragment() [13/15]

eformat::write::ROBFragment::ROBFragment ( const ROBFragment & other)

Copy constructor. This will perform a shallow copy of the fragment. In this case, the data and status blocks are not copied, only the meta information, i.e., all but the payload of the underlying ROD fragment and non-variable data blocks are copied. If you wish to have the data/status copied, you have to copy it manually yourself and set the data pointer with the rod_data() and status() and rod_status() methods. The parent fragment remains unset, and you have to append this fragment manually after creation. Binding also doesn't take place.

Parameters
otherThe other fragment to copy the meta data from.

◆ ROBFragment() [14/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t * rod,
uint32_t size_word )

Builds a new ROB fragment from scratch, starting from an existing ROD fragment as basis.

Parameters
rodThe rod fragment you want to start with, in a contiguous block of memory
size_wordThe size of the ROD fragment, in words

◆ ROBFragment() [15/15]

eformat::write::ROBFragment::ROBFragment ( uint32_t * rob)

Builds a new ROB fragment from an existing ROB fragment in contiguous memory

Warning
You cannot build from non-contiguous memory. If you have that requirement, please post it to the eformat developers.
Parameters
robThe ROB fragment you want to start with, in a contiguous block of memory

◆ ~ROBFragment() [3/3]

virtual eformat::write::ROBFragment::~ROBFragment ( )
inlinevirtual

Base destructor

Definition at line 100 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

100{}

Member Function Documentation

◆ bind() [1/3]

const eformat::write::node_t * eformat::write::ROBFragment::bind ( void ) const
inline

Outputs a concatenation of eformat::write::node making up a list with the contents of this ROB fragment.

Definition at line 308 of file Event/eformat/include/eformat/write/ROBFragment.h.

308{ return m_node; }

◆ bind() [2/3]

const eformat::write::node_t * eformat::write::ROBFragment::bind ( void ) const
inline

Outputs a concatenation of eformat::write::node making up a list with the contents of this ROB fragment.

Definition at line 308 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

308{ return m_node; }

◆ bind() [3/3]

const eformat::write::node_t * eformat::write::ROBFragment::bind ( void ) const
inline

Outputs a concatenation of eformat::write::node making up a list with the contents of this ROB fragment.

Definition at line 308 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

308{ return m_node; }

◆ meta_size_word() [1/3]

uint32_t eformat::write::ROBFragment::meta_size_word ( void ) const
inline

Returns the total size for the meta data (everything that does not encompass the contents of the m_data pointer in the private representation of this class) in the fragment, in words

Definition at line 290 of file Event/eformat/include/eformat/write/ROBFragment.h.

290 {
291 return 7 + m_node[0].base[5] + 12 + m_node[6].base[0];
292 }

Referenced by size_word().

◆ meta_size_word() [2/3]

uint32_t eformat::write::ROBFragment::meta_size_word ( void ) const
inline

Returns the total size for the meta data (everything that does not encompass the contents of the m_data pointer in the private representation of this class) in the fragment, in words

Definition at line 290 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

290 {
291 return 7 + m_node[0].base[5] + 12 + m_node[6].base[0];
292 }

◆ meta_size_word() [3/3]

uint32_t eformat::write::ROBFragment::meta_size_word ( void ) const
inline

Returns the total size for the meta data (everything that does not encompass the contents of the m_data pointer in the private representation of this class) in the fragment, in words

Definition at line 290 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

290 {
291 return 7 + m_node[0].base[5] + 12 + m_node[6].base[0];
292 }

◆ minor_version() [1/6]

void eformat::write::ROBFragment::minor_version ( uint16_t v)
inline

Changes the minor version number of the fragment

Parameters
vThe new minor version for this header

Definition at line 141 of file Event/eformat/include/eformat/write/ROBFragment.h.

141 {
142 m_node[0].base[3] = eformat::DEFAULT_VERSION | v;
143 }
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition KarLud.h:35

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

◆ minor_version() [2/6]

void eformat::write::ROBFragment::minor_version ( uint16_t v)
inline

Changes the minor version number of the fragment

Parameters
vThe new minor version for this header

Definition at line 141 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

141 {
142 m_node[0].base[3] = eformat::DEFAULT_VERSION | v;
143 }

◆ minor_version() [3/6]

void eformat::write::ROBFragment::minor_version ( uint16_t v)
inline

Changes the minor version number of the fragment

Parameters
vThe new minor version for this header

Definition at line 141 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

141 {
142 m_node[0].base[3] = eformat::DEFAULT_VERSION | v;
143 }

◆ minor_version() [4/6]

uint16_t eformat::write::ROBFragment::minor_version ( void ) const
inline

Returns the minor version number of the fragment

Definition at line 148 of file Event/eformat/include/eformat/write/ROBFragment.h.

148{ return 0xffff & m_node[0].base[3]; }

◆ minor_version() [5/6]

uint16_t eformat::write::ROBFragment::minor_version ( void ) const
inline

Returns the minor version number of the fragment

Definition at line 148 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

148{ return 0xffff & m_node[0].base[3]; }

◆ minor_version() [6/6]

uint16_t eformat::write::ROBFragment::minor_version ( void ) const
inline

Returns the minor version number of the fragment

Definition at line 148 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

148{ return 0xffff & m_node[0].base[3]; }

◆ next() [1/6]

void eformat::write::ROBFragment::next ( const ROBFragment * n)
inline

Sets the next sibling

Parameters
nThe sibling following this fragment

Definition at line 327 of file Event/eformat/include/eformat/write/ROBFragment.h.

327{ m_next = n; }
const Int_t n

Referenced by eformat::write::ROSFragment::bind(), RawDataCnvSvc::commitOutput(), and eformat::write::ROSFragment::page_count().

◆ next() [2/6]

void eformat::write::ROBFragment::next ( const ROBFragment * n)
inline

Sets the next sibling

Parameters
nThe sibling following this fragment

Definition at line 327 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

327{ m_next = n; }

◆ next() [3/6]

void eformat::write::ROBFragment::next ( const ROBFragment * n)
inline

Sets the next sibling

Parameters
nThe sibling following this fragment

Definition at line 327 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

327{ m_next = n; }

◆ next() [4/6]

const ROBFragment * eformat::write::ROBFragment::next ( void ) const
inline

Returns the next sibling

Definition at line 332 of file Event/eformat/include/eformat/write/ROBFragment.h.

332{ return m_next; }

◆ next() [5/6]

const ROBFragment * eformat::write::ROBFragment::next ( void ) const
inline

Returns the next sibling

Definition at line 332 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

332{ return m_next; }

◆ next() [6/6]

const ROBFragment * eformat::write::ROBFragment::next ( void ) const
inline

Returns the next sibling

Definition at line 332 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

332{ return m_next; }

◆ nstatus() [1/3]

uint32_t eformat::write::ROBFragment::nstatus ( void ) const
inline

Returns the number of status wors in this fragment

Definition at line 129 of file Event/eformat/include/eformat/write/ROBFragment.h.

129{ return m_node[0].base[5]; }

◆ nstatus() [2/3]

uint32_t eformat::write::ROBFragment::nstatus ( void ) const
inline

Returns the number of status wors in this fragment

Definition at line 129 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

129{ return m_node[0].base[5]; }

◆ nstatus() [3/3]

uint32_t eformat::write::ROBFragment::nstatus ( void ) const
inline

Returns the number of status wors in this fragment

Definition at line 129 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

129{ return m_node[0].base[5]; }

◆ operator=() [1/3]

eformat::write::ROBFragment & eformat::write::ROBFragment::operator= ( const ROBFragment & other)

Assignment operator. This will perform a shallow copy of the fragment. In this case, the data and status blocks are not copied, only the meta information, i.e., all but the payload of the underlying ROD fragment and non-variable data blocks are copied. If you wish to have the data/status copied, you have to copy it manually yourself and set the data pointer with the rod_data() and status() and rod_status() methods. The parent fragment is not changed in this operation. Previous binding operations remain valid after assignment.

Parameters
otherThe other fragment to copy the meta data from.

Definition at line 175 of file ROBFragment.cxx.

175 {
176 // get the ROB header
177 memcpy( reinterpret_cast<void*>( m_header ),
178 reinterpret_cast<const void*>( other.m_node[0].base ), 6 * sizeof( uint32_t ) );
179 m_header[6] = other.m_node[2].base[0];
180 memcpy( reinterpret_cast<void*>( m_rod_header ),
181 reinterpret_cast<const void*>( other.m_node[3].base ), 9 * sizeof( uint32_t ) );
182 memcpy( reinterpret_cast<void*>( m_rod_trailer ),
183 reinterpret_cast<const void*>( other.m_node[6].base ), 3 * sizeof( uint32_t ) );
184
185 // now re-initialize the pages
186 set( m_node[0], m_header, 6, &m_node[1] );
187 set( m_node[1], other.m_node[1].base, other.m_node[1].size_word, &m_node[2] );
188 set( m_node[2], &m_header[6], 1, &m_node[3] ); // specific part
189 if ( m_rod_trailer[2] == eformat::STATUS_FRONT )
190 {
191 set( m_node[3], m_rod_header, 9, &m_node[4] );
192 set( m_node[4], other.m_node[4].base, other.m_node[4].size_word, &m_node[5] ); // status
193 set( m_node[5], other.m_node[5].base, other.m_node[5].size_word, &m_node[6] ); // data
194 }
195 else
196 {
197 set( m_node[3], m_rod_header, 9, &m_node[5] );
198 set( m_node[5], other.m_node[5].base, other.m_node[5].size_word, &m_node[4] ); // data
199 set( m_node[4], other.m_node[4].base, other.m_node[4].size_word, &m_node[6] ); // status
200 }
201 set( m_node[6], m_rod_trailer, 3, 0 );
202 ERS_DEBUG_3( "%s Source Id. = 0x%x., LVL1 Id. = %d, Run Number = %d",
203 "Copied (write) rob/rod fragment with", ROBFragment::source_id(), rod_lvl1_id(),
204 rod_run_no() );
205
206 return *this;
207}

◆ operator=() [2/3]

ROBFragment & eformat::write::ROBFragment::operator= ( const ROBFragment & other)

Assignment operator. This will perform a shallow copy of the fragment. In this case, the data and status blocks are not copied, only the meta information, i.e., all but the payload of the underlying ROD fragment and non-variable data blocks are copied. If you wish to have the data/status copied, you have to copy it manually yourself and set the data pointer with the rod_data() and status() and rod_status() methods. The parent fragment is not changed in this operation. Previous binding operations remain valid after assignment.

Parameters
otherThe other fragment to copy the meta data from.

◆ operator=() [3/3]

ROBFragment & eformat::write::ROBFragment::operator= ( const ROBFragment & other)

Assignment operator. This will perform a shallow copy of the fragment. In this case, the data and status blocks are not copied, only the meta information, i.e., all but the payload of the underlying ROD fragment and non-variable data blocks are copied. If you wish to have the data/status copied, you have to copy it manually yourself and set the data pointer with the rod_data() and status() and rod_status() methods. The parent fragment is not changed in this operation. Previous binding operations remain valid after assignment.

Parameters
otherThe other fragment to copy the meta data from.

◆ page_count() [1/3]

uint32_t eformat::write::ROBFragment::page_count ( void ) const
inline

Returns the number of pages of memory I have

Definition at line 302 of file Event/eformat/include/eformat/write/ROBFragment.h.

302{ return 7; }

Referenced by eformat::write::ROSFragment::page_count().

◆ page_count() [2/3]

uint32_t eformat::write::ROBFragment::page_count ( void ) const
inline

Returns the number of pages of memory I have

Definition at line 302 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

302{ return 7; }

◆ page_count() [3/3]

uint32_t eformat::write::ROBFragment::page_count ( void ) const
inline

Returns the number of pages of memory I have

Definition at line 302 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

302{ return 7; }

◆ parent() [1/6]

void eformat::write::ROBFragment::parent ( eformat::write::ROSFragment * ros)
inline

This sets the parent fragment

Parameters
rosThe ROS parent fragment of this ROB/ROD

Definition at line 315 of file Event/eformat/include/eformat/write/ROBFragment.h.

315{ m_parent = ros; }

Referenced by eformat::write::ROSFragment::append().

◆ parent() [2/6]

void eformat::write::ROBFragment::parent ( eformat::write::ROSFragment * ros)
inline

This sets the parent fragment

Parameters
rosThe ROS parent fragment of this ROB/ROD

Definition at line 315 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

315{ m_parent = ros; }

◆ parent() [3/6]

void eformat::write::ROBFragment::parent ( eformat::write::ROSFragment * ros)
inline

This sets the parent fragment

Parameters
rosThe ROS parent fragment of this ROB/ROD

Definition at line 315 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

315{ m_parent = ros; }

◆ parent() [4/6]

const ROSFragment * eformat::write::ROBFragment::parent ( void ) const
inline

This returns the parent fragment

Definition at line 320 of file Event/eformat/include/eformat/write/ROBFragment.h.

320{ return m_parent; }

◆ parent() [5/6]

const ROSFragment * eformat::write::ROBFragment::parent ( void ) const
inline

This returns the parent fragment

Definition at line 320 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

320{ return m_parent; }

◆ parent() [6/6]

const ROSFragment * eformat::write::ROBFragment::parent ( void ) const
inline

This returns the parent fragment

Definition at line 320 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

320{ return m_parent; }

◆ rod_bc_id() [1/6]

void eformat::write::ROBFragment::rod_bc_id ( uint32_t s)
inline

Changes the bunch crossing identifier in the ROD fragment

Parameters
sThe new value to set

Definition at line 254 of file Event/eformat/include/eformat/write/ROBFragment.h.

254{ m_node[3].base[6] = s; }
XmlRpcServer s

◆ rod_bc_id() [2/6]

void eformat::write::ROBFragment::rod_bc_id ( uint32_t s)
inline

Changes the bunch crossing identifier in the ROD fragment

Parameters
sThe new value to set

Definition at line 254 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

254{ m_node[3].base[6] = s; }

◆ rod_bc_id() [3/6]

void eformat::write::ROBFragment::rod_bc_id ( uint32_t s)
inline

Changes the bunch crossing identifier in the ROD fragment

Parameters
sThe new value to set

Definition at line 254 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

254{ m_node[3].base[6] = s; }

◆ rod_bc_id() [4/6]

uint32_t eformat::write::ROBFragment::rod_bc_id ( void ) const
inline

Returns the bunch crossing identifier for the ROD fragment

Definition at line 259 of file Event/eformat/include/eformat/write/ROBFragment.h.

259{ return m_node[3].base[6]; }

◆ rod_bc_id() [5/6]

uint32_t eformat::write::ROBFragment::rod_bc_id ( void ) const
inline

Returns the bunch crossing identifier for the ROD fragment

Definition at line 259 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

259{ return m_node[3].base[6]; }

◆ rod_bc_id() [6/6]

uint32_t eformat::write::ROBFragment::rod_bc_id ( void ) const
inline

Returns the bunch crossing identifier for the ROD fragment

Definition at line 259 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

259{ return m_node[3].base[6]; }

◆ rod_data() [1/6]

void eformat::write::ROBFragment::rod_data ( uint32_t n,
const uint32_t * data )

Changes the number of data words and the data words themselves from the ROD fragment

Parameters
nHow many data words the underlying ROD fragment supposed to have
statusA pointer to n pre-allocated words

Definition at line 246 of file ROBFragment.cxx.

246 {
247 if ( m_parent )
248 m_parent->size_change( m_node[0].base[1], m_node[0].base[1] - m_node[6].base[1] + n );
249
250 // remove count from previous data size
251 m_node[0].base[1] -= m_node[6].base[1];
252 m_node[5].size_word = m_node[6].base[1] = n; // set new values
253 m_node[0].base[1] += n; // set ROB header's total fragment size back
254 m_node[5].base = const_cast<uint32_t*>( data );
255}

◆ rod_data() [2/6]

void eformat::write::ROBFragment::rod_data ( uint32_t n,
const uint32_t * data )

Changes the number of data words and the data words themselves from the ROD fragment

Parameters
nHow many data words the underlying ROD fragment supposed to have
statusA pointer to n pre-allocated words

◆ rod_data() [3/6]

void eformat::write::ROBFragment::rod_data ( uint32_t n,
const uint32_t * data )

Changes the number of data words and the data words themselves from the ROD fragment

Parameters
nHow many data words the underlying ROD fragment supposed to have
statusA pointer to n pre-allocated words

◆ rod_data() [4/6]

const uint32_t * eformat::write::ROBFragment::rod_data ( void ) const
inline

Returns a pointer to the first of the data words at the ROD fragment

Definition at line 211 of file Event/eformat/include/eformat/write/ROBFragment.h.

211{ return m_node[5].base; }

◆ rod_data() [5/6]

const uint32_t * eformat::write::ROBFragment::rod_data ( void ) const
inline

Returns a pointer to the first of the data words at the ROD fragment

Definition at line 211 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

211{ return m_node[5].base; }

◆ rod_data() [6/6]

const uint32_t * eformat::write::ROBFragment::rod_data ( void ) const
inline

Returns a pointer to the first of the data words at the ROD fragment

Definition at line 211 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

211{ return m_node[5].base; }

◆ rod_detev_type() [1/6]

void eformat::write::ROBFragment::rod_detev_type ( uint32_t s)
inline

Changes the detector event type in the ROD fragment

Parameters
sThe new value to set

Definition at line 278 of file Event/eformat/include/eformat/write/ROBFragment.h.

278{ m_node[3].base[8] = s; }

◆ rod_detev_type() [2/6]

void eformat::write::ROBFragment::rod_detev_type ( uint32_t s)
inline

Changes the detector event type in the ROD fragment

Parameters
sThe new value to set

Definition at line 278 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

278{ m_node[3].base[8] = s; }

◆ rod_detev_type() [3/6]

void eformat::write::ROBFragment::rod_detev_type ( uint32_t s)
inline

Changes the detector event type in the ROD fragment

Parameters
sThe new value to set

Definition at line 278 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

278{ m_node[3].base[8] = s; }

◆ rod_detev_type() [4/6]

uint32_t eformat::write::ROBFragment::rod_detev_type ( void ) const
inline

Returns the detector event type identifier for the ROD fragment

Definition at line 283 of file Event/eformat/include/eformat/write/ROBFragment.h.

283{ return m_node[3].base[8]; }

◆ rod_detev_type() [5/6]

uint32_t eformat::write::ROBFragment::rod_detev_type ( void ) const
inline

Returns the detector event type identifier for the ROD fragment

Definition at line 283 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

283{ return m_node[3].base[8]; }

◆ rod_detev_type() [6/6]

uint32_t eformat::write::ROBFragment::rod_detev_type ( void ) const
inline

Returns the detector event type identifier for the ROD fragment

Definition at line 283 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

283{ return m_node[3].base[8]; }

◆ rod_lvl1_id() [1/6]

void eformat::write::ROBFragment::rod_lvl1_id ( uint32_t s)
inline

Changes the lvl1 identifier in the ROD fragment

Parameters
sThe new value to set

Definition at line 242 of file Event/eformat/include/eformat/write/ROBFragment.h.

242{ m_node[3].base[5] = s; }

Referenced by operator=().

◆ rod_lvl1_id() [2/6]

void eformat::write::ROBFragment::rod_lvl1_id ( uint32_t s)
inline

Changes the lvl1 identifier in the ROD fragment

Parameters
sThe new value to set

Definition at line 242 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

242{ m_node[3].base[5] = s; }

◆ rod_lvl1_id() [3/6]

void eformat::write::ROBFragment::rod_lvl1_id ( uint32_t s)
inline

Changes the lvl1 identifier in the ROD fragment

Parameters
sThe new value to set

Definition at line 242 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

242{ m_node[3].base[5] = s; }

◆ rod_lvl1_id() [4/6]

uint32_t eformat::write::ROBFragment::rod_lvl1_id ( void ) const
inline

Returns the lvl1 identifier for the ROD fragment

Definition at line 247 of file Event/eformat/include/eformat/write/ROBFragment.h.

247{ return m_node[3].base[5]; }

Referenced by ROBFragment(), ROBFragment(), ROBFragment(), ROBFragment(), and ROBFragment().

◆ rod_lvl1_id() [5/6]

uint32_t eformat::write::ROBFragment::rod_lvl1_id ( void ) const
inline

Returns the lvl1 identifier for the ROD fragment

Definition at line 247 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

247{ return m_node[3].base[5]; }

◆ rod_lvl1_id() [6/6]

uint32_t eformat::write::ROBFragment::rod_lvl1_id ( void ) const
inline

Returns the lvl1 identifier for the ROD fragment

Definition at line 247 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

247{ return m_node[3].base[5]; }

◆ rod_lvl1_type() [1/6]

void eformat::write::ROBFragment::rod_lvl1_type ( uint32_t s)
inline

Changes the lvl1 trigger type in the ROD fragment

Parameters
sThe new value to set

Definition at line 266 of file Event/eformat/include/eformat/write/ROBFragment.h.

266{ m_node[3].base[7] = s; }

◆ rod_lvl1_type() [2/6]

void eformat::write::ROBFragment::rod_lvl1_type ( uint32_t s)
inline

Changes the lvl1 trigger type in the ROD fragment

Parameters
sThe new value to set

Definition at line 266 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

266{ m_node[3].base[7] = s; }

◆ rod_lvl1_type() [3/6]

void eformat::write::ROBFragment::rod_lvl1_type ( uint32_t s)
inline

Changes the lvl1 trigger type in the ROD fragment

Parameters
sThe new value to set

Definition at line 266 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

266{ m_node[3].base[7] = s; }

◆ rod_lvl1_type() [4/6]

uint32_t eformat::write::ROBFragment::rod_lvl1_type ( void ) const
inline

Returns the lvl1 event type identifier for the ROD fragment

Definition at line 271 of file Event/eformat/include/eformat/write/ROBFragment.h.

271{ return m_node[3].base[7]; }

◆ rod_lvl1_type() [5/6]

uint32_t eformat::write::ROBFragment::rod_lvl1_type ( void ) const
inline

Returns the lvl1 event type identifier for the ROD fragment

Definition at line 271 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

271{ return m_node[3].base[7]; }

◆ rod_lvl1_type() [6/6]

uint32_t eformat::write::ROBFragment::rod_lvl1_type ( void ) const
inline

Returns the lvl1 event type identifier for the ROD fragment

Definition at line 271 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

271{ return m_node[3].base[7]; }

◆ rod_minor_version() [1/3]

void eformat::write::ROBFragment::rod_minor_version ( uint16_t v)
inline

Changes the minor version number of the underlying ROD fragment

Parameters
vThe new minor version for this header

Definition at line 189 of file Event/eformat/include/eformat/write/ROBFragment.h.

189 {
190 m_node[3].base[2] = eformat::DEFAULT_VERSION | v;
191 }

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

◆ rod_minor_version() [2/3]

void eformat::write::ROBFragment::rod_minor_version ( uint16_t v)
inline

Changes the minor version number of the underlying ROD fragment

Parameters
vThe new minor version for this header

Definition at line 189 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

189 {
190 m_node[3].base[2] = eformat::DEFAULT_VERSION | v;
191 }

◆ rod_minor_version() [3/3]

void eformat::write::ROBFragment::rod_minor_version ( uint16_t v)
inline

Changes the minor version number of the underlying ROD fragment

Parameters
vThe new minor version for this header

Definition at line 189 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

189 {
190 m_node[3].base[2] = eformat::DEFAULT_VERSION | v;
191 }

◆ rod_ndata() [1/3]

uint32_t eformat::write::ROBFragment::rod_ndata ( void ) const
inline

Returns the number of data words at the ROD fragment

Definition at line 206 of file Event/eformat/include/eformat/write/ROBFragment.h.

206{ return m_node[6].base[1]; }

◆ rod_ndata() [2/3]

uint32_t eformat::write::ROBFragment::rod_ndata ( void ) const
inline

Returns the number of data words at the ROD fragment

Definition at line 206 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

206{ return m_node[6].base[1]; }

◆ rod_ndata() [3/3]

uint32_t eformat::write::ROBFragment::rod_ndata ( void ) const
inline

Returns the number of data words at the ROD fragment

Definition at line 206 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

206{ return m_node[6].base[1]; }

◆ rod_nstatus() [1/3]

uint32_t eformat::write::ROBFragment::rod_nstatus ( void ) const
inline

Returns the number of status wors in this fragment

Definition at line 163 of file Event/eformat/include/eformat/write/ROBFragment.h.

163{ return m_node[6].base[0]; }

◆ rod_nstatus() [2/3]

uint32_t eformat::write::ROBFragment::rod_nstatus ( void ) const
inline

Returns the number of status wors in this fragment

Definition at line 163 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

163{ return m_node[6].base[0]; }

◆ rod_nstatus() [3/3]

uint32_t eformat::write::ROBFragment::rod_nstatus ( void ) const
inline

Returns the number of status wors in this fragment

Definition at line 163 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

163{ return m_node[6].base[0]; }

◆ rod_run_no() [1/6]

void eformat::write::ROBFragment::rod_run_no ( uint32_t s)
inline

Changes the run number for the ROD fragment

Parameters
sThe new value to set

Definition at line 230 of file Event/eformat/include/eformat/write/ROBFragment.h.

230{ m_node[3].base[4] = s; }

Referenced by operator=().

◆ rod_run_no() [2/6]

void eformat::write::ROBFragment::rod_run_no ( uint32_t s)
inline

Changes the run number for the ROD fragment

Parameters
sThe new value to set

Definition at line 230 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

230{ m_node[3].base[4] = s; }

◆ rod_run_no() [3/6]

void eformat::write::ROBFragment::rod_run_no ( uint32_t s)
inline

Changes the run number for the ROD fragment

Parameters
sThe new value to set

Definition at line 230 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

230{ m_node[3].base[4] = s; }

◆ rod_run_no() [4/6]

uint32_t eformat::write::ROBFragment::rod_run_no ( void ) const
inline

Returns the run number for the ROD fragment

Definition at line 235 of file Event/eformat/include/eformat/write/ROBFragment.h.

235{ return m_node[3].base[4]; }

Referenced by ROBFragment(), ROBFragment(), ROBFragment(), ROBFragment(), and ROBFragment().

◆ rod_run_no() [5/6]

uint32_t eformat::write::ROBFragment::rod_run_no ( void ) const
inline

Returns the run number for the ROD fragment

Definition at line 235 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

235{ return m_node[3].base[4]; }

◆ rod_run_no() [6/6]

uint32_t eformat::write::ROBFragment::rod_run_no ( void ) const
inline

Returns the run number for the ROD fragment

Definition at line 235 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

235{ return m_node[3].base[4]; }

◆ rod_status() [1/6]

void eformat::write::ROBFragment::rod_status ( uint32_t n,
const uint32_t * status )

Changes the number of status words and the status words themselves from the ROD fragment

Parameters
nHow many status words the underlying ROD fragment supposed to have
statusA pointer to n pre-allocated words

Definition at line 220 of file ROBFragment.cxx.

220 {
221 if ( m_parent )
222 m_parent->size_change( m_node[0].base[1], m_node[0].base[1] - m_node[6].base[0] + n );
223 m_node[0].base[1] -= m_node[6].base[0]; // remove count from previous status
224 m_node[4].size_word = m_node[6].base[0] = n; // set new values
225 m_node[0].base[1] += n; // set ROB header's total fragment size
226 m_node[4].base = const_cast<uint32_t*>( status );
227}
void status(uint32_t n, const uint32_t *status)

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

◆ rod_status() [2/6]

void eformat::write::ROBFragment::rod_status ( uint32_t n,
const uint32_t * status )

Changes the number of status words and the status words themselves from the ROD fragment

Parameters
nHow many status words the underlying ROD fragment supposed to have
statusA pointer to n pre-allocated words

◆ rod_status() [3/6]

void eformat::write::ROBFragment::rod_status ( uint32_t n,
const uint32_t * status )

Changes the number of status words and the status words themselves from the ROD fragment

Parameters
nHow many status words the underlying ROD fragment supposed to have
statusA pointer to n pre-allocated words

◆ rod_status() [4/6]

const uint32_t * eformat::write::ROBFragment::rod_status ( void ) const
inline

Returns a pointer to the first ROD status word to be used by this fragment

Definition at line 169 of file Event/eformat/include/eformat/write/ROBFragment.h.

169{ return m_node[4].base; }

◆ rod_status() [5/6]

const uint32_t * eformat::write::ROBFragment::rod_status ( void ) const
inline

Returns a pointer to the first ROD status word to be used by this fragment

Definition at line 169 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

169{ return m_node[4].base; }

◆ rod_status() [6/6]

const uint32_t * eformat::write::ROBFragment::rod_status ( void ) const
inline

Returns a pointer to the first ROD status word to be used by this fragment

Definition at line 169 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

169{ return m_node[4].base; }

◆ size_word() [1/3]

uint32_t eformat::write::ROBFragment::size_word ( void ) const
inline

Returns the total size for this fragment, in words

Definition at line 297 of file Event/eformat/include/eformat/write/ROBFragment.h.

297{ return meta_size_word() + m_node[6].base[1]; }

Referenced by eformat::write::ROSFragment::append(), and ROBFragment().

◆ size_word() [2/3]

uint32_t eformat::write::ROBFragment::size_word ( void ) const
inline

Returns the total size for this fragment, in words

Definition at line 297 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

297{ return meta_size_word() + m_node[6].base[1]; }

◆ size_word() [3/3]

uint32_t eformat::write::ROBFragment::size_word ( void ) const
inline

Returns the total size for this fragment, in words

Definition at line 297 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

297{ return meta_size_word() + m_node[6].base[1]; }

◆ source_id() [1/6]

void eformat::write::ROBFragment::source_id ( uint32_t s)
inline

Changes the source identifier for both the ROB and the ROD fragments

Parameters
sThe new value to set

Definition at line 218 of file Event/eformat/include/eformat/write/ROBFragment.h.

218{ m_node[0].base[4] = m_node[3].base[3] = s; }

Referenced by eformat::write::ROSFragment::append(), operator=(), ROBFragment(), ROBFragment(), and ROBFragment().

◆ source_id() [2/6]

void eformat::write::ROBFragment::source_id ( uint32_t s)
inline

Changes the source identifier for both the ROB and the ROD fragments

Parameters
sThe new value to set

Definition at line 218 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

218{ m_node[0].base[4] = m_node[3].base[3] = s; }

◆ source_id() [3/6]

void eformat::write::ROBFragment::source_id ( uint32_t s)
inline

Changes the source identifier for both the ROB and the ROD fragments

Parameters
sThe new value to set

Definition at line 218 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

218{ m_node[0].base[4] = m_node[3].base[3] = s; }

◆ source_id() [4/6]

uint32_t eformat::write::ROBFragment::source_id ( void ) const
inline

Returns the source identifier for both the ROB and the ROD fragments

Definition at line 223 of file Event/eformat/include/eformat/write/ROBFragment.h.

223{ return m_node[0].base[4]; }

Referenced by ROBFragment(), and ROBFragment().

◆ source_id() [5/6]

uint32_t eformat::write::ROBFragment::source_id ( void ) const
inline

Returns the source identifier for both the ROB and the ROD fragments

Definition at line 223 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

223{ return m_node[0].base[4]; }

◆ source_id() [6/6]

uint32_t eformat::write::ROBFragment::source_id ( void ) const
inline

Returns the source identifier for both the ROB and the ROD fragments

Definition at line 223 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

223{ return m_node[0].base[4]; }

◆ status() [1/6]

void eformat::write::ROBFragment::status ( uint32_t n,
const uint32_t * status )

Changes the number of status words and the status words themselves from the fragment

Parameters
nHow many status words the underlying ROD fragment supposed to have.
statusA pointer to n pre-allocated words

Definition at line 209 of file ROBFragment.cxx.

209 {
210 if ( m_parent )
211 m_parent->size_change( m_node[0].base[1], m_node[0].base[1] - m_node[0].base[5] + n );
212 m_node[0].base[1] -= m_node[0].base[5]; // remove count from previous status
213 m_node[0].base[2] -= m_node[0].base[5]; // remove count from previous status
214 m_node[1].size_word = m_node[0].base[5] = n; // set new values
215 m_node[0].base[1] += n;
216 m_node[0].base[2] += n;
217 m_node[1].base = const_cast<uint32_t*>( status );
218}

Referenced by Builder::append2event(), eformat::old::convert(), convert_ros(), rod_status(), and status().

◆ status() [2/6]

void eformat::write::ROBFragment::status ( uint32_t n,
const uint32_t * status )

Changes the number of status words and the status words themselves from the fragment

Parameters
nHow many status words the underlying ROD fragment supposed to have.
statusA pointer to n pre-allocated words

◆ status() [3/6]

void eformat::write::ROBFragment::status ( uint32_t n,
const uint32_t * status )

Changes the number of status words and the status words themselves from the fragment

Parameters
nHow many status words the underlying ROD fragment supposed to have.
statusA pointer to n pre-allocated words

◆ status() [4/6]

const uint32_t * eformat::write::ROBFragment::status ( void ) const
inline

Returns a pointer to the first status word to be used by this fragment

Definition at line 134 of file Event/eformat/include/eformat/write/ROBFragment.h.

134{ return m_node[1].base; }

◆ status() [5/6]

const uint32_t * eformat::write::ROBFragment::status ( void ) const
inline

Returns a pointer to the first status word to be used by this fragment

Definition at line 134 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

134{ return m_node[1].base; }

◆ status() [6/6]

const uint32_t * eformat::write::ROBFragment::status ( void ) const
inline

Returns a pointer to the first status word to be used by this fragment

Definition at line 134 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

134{ return m_node[1].base; }

◆ status_position() [1/6]

void eformat::write::ROBFragment::status_position ( uint32_t v)

Changes the order of the status and data blocks in the ROD fragment

Parameters
sThe new value. If v is zero, the status will preceed the data, while the contrary will happen if v equals 1.

Definition at line 229 of file ROBFragment.cxx.

229 {
230 if ( v == m_node[6].base[2] ) return; // do nothing in this case:)
231 m_node[6].base[2] = v;
232 if ( m_node[6].base[2] == eformat::STATUS_FRONT )
233 {
234 m_node[3].next = &m_node[4];
235 m_node[4].next = &m_node[5];
236 m_node[5].next = &m_node[6];
237 }
238 else
239 {
240 m_node[3].next = &m_node[5];
241 m_node[5].next = &m_node[4];
242 m_node[4].next = &m_node[6];
243 }
244}

Referenced by ROBFragment().

◆ status_position() [2/6]

void eformat::write::ROBFragment::status_position ( uint32_t v)

Changes the order of the status and data blocks in the ROD fragment

Parameters
sThe new value. If v is zero, the status will preceed the data, while the contrary will happen if v equals 1.

◆ status_position() [3/6]

void eformat::write::ROBFragment::status_position ( uint32_t v)

Changes the order of the status and data blocks in the ROD fragment

Parameters
sThe new value. If v is zero, the status will preceed the data, while the contrary will happen if v equals 1.

◆ status_position() [4/6]

uint32_t eformat::write::ROBFragment::status_position ( void ) const
inline

Returns the current status position

Definition at line 182 of file Event/eformat/include/eformat/write/ROBFragment.h.

182{ return m_node[6].base[2]; }

◆ status_position() [5/6]

uint32_t eformat::write::ROBFragment::status_position ( void ) const
inline

Returns the current status position

Definition at line 182 of file InstallArea/x86_64-el9-gcc13-dbg/include/eformat/write/ROBFragment.h.

182{ return m_node[6].base[2]; }

◆ status_position() [6/6]

uint32_t eformat::write::ROBFragment::status_position ( void ) const
inline

Returns the current status position

Definition at line 182 of file InstallArea/x86_64-el9-gcc13-opt/include/eformat/write/ROBFragment.h.

182{ return m_node[6].base[2]; }

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