BOSS 7.0.4
BESIII Offline Software System
|
forward More...
#include <ROSFragment.h>
Public Member Functions | |
ROSFragment (uint32_t source_id, uint32_t run_no, uint32_t lvl1_id, uint32_t bc_id) | |
ROSFragment (uint32_t *ros) | |
ROSFragment (eformat::write::node_t *ros) | |
ROSFragment () | |
ROSFragment (const ROSFragment &other) | |
virtual | ~ROSFragment () |
ROSFragment & | operator= (const ROSFragment &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 | source_id (uint32_t s) |
uint32_t | source_id (void) const |
void | run_no (uint32_t s) |
uint32_t | run_no (void) const |
void | lvl1_id (uint32_t s) |
uint32_t | lvl1_id (void) const |
void | bc_id (uint32_t s) |
uint32_t | bc_id (void) const |
uint32_t | meta_size_word (void) const |
uint32_t | size_word (void) const |
void | append (eformat::write::ROBFragment *rob) |
const ROBFragment * | first_child (void) const |
void | size_change (uint32_t o, uint32_t n) |
const SubDetectorFragment * | parent (void) const |
void | parent (eformat::write::SubDetectorFragment *sd) |
const ROSFragment * | next (void) const |
void | next (const ROSFragment *n) |
uint32_t | page_count (void) const |
const eformat::write::node_t * | bind (void) |
const eformat::write::node_t * | extra (void) |
ROSFragment (uint32_t source_id, uint32_t run_no, uint32_t lvl1_id, uint32_t bc_id) | |
ROSFragment (uint32_t *ros) | |
ROSFragment (eformat::write::node_t *ros) | |
ROSFragment () | |
ROSFragment (const ROSFragment &other) | |
virtual | ~ROSFragment () |
ROSFragment & | operator= (const ROSFragment &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 | source_id (uint32_t s) |
uint32_t | source_id (void) const |
void | run_no (uint32_t s) |
uint32_t | run_no (void) const |
void | lvl1_id (uint32_t s) |
uint32_t | lvl1_id (void) const |
void | bc_id (uint32_t s) |
uint32_t | bc_id (void) const |
uint32_t | meta_size_word (void) const |
uint32_t | size_word (void) const |
void | append (eformat::write::ROBFragment *rob) |
const ROBFragment * | first_child (void) const |
void | size_change (uint32_t o, uint32_t n) |
const SubDetectorFragment * | parent (void) const |
void | parent (eformat::write::SubDetectorFragment *sd) |
const ROSFragment * | next (void) const |
void | next (const ROSFragment *n) |
uint32_t | page_count (void) const |
const eformat::write::node_t * | bind (void) |
const eformat::write::node_t * | extra (void) |
forward
Defines a helper class to aid the creation of ROS fragments.
Definition at line 27 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
eformat::write::ROSFragment::ROSFragment | ( | uint32_t | source_id, |
uint32_t | run_no, | ||
uint32_t | lvl1_id, | ||
uint32_t | bc_id | ||
) |
Builds a new ROS fragment from scratch
source_id | The source identifier to be using for this ROS |
run_no | The run number for this ROS |
lvl1_id | The LVL1 identifier for this ROS |
bc_id | The bunch crossing identifier for this ROS |
Definition at line 19 of file ROSFragment.cxx.
eformat::write::ROSFragment::ROSFragment | ( | uint32_t * | ros | ) |
Builds a new ROS fragment from an existing ROS fragment in contiguous memory.
ros | The existing ROS fragment |
Definition at line 48 of file ROSFragment.cxx.
eformat::write::ROSFragment::ROSFragment | ( | eformat::write::node_t * | ros | ) |
Builds a new ROS fragment from an existing ROS fragment in non-contiguous memory. The top-level fragment header is expected to be on a contiguous area of memory, together with the first word of the first child fragment (i.e. the ROB header marker). The following data can be spread around.
ros | The existing ROS fragment, as a list of nodes, pre-concatenated by the caller. |
Definition at line 66 of file ROSFragment.cxx.
eformat::write::ROSFragment::ROSFragment | ( | ) |
Builds a new empty ROS fragment, otherwise invalid. This is useful for array builds and standard containers.
Definition at line 85 of file ROSFragment.cxx.
eformat::write::ROSFragment::ROSFragment | ( | const ROSFragment & | other | ) |
Copy constructor. This will only copy the meta data, not the fragment relationships and block-data (children, parent and status block) contained in the to-be-copied fragment. If you wish this fragment has the same parents, and children of the copied fragment, you have to do this operation manually, after copying. If you wish to make a copy of the status as well, do it manually and then assign it to this fragment using the status() method.
other | The other fragment to take the meta data from. |
Definition at line 113 of file ROSFragment.cxx.
|
inlinevirtual |
Base destructor
Definition at line 84 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
eformat::write::ROSFragment::ROSFragment | ( | uint32_t | source_id, |
uint32_t | run_no, | ||
uint32_t | lvl1_id, | ||
uint32_t | bc_id | ||
) |
Builds a new ROS fragment from scratch
source_id | The source identifier to be using for this ROS |
run_no | The run number for this ROS |
lvl1_id | The LVL1 identifier for this ROS |
bc_id | The bunch crossing identifier for this ROS |
eformat::write::ROSFragment::ROSFragment | ( | uint32_t * | ros | ) |
Builds a new ROS fragment from an existing ROS fragment in contiguous memory.
ros | The existing ROS fragment |
eformat::write::ROSFragment::ROSFragment | ( | eformat::write::node_t * | ros | ) |
Builds a new ROS fragment from an existing ROS fragment in non-contiguous memory. The top-level fragment header is expected to be on a contiguous area of memory, together with the first word of the first child fragment (i.e. the ROB header marker). The following data can be spread around.
ros | The existing ROS fragment, as a list of nodes, pre-concatenated by the caller. |
eformat::write::ROSFragment::ROSFragment | ( | ) |
Builds a new empty ROS fragment, otherwise invalid. This is useful for array builds and standard containers.
eformat::write::ROSFragment::ROSFragment | ( | const ROSFragment & | other | ) |
Copy constructor. This will only copy the meta data, not the fragment relationships and block-data (children, parent and status block) contained in the to-be-copied fragment. If you wish this fragment has the same parents, and children of the copied fragment, you have to do this operation manually, after copying. If you wish to make a copy of the status as well, do it manually and then assign it to this fragment using the status() method.
other | The other fragment to take the meta data from. |
|
inlinevirtual |
Base destructor
Definition at line 84 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
void eformat::write::ROSFragment::append | ( | eformat::write::ROBFragment * | rob | ) |
Appends a new ROB fragment to this ROS fragment.
rob | The ROB fragment to be appended to myself |
Definition at line 169 of file ROSFragment.cxx.
Referenced by Builder::append2event(), eformat::old::convert(), convert_ros(), and main().
void eformat::write::ROSFragment::append | ( | eformat::write::ROBFragment * | rob | ) |
Appends a new ROB fragment to this ROS fragment.
rob | The ROB fragment to be appended to myself |
|
inline |
Changes the bunch crossing identifier in this fragment
s | The new value to set |
Definition at line 179 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
Changes the bunch crossing identifier in this fragment
s | The new value to set |
Definition at line 179 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Returns the bunch crossing identifier for this fragment
Definition at line 185 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by ROSFragment().
|
inline |
Returns the bunch crossing identifier for this fragment
Definition at line 185 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
const eformat::write::node_t * eformat::write::ROSFragment::bind | ( | void | ) |
Returns the first node of a list of nodes that represent the fragment you have constructed. To make use of it, just browse the list as defined in node.h
Definition at line 195 of file ROSFragment.cxx.
Referenced by convert_ros().
const eformat::write::node_t * eformat::write::ROSFragment::bind | ( | void | ) |
Returns the first node of a list of nodes that represent the fragment you have constructed. To make use of it, just browse the list as defined in node.h
|
inline |
Return the extra node of the fragment for OHFiller_write. lifei
Definition at line 281 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
Return the extra node of the fragment for OHFiller_write. lifei
Definition at line 281 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
This returns the first child of this fragment. The system operates as a concatenated list of fragments. From this child you can get to the next.
Definition at line 222 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by PackedRawDataCnvSvc::commitOutput().
|
inline |
This returns the first child of this fragment. The system operates as a concatenated list of fragments. From this child you can get to the next.
Definition at line 222 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Changes the lvl1 identifier in this fragment
s | The new value to set |
Definition at line 165 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
Changes the lvl1 identifier in this fragment
s | The new value to set |
Definition at line 165 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Returns the lvl1 identifier for this fragment
Definition at line 171 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by operator=(), and ROSFragment().
|
inline |
Returns the lvl1 identifier for this fragment
Definition at line 171 of file InstallArea/include/eformat/eformat/write/ROSFragment.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 193 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.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 193 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Changes the minor version number of the fragment
v | The new minor version for this header |
Definition at line 123 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.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 123 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Returns the minor version number of the fragment
Definition at line 129 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
Returns the minor version number of the fragment
Definition at line 129 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Sets the next sibling
n | The sibling following this fragment |
Definition at line 257 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
Sets the next sibling
n | The sibling following this fragment |
Definition at line 257 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Returns the next sibling
Definition at line 250 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by PackedRawDataCnvSvc::commitOutput(), and eformat::write::SubDetectorFragment::page_count().
|
inline |
Returns the next sibling
Definition at line 250 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Returns the number of status wors in this fragment
Definition at line 111 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
Returns the number of status wors in this fragment
Definition at line 111 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
eformat::write::ROSFragment & eformat::write::ROSFragment::operator= | ( | const ROSFragment & | other | ) |
Assigment operator. This will only copy the meta data, not the fragment relationships and block-data (children and parent and status block) contained in the to-be-copied fragment. If you wish this fragment has the same parents, and children of the copied fragment, you have to do this operation manually, after copying. If you wish to make a copy of the status as well, do it manually and then assign it to this fragment using the status() method.
other | The other fragment to take the meta data from. |
Definition at line 128 of file ROSFragment.cxx.
ROSFragment & eformat::write::ROSFragment::operator= | ( | const ROSFragment & | other | ) |
Assigment operator. This will only copy the meta data, not the fragment relationships and block-data (children and parent and status block) contained in the to-be-copied fragment. If you wish this fragment has the same parents, and children of the copied fragment, you have to do this operation manually, after copying. If you wish to make a copy of the status as well, do it manually and then assign it to this fragment using the status() method.
other | The other fragment to take the meta data from. |
uint32_t eformat::write::ROSFragment::page_count | ( | void | ) | const |
Returns the total number of (raw memory) pages this fragment is composed of.
Definition at line 187 of file ROSFragment.cxx.
uint32_t eformat::write::ROSFragment::page_count | ( | void | ) | const |
Returns the total number of (raw memory) pages this fragment is composed of.
|
inline |
This sets the parent fragment
sd | The SubDetectorFragment parent fragment of this ROS |
Definition at line 244 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
This sets the parent fragment
sd | The SubDetectorFragment parent fragment of this ROS |
Definition at line 244 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
This returns the parent fragment
Definition at line 236 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by eformat::write::SubDetectorFragment::append().
|
inline |
This returns the parent fragment
Definition at line 236 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Changes the run number
s | The new value to set |
Definition at line 151 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
Changes the run number
s | The new value to set |
Definition at line 151 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Returns the run number for this fragment
Definition at line 157 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by operator=(), and ROSFragment().
|
inline |
Returns the run number for this fragment
Definition at line 157 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
void eformat::write::ROSFragment::size_change | ( | uint32_t | o, |
uint32_t | n | ||
) |
This method is used by children of this fragment to notify fragment size changes.
o | The old size, in 32-bit words |
n | The new size, in 32-bit words |
Definition at line 161 of file ROSFragment.cxx.
Referenced by eformat::write::SubDetectorFragment::append().
void eformat::write::ROSFragment::size_change | ( | uint32_t | o, |
uint32_t | n | ||
) |
This method is used by children of this fragment to notify fragment size changes.
o | The old size, in 32-bit words |
n | The new size, in 32-bit words |
|
inline |
Returns the total size for this fragment, in words
Definition at line 199 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by eformat::write::SubDetectorFragment::append().
|
inline |
Returns the total size for this fragment, in words
Definition at line 199 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Changes the source identifier for this fragment
s | The new value to set |
Definition at line 137 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by eformat::write::SubDetectorFragment::append().
|
inline |
Changes the source identifier for this fragment
s | The new value to set |
Definition at line 137 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
|
inline |
Returns the source identifier for this fragment
Definition at line 143 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
Referenced by operator=(), and ROSFragment().
|
inline |
Returns the source identifier for this fragment
Definition at line 143 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.
void eformat::write::ROSFragment::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 this fragment is supposed to have. |
status | A pointer to n pre-allocated words |
Definition at line 149 of file ROSFragment.cxx.
Referenced by Builder::append2event(), eformat::old::convert(), and convert_ros().
void eformat::write::ROSFragment::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 this fragment is 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 116 of file Event/eformat/eformat-00-00-04/eformat/write/ROSFragment.h.
|
inline |
Returns a pointer to the first status word to be used by this fragment
Definition at line 116 of file InstallArea/include/eformat/eformat/write/ROSFragment.h.