ATLAS Offline Software
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
CaloRecGPU::QualityProvenance Class Reference

#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

constexpr static carrier s_16_bit_mask = 0xFFFFU
 
constexpr static 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]

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

Definition at line 131 of file EventInfoDefinitions.h.

131  : value(v)
132  {
133  }

◆ QualityProvenance() [2/3]

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

Definition at line 151 of file EventInfoDefinitions.h.

151  : value(provenance)
152  //For non-tile
153  {
154  value = (value << 16) | quality;
155  }

◆ QualityProvenance() [3/3]

constexpr 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()

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

Definition at line 126 of file EventInfoDefinitions.h.

127  {
128  return value;
129  }

◆ operator=()

constexpr 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()

constexpr 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  }

◆ quality()

constexpr 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()

constexpr 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  }

◆ tile_qbit2()

constexpr 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()

constexpr 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()

constexpr 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

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

Definition at line 121 of file EventInfoDefinitions.h.

◆ s_8_bit_mask

constexpr static 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:
CaloRecGPU::QualityProvenance::value
carrier value
Definition: EventInfoDefinitions.h:119
CaloRecGPU::QualityProvenance::quality
constexpr unsigned int quality() const
Definition: EventInfoDefinitions.h:141
CaloRecGPU::QualityProvenance::s_8_bit_mask
constexpr static carrier s_8_bit_mask
Definition: EventInfoDefinitions.h:122
python.PyAthena.v
v
Definition: PyAthena.py:157
CaloRecGPU::QualityProvenance::s_16_bit_mask
constexpr static carrier s_16_bit_mask
Definition: EventInfoDefinitions.h:121
CaloRecGPU::QualityProvenance::provenance
constexpr unsigned int provenance() const
Definition: EventInfoDefinitions.h:146