![]() |
ATLAS Offline Software
|
Type describing a range of elements living in a one of N containers. More...
#include <PhaseIIInDetRawDataContainer.h>
Public Types | |
| using | RangeBeginIndex_t = std::uint32_t |
| using | RangeSize_t = std::uint16_t |
| using | ContainerIndex_t = std::uint16_t |
Public Member Functions | |
| DataRange () | |
| DataRange (std::uint64_t compact_range) | |
| DataRange (unsigned int begin_val, unsigned int n, unsigned int idx) | |
| DataRange (std::uint32_t begin_val, std::uint16_t n, std::uint16_t idx) | |
| std::uint64_t | makeCompact () const |
| void | setSize (RangeSize_t new_size) |
| std::uint16_t | containerIndex () const |
| unsigned int | beginIndex () const |
| unsigned int | endIndex () const |
| std::uint16_t | size () const |
| bool | empty () const |
Static Public Member Functions | |
| template<typename T_ElementIndex, typename T_ContainerIndex> | |
| static DataRange | makeDataRange (T_ElementIndex begin_index, T_ElementIndex end_index, T_ContainerIndex container_index) |
Public Attributes | |
| union { | |
| struct Range { | |
| RangeBeginIndex_t m_beginIndex {} | |
| the index of the first element in the range in the container defined by the container index More... | |
| RangeSize_t m_n {} | |
| the number of elements in this range. More... | |
| ContainerIndex_t m_containerIndex {} | |
| the index which identifies the the container within a container collection More... | |
| } m_range | |
| std::uint64_t m_compactRange | |
| } | m_payload |
Type describing a range of elements living in a one of N containers.
The types of the index of the first element, number of elements, and container index are chosen such that the resulting struct does not exceed 64 bits to allow for an atomic update of a range. @TODO make members private ?
Definition at line 38 of file PhaseIIInDetRawDataContainer.h.
| using PhaseII::DataRange::ContainerIndex_t = std::uint16_t |
Definition at line 41 of file PhaseIIInDetRawDataContainer.h.
| using PhaseII::DataRange::RangeBeginIndex_t = std::uint32_t |
Definition at line 39 of file PhaseIIInDetRawDataContainer.h.
| using PhaseII::DataRange::RangeSize_t = std::uint16_t |
Definition at line 40 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 53 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 54 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 55 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 62 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 73 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 72 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 76 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 74 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 66 of file PhaseIIInDetRawDataContainer.h.
|
inlinestatic |
Definition at line 78 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 71 of file PhaseIIInDetRawDataContainer.h.
|
inline |
Definition at line 75 of file PhaseIIInDetRawDataContainer.h.
| RangeBeginIndex_t PhaseII::DataRange::m_beginIndex {} |
the index of the first element in the range in the container defined by the container index
Definition at line 46 of file PhaseIIInDetRawDataContainer.h.
| std::uint64_t PhaseII::DataRange::m_compactRange |
Definition at line 50 of file PhaseIIInDetRawDataContainer.h.
| ContainerIndex_t PhaseII::DataRange::m_containerIndex {} |
the index which identifies the the container within a container collection
Definition at line 48 of file PhaseIIInDetRawDataContainer.h.
| RangeSize_t PhaseII::DataRange::m_n {} |
the number of elements in this range.
Definition at line 47 of file PhaseIIInDetRawDataContainer.h.
| union { ... } PhaseII::DataRange::m_payload |
| struct { ... } ::Range PhaseII::DataRange::m_range |