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 116 of file EventInfoDefinitions.h.

Member Typedef Documentation

◆ carrier

Definition at line 118 of file EventInfoDefinitions.h.

Constructor & Destructor Documentation

◆ QualityProvenance() [1/3]

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

Definition at line 132 of file EventInfoDefinitions.h.

132 : value(v)
133 {
134 }

◆ QualityProvenance() [2/3]

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

Definition at line 152 of file EventInfoDefinitions.h.

153 //For non-tile
154 {
155 value = (value << 16) | quality;
156 }
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 158 of file EventInfoDefinitions.h.

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

Member Function Documentation

◆ operator carrier()

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

Definition at line 127 of file EventInfoDefinitions.h.

128 {
129 return value;
130 }

◆ operator=()

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

Definition at line 136 of file EventInfoDefinitions.h.

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

◆ provenance()

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

Definition at line 147 of file EventInfoDefinitions.h.

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

◆ quality()

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

Definition at line 142 of file EventInfoDefinitions.h.

143 {
144 return value & s_16_bit_mask;
145 }

◆ tile_qbit1()

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

Definition at line 177 of file EventInfoDefinitions.h.

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

◆ tile_qbit2()

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

Definition at line 182 of file EventInfoDefinitions.h.

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

◆ tile_qual1()

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

Definition at line 167 of file EventInfoDefinitions.h.

168 {
169 return value & s_8_bit_mask;
170 }

◆ tile_qual2()

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

Definition at line 172 of file EventInfoDefinitions.h.

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

Member Data Documentation

◆ s_16_bit_mask

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

Definition at line 122 of file EventInfoDefinitions.h.

◆ s_8_bit_mask

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

Definition at line 123 of file EventInfoDefinitions.h.

◆ value

carrier CaloRecGPU::QualityProvenance::value

Definition at line 120 of file EventInfoDefinitions.h.


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