ATLAS Offline Software
Loading...
Searching...
No Matches
CaloRecGPU::QualityProvenance Class Reference

Just two uint16_t bit-packed onto a uint32_t. More...

#include <EventInfoDefinitions.h>

Collaboration diagram for CaloRecGPU::QualityProvenance:

Public Types

using carrier = unsigned int

Public Member Functions

constexpr operator carrier () const
constexpr QualityProvenance (const carrier v)
constexpr QualityProvenanceoperator= (const carrier v)
constexpr unsigned int quality () const
constexpr unsigned int provenance () const
constexpr QualityProvenance (const uint16_t quality, const uint16_t provenance)
constexpr QualityProvenance (const uint8_t q1, const uint8_t q2, const uint8_t q3, const uint8_t q4)
constexpr unsigned int tile_qual1 () const
constexpr unsigned int tile_qual2 () const
constexpr unsigned int tile_qbit1 () const
constexpr unsigned int tile_qbit2 () const

Public Attributes

carrier value

Static Public Attributes

static constexpr carrier s_16_bit_mask = 0xFFFFU
static constexpr carrier s_8_bit_mask = 0x00FFU

Detailed Description

Just two uint16_t bit-packed onto a uint32_t.

Not too worrisome for GPU performance since the kinds of things that ask the most for quality and provenance (cluster moments calculation) do ask for them both at the same time, so slower separate accesses are a non-issue.

Definition at line 115 of file EventInfoDefinitions.h.

Member Typedef Documentation

◆ carrier

Definition at line 117 of file EventInfoDefinitions.h.

Constructor & Destructor Documentation

◆ QualityProvenance() [1/3]

CaloRecGPU::QualityProvenance::QualityProvenance ( const carrier v)
inlineconstexpr

Definition at line 131 of file EventInfoDefinitions.h.

131 : value(v)
132 {
133 }

◆ QualityProvenance() [2/3]

CaloRecGPU::QualityProvenance::QualityProvenance ( const uint16_t quality,
const uint16_t provenance )
inlineconstexpr

Definition at line 151 of file EventInfoDefinitions.h.

152 //For non-tile
153 {
154 value = (value << 16) | quality;
155 }
constexpr unsigned int provenance() const
constexpr unsigned int quality() const

◆ QualityProvenance() [3/3]

CaloRecGPU::QualityProvenance::QualityProvenance ( const uint8_t q1,
const uint8_t q2,
const uint8_t q3,
const uint8_t q4 )
inlineconstexpr

Definition at line 157 of file EventInfoDefinitions.h.

157 :
158 value(q4)
159 //For tile
160 {
161 value = (value << 8) | q3;
162 value = (value << 8) | q2;
163 value = (value << 8) | q1;
164 }

Member Function Documentation

◆ operator carrier()

CaloRecGPU::QualityProvenance::operator carrier ( ) const
inlineconstexpr

Definition at line 126 of file EventInfoDefinitions.h.

127 {
128 return value;
129 }

◆ operator=()

QualityProvenance & CaloRecGPU::QualityProvenance::operator= ( const carrier v)
inlineconstexpr

Definition at line 135 of file EventInfoDefinitions.h.

136 {
137 value = v;
138 return (*this);
139 }

◆ provenance()

unsigned int CaloRecGPU::QualityProvenance::provenance ( ) const
inlineconstexpr

Definition at line 146 of file EventInfoDefinitions.h.

147 {
148 return (value >> 16) & s_16_bit_mask;
149 }
static constexpr carrier s_16_bit_mask

◆ quality()

unsigned int CaloRecGPU::QualityProvenance::quality ( ) const
inlineconstexpr

Definition at line 141 of file EventInfoDefinitions.h.

142 {
143 return value & s_16_bit_mask;
144 }

◆ tile_qbit1()

unsigned int CaloRecGPU::QualityProvenance::tile_qbit1 ( ) const
inlineconstexpr

Definition at line 176 of file EventInfoDefinitions.h.

177 {
178 return (value >> 16) & s_8_bit_mask;
179 }
static constexpr carrier s_8_bit_mask

◆ tile_qbit2()

unsigned int CaloRecGPU::QualityProvenance::tile_qbit2 ( ) const
inlineconstexpr

Definition at line 181 of file EventInfoDefinitions.h.

182 {
183 return (value >> 24) & s_8_bit_mask;
184 }

◆ tile_qual1()

unsigned int CaloRecGPU::QualityProvenance::tile_qual1 ( ) const
inlineconstexpr

Definition at line 166 of file EventInfoDefinitions.h.

167 {
168 return value & s_8_bit_mask;
169 }

◆ tile_qual2()

unsigned int CaloRecGPU::QualityProvenance::tile_qual2 ( ) const
inlineconstexpr

Definition at line 171 of file EventInfoDefinitions.h.

172 {
173 return (value >> 8) & s_8_bit_mask;
174 }

Member Data Documentation

◆ s_16_bit_mask

carrier CaloRecGPU::QualityProvenance::s_16_bit_mask = 0xFFFFU
staticconstexpr

Definition at line 121 of file EventInfoDefinitions.h.

◆ s_8_bit_mask

carrier CaloRecGPU::QualityProvenance::s_8_bit_mask = 0x00FFU
staticconstexpr

Definition at line 122 of file EventInfoDefinitions.h.

◆ value

carrier CaloRecGPU::QualityProvenance::value

Definition at line 119 of file EventInfoDefinitions.h.


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