BOSS 7.0.2
BESIII Offline Software System
|
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 () |
ROBFragment & | operator= (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_t * | bind (void) const |
void | parent (eformat::write::ROSFragment *ros) |
const ROSFragment * | parent (void) const |
void | next (const ROBFragment *n) |
const ROBFragment * | next (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 () |
ROBFragment & | operator= (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_t * | bind (void) const |
void | parent (eformat::write::ROSFragment *ros) |
const ROSFragment * | parent (void) const |
void | next (const ROBFragment *n) |
const ROBFragment * | next (void) const |
forward
Defines a helper class to aid the creation of ROB fragments.
Definition at line 28 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
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
source_id | The source identifier to be using for this ROB |
run_no | The run number for this ROB/ROD |
lvl1_id | The LVL1 identifier for this ROB/ROD |
bc_id | The bunch crossing identifier for this ROB/ROD |
lvl1_type | The LVL1 trigger type identifier for this ROB/ROD |
detev_type | The detector event type for this ROB/ROD |
ndata | The number of 32-bits pointed by "data" bellow |
data | A set of 32-bit words that consist the data block of this ROB fragment |
status_position | The 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.
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 71 of file ROBFragment.cxx.
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.
other | The other fragment to copy the meta data from. |
Definition at line 115 of file ROBFragment.cxx.
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.
rod | The rod fragment you want to start with, in a contiguous block of memory |
size_word | The size of the ROD fragment, in words |
Definition at line 126 of file ROBFragment.cxx.
eformat::write::ROBFragment::ROBFragment | ( | uint32_t * | rob | ) |
Builds a new ROB fragment from an existing ROB fragment in contiguous memory
rob | The ROB fragment you want to start with, in a contiguous block of memory |
Definition at line 158 of file ROBFragment.cxx.
|
inlinevirtual |
Base destructor
Definition at line 107 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
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
source_id | The source identifier to be using for this ROB |
run_no | The run number for this ROB/ROD |
lvl1_id | The LVL1 identifier for this ROB/ROD |
bc_id | The bunch crossing identifier for this ROB/ROD |
lvl1_type | The LVL1 trigger type identifier for this ROB/ROD |
detev_type | The detector event type for this ROB/ROD |
ndata | The number of 32-bits pointed by "data" bellow |
data | A set of 32-bit words that consist the data block of this ROB fragment |
status_position | The 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. |
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.
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.
other | The other fragment to copy the meta data from. |
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.
rod | The rod fragment you want to start with, in a contiguous block of memory |
size_word | The size of the ROD fragment, in words |
eformat::write::ROBFragment::ROBFragment | ( | uint32_t * | rob | ) |
Builds a new ROB fragment from an existing ROB fragment in contiguous memory
rob | The ROB fragment you want to start with, in a contiguous block of memory |
|
inlinevirtual |
Base destructor
Definition at line 107 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Outputs a concatenation of eformat::write::node making up a list with the contents of this ROB fragment.
Definition at line 327 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Outputs a concatenation of eformat::write::node making up a list with the contents of this ROB fragment.
Definition at line 327 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
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 309 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by size_word().
|
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 309 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Changes the minor version number of the fragment
v | The new minor version for this header |
Definition at line 148 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by eformat::old::convert(), and convert_ros().
|
inline |
Changes the minor version number of the fragment
v | The new minor version for this header |
Definition at line 148 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the minor version number of the fragment
Definition at line 154 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the minor version number of the fragment
Definition at line 154 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Sets the next sibling
n | The sibling following this fragment |
Definition at line 348 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by eformat::write::ROSFragment::bind(), PackedRawDataCnvSvc::commitOutput(), and eformat::write::ROSFragment::page_count().
|
inline |
Sets the next sibling
n | The sibling following this fragment |
Definition at line 348 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the next sibling
Definition at line 353 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the next sibling
Definition at line 353 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the number of status wors in this fragment
Definition at line 136 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the number of status wors in this fragment
Definition at line 136 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
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.
other | The other fragment to copy the meta data from. |
Definition at line 184 of file ROBFragment.cxx.
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.
other | The other fragment to copy the meta data from. |
|
inline |
Returns the number of pages of memory I have
Definition at line 321 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the number of pages of memory I have
Definition at line 321 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
This sets the parent fragment
ros | The ROS parent fragment of this ROB/ROD |
Definition at line 335 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by eformat::write::ROSFragment::append().
|
inline |
This sets the parent fragment
ros | The ROS parent fragment of this ROB/ROD |
Definition at line 335 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
This returns the parent fragment
Definition at line 341 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
This returns the parent fragment
Definition at line 341 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Changes the bunch crossing identifier in the ROD fragment
s | The new value to set |
Definition at line 267 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Changes the bunch crossing identifier in the ROD fragment
s | The new value to set |
Definition at line 267 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the bunch crossing identifier for the ROD fragment
Definition at line 273 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the bunch crossing identifier for the ROD fragment
Definition at line 273 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
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
n | How many data words the underlying ROD fragment supposed to have |
status | A pointer to n pre-allocated words |
Definition at line 264 of file ROBFragment.cxx.
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
n | How many data words the underlying ROD fragment supposed to have |
status | A pointer to n pre-allocated words |
|
inline |
Returns a pointer to the first of the data words at the ROD fragment
Definition at line 218 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns a pointer to the first of the data words at the ROD fragment
Definition at line 218 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Changes the detector event type in the ROD fragment
s | The new value to set |
Definition at line 295 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Changes the detector event type in the ROD fragment
s | The new value to set |
Definition at line 295 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the detector event type identifier for the ROD fragment
Definition at line 301 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the detector event type identifier for the ROD fragment
Definition at line 301 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Changes the lvl1 identifier in the ROD fragment
s | The new value to set |
Definition at line 253 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Changes the lvl1 identifier in the ROD fragment
s | The new value to set |
Definition at line 253 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the lvl1 identifier for the ROD fragment
Definition at line 259 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by ROBFragment().
|
inline |
Returns the lvl1 identifier for the ROD fragment
Definition at line 259 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Changes the lvl1 trigger type in the ROD fragment
s | The new value to set |
Definition at line 281 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Changes the lvl1 trigger type in the ROD fragment
s | The new value to set |
Definition at line 281 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the lvl1 event type identifier for the ROD fragment
Definition at line 287 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the lvl1 event type identifier for the ROD fragment
Definition at line 287 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Changes the minor version number of the underlying ROD fragment
v | The new minor version for this header |
Definition at line 197 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by eformat::old::convert(), and convert_ros().
|
inline |
Changes the minor version number of the underlying ROD fragment
v | The new minor version for this header |
Definition at line 197 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the number of data words at the ROD fragment
Definition at line 213 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the number of data words at the ROD fragment
Definition at line 213 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the number of status wors in this fragment
Definition at line 170 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns the number of status wors in this fragment
Definition at line 170 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Changes the run number for the ROD fragment
s | The new value to set |
Definition at line 239 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Changes the run number for the ROD fragment
s | The new value to set |
Definition at line 239 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the run number for the ROD fragment
Definition at line 245 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by ROBFragment().
|
inline |
Returns the run number for the ROD fragment
Definition at line 245 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
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
n | How many status words the underlying ROD fragment supposed to have |
status | A pointer to n pre-allocated words |
Definition at line 237 of file ROBFragment.cxx.
Referenced by Builder::append2event(), eformat::old::convert(), and convert_ros().
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
n | How many status words the underlying ROD fragment supposed to have |
status | A pointer to n pre-allocated words |
|
inline |
Returns a pointer to the first ROD status word to be used by this fragment
Definition at line 176 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns a pointer to the first ROD status word to be used by this fragment
Definition at line 176 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the total size for this fragment, in words
Definition at line 315 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by eformat::write::ROSFragment::append(), and ROBFragment().
|
inline |
Returns the total size for this fragment, in words
Definition at line 315 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Changes the source identifier for both the ROB and the ROD fragments
s | The new value to set |
Definition at line 225 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by eformat::write::ROSFragment::append().
|
inline |
Changes the source identifier for both the ROB and the ROD fragments
s | The new value to set |
Definition at line 225 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
|
inline |
Returns the source identifier for both the ROB and the ROD fragments
Definition at line 231 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by operator=(), and ROBFragment().
|
inline |
Returns the source identifier for both the ROB and the ROD fragments
Definition at line 231 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
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
n | How many status words the underlying ROD fragment supposed to have. |
status | A pointer to n pre-allocated words |
Definition at line 225 of file ROBFragment.cxx.
Referenced by Builder::append2event(), eformat::old::convert(), and convert_ros().
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
n | How many status words the underlying ROD fragment supposed to have. |
status | A pointer to n pre-allocated words |
|
inline |
Returns a pointer to the first status word to be used by this fragment
Definition at line 141 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
|
inline |
Returns a pointer to the first status word to be used by this fragment
Definition at line 141 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.
void eformat::write::ROBFragment::status_position | ( | uint32_t | v | ) |
Changes the order of the status and data blocks in the ROD fragment
s | The new value. If v is zero, the status will preceed the data, while the contrary will happen if v equals 1. |
Definition at line 248 of file ROBFragment.cxx.
void eformat::write::ROBFragment::status_position | ( | uint32_t | v | ) |
Changes the order of the status and data blocks in the ROD fragment
s | The new value. If v is zero, the status will preceed the data, while the contrary will happen if v equals 1. |
|
inline |
Returns the current status position
Definition at line 189 of file Event/eformat/eformat-00-00-04/eformat/write/ROBFragment.h.
Referenced by ROBFragment().
|
inline |
Returns the current status position
Definition at line 189 of file InstallArea/include/eformat/eformat/write/ROBFragment.h.