|
epic-drich-beam-test-analysis
ePIC dRICH beam test analysis framework
|
Plain-old-data aggregate that owns all spill information for one beam spill. More...
#include <alcor_spilldata.h>
Public Member Functions | |
| alcor_spilldata_struct (alcor_spilldata_struct &&) noexcept=default | |
| alcor_spilldata_struct & | operator= (alcor_spilldata_struct &&) noexcept=default |
| alcor_spilldata_struct (const alcor_spilldata_struct &)=default | |
| alcor_spilldata_struct & | operator= (const alcor_spilldata_struct &)=default |
| void | clear () |
| Resets all members to an empty state and re-synchronises the branch-address pointers with their respective vectors. | |
Public Attributes | |
| std::map< uint8_t, uint32_t > | dead_mask |
| device → dead-channel bitmask. | |
| std::map< uint8_t, uint32_t > | participants_mask |
| device → participating-channel bitmask. | |
| std::map< uint32_t, alcor_lightdata_struct > | frame_and_lightdata |
| frame_id → light-data payload. | |
| std::vector< data_mask_struct > | dead_mask_list |
Flat copy of dead_mask for TTree output. | |
| std::vector< data_mask_struct > | participants_mask_list |
Flat copy of participants_mask for TTree output. | |
| std::vector< uint32_t > | frame_reference |
| Ordered list of frame IDs written to the TTree. | |
| std::vector< alcor_lightdata_struct > | lightdata_list_in_frame |
Light-data entries parallel to frame_reference. | |
| std::vector< data_mask_struct > * | dead_mask_list_ptr |
| Stable pointer for ROOT branch address. | |
| std::vector< data_mask_struct > * | participants_mask_list_ptr |
| Stable pointer for ROOT branch address. | |
| std::vector< uint32_t > * | frame_reference_ptr |
| Stable pointer for ROOT branch address. | |
| std::vector< alcor_lightdata_struct > * | lightdata_list_in_frame_ptr |
| Stable pointer for ROOT branch address. | |
Plain-old-data aggregate that owns all spill information for one beam spill.
A "spill" is one burst of beam delivered to the detector. The struct holds two parallel representations of the same data:
dead_mask, participants_mask, frame_and_lightdata) used during online processing where random-access by key is needed.*_list, frame_reference, lightdata_list_in_frame) used for ROOT TTree I/O, which requires contiguous, pointer-stable storage.*_ptr) exist solely so that ROOT's TTree::SetBranchAddress can receive a stable address even when the vectors are reallocated. They are always kept in sync with the corresponding vector via clear() and prepare_tree_fill().