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

#include <ExtraTagDefinitions.h>

Inheritance diagram for CaloRecGPU::Tag_1_1_12_16_18_16:
Collaboration diagram for CaloRecGPU::Tag_1_1_12_16_18_16:

Public Types

using carrier = CaloRecGPU::TagBase::carrier
 

Public Member Functions

constexpr bool get_first_flag () const
 
constexpr carrier set_first_flag () const
 
constexpr carrier unset_first_flag () const
 
constexpr bool get_second_flag () const
 
constexpr carrier set_second_flag () const
 
constexpr carrier unset_second_flag () const
 
constexpr uint32_t get_12_bits () const
 
constexpr uint32_t get_first_16_bits () const
 
constexpr uint32_t get_18_bits () const
 
constexpr uint32_t get_second_16_bits () const
 
constexpr GenericTagBase (const carrier v)
 
constexpr operator carrier () const
 

Static Public Member Functions

static constexpr carrier make_generic_tag (const uint16_t second_bits_16, const uint32_t bits_18, const uint16_t first_bits_16, const uint16_t bits_12, const bool flag_2, const bool flag_1)
 
static constexpr carrier make_invalid_tag ()
 

Public Attributes

carrier value
 

Static Protected Attributes

constexpr static carrier s_first_flag_mask = 0x8000000000000000ULL
 
constexpr static carrier s_second_flag_mask = 0x4000000000000000ULL
 
constexpr static carrier s_12_bit_mask = 0x3FFC000000000000ULL
 
constexpr static carrier s_first_16_bit_mask = 0x0003FFFC00000000ULL
 
constexpr static carrier s_18_bit_mask = 0x00000003FFFF0000ULL
 
constexpr static carrier s_second_16_bit_mask = 0x000000000000FFFFULL
 
constexpr static unsigned int s_second_16_bit_offset = 0
 
constexpr static unsigned int s_18_bit_offset = s_second_16_bit_offset + 16
 
constexpr static unsigned int s_first_16_bit_offset = s_18_bit_offset + 18
 
constexpr static unsigned int s_12_bit_offset = s_first_16_bit_offset + 16
 

Detailed Description

A tag with two bit flags, then 12 bits (for a counter), 16 bits (for a half-precision float), 18 bits (for a cell index) and 16 bits (for a cluster index)

Definition at line 124 of file ExtraTagDefinitions.h.

Member Typedef Documentation

◆ carrier

Definition at line 31 of file ExtraTagDefinitions.h.

Member Function Documentation

◆ GenericTagBase()

constexpr CaloRecGPU::GenericTagBase::GenericTagBase
inlineconstexpr

Definition at line 41 of file ExtraTagDefinitions.h.

41  : value(v)
42  {
43  }

◆ get_12_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_12_16_18_16::get_12_bits ( ) const
inlineconstexpr

Definition at line 176 of file ExtraTagDefinitions.h.

177  {
178  return (value & s_12_bit_mask) >> s_12_bit_offset;
179  }

◆ get_18_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_12_16_18_16::get_18_bits ( ) const
inlineconstexpr

Definition at line 186 of file ExtraTagDefinitions.h.

187  {
188  return (value & s_18_bit_mask) >> s_18_bit_offset;
189  }

◆ get_first_16_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_12_16_18_16::get_first_16_bits ( ) const
inlineconstexpr

Definition at line 181 of file ExtraTagDefinitions.h.

182  {
184  }

◆ get_first_flag()

constexpr bool CaloRecGPU::Tag_1_1_12_16_18_16::get_first_flag ( ) const
inlineconstexpr

Definition at line 146 of file ExtraTagDefinitions.h.

147  {
148  return value & s_first_flag_mask;
149  }

◆ get_second_16_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_12_16_18_16::get_second_16_bits ( ) const
inlineconstexpr

Definition at line 191 of file ExtraTagDefinitions.h.

192  {
194  }

◆ get_second_flag()

constexpr bool CaloRecGPU::Tag_1_1_12_16_18_16::get_second_flag ( ) const
inlineconstexpr

Definition at line 161 of file ExtraTagDefinitions.h.

162  {
163  return value & s_second_flag_mask;
164  }

◆ make_generic_tag()

static constexpr carrier CaloRecGPU::Tag_1_1_12_16_18_16::make_generic_tag ( const uint16_t  second_bits_16,
const uint32_t  bits_18,
const uint16_t  first_bits_16,
const uint16_t  bits_12,
const bool  flag_2,
const bool  flag_1 
)
inlinestaticconstexpr

Definition at line 196 of file ExtraTagDefinitions.h.

199  {
200  constexpr uint16_t twelve_bits_mask = 0xFFFU;
201  constexpr uint32_t eighteen_bits_mask = 0x3FFFFU;
202 
203  carrier ret = bits_12 & twelve_bits_mask;
204 
205  ret = (ret << 16) | first_bits_16;
206 
207  ret = (ret << 18) | (bits_18 & eighteen_bits_mask);
208 
209  ret = (ret << 16) | second_bits_16;
210 
211  ret = ret | (s_second_flag_mask * flag_2) | (s_first_flag_mask * flag_1);
212 
213  return ret;
214  }

◆ make_invalid_tag()

static constexpr carrier CaloRecGPU::GenericTagBase::make_invalid_tag ( )
inlinestaticconstexprinherited

Definition at line 51 of file ExtraTagDefinitions.h.

52  {
53  return 0ULL;
54  }

◆ operator carrier()

constexpr CaloRecGPU::GenericTagBase::operator carrier ( ) const
inlineconstexprinherited

Definition at line 36 of file ExtraTagDefinitions.h.

37  {
38  return value;
39  }

◆ set_first_flag()

constexpr carrier CaloRecGPU::Tag_1_1_12_16_18_16::set_first_flag ( ) const
inlineconstexpr

Definition at line 151 of file ExtraTagDefinitions.h.

152  {
153  return value | s_first_flag_mask;
154  }

◆ set_second_flag()

constexpr carrier CaloRecGPU::Tag_1_1_12_16_18_16::set_second_flag ( ) const
inlineconstexpr

Definition at line 166 of file ExtraTagDefinitions.h.

167  {
168  return value | s_second_flag_mask;
169  }

◆ unset_first_flag()

constexpr carrier CaloRecGPU::Tag_1_1_12_16_18_16::unset_first_flag ( ) const
inlineconstexpr

Definition at line 156 of file ExtraTagDefinitions.h.

157  {
158  return value & (~s_first_flag_mask);
159  }

◆ unset_second_flag()

constexpr carrier CaloRecGPU::Tag_1_1_12_16_18_16::unset_second_flag ( ) const
inlineconstexpr

Definition at line 171 of file ExtraTagDefinitions.h.

172  {
173  return value & (~s_second_flag_mask);
174  }

Member Data Documentation

◆ s_12_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_12_16_18_16::s_12_bit_mask = 0x3FFC000000000000ULL
staticconstexprprotected

Definition at line 134 of file ExtraTagDefinitions.h.

◆ s_12_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_12_16_18_16::s_12_bit_offset = s_first_16_bit_offset + 16
staticconstexprprotected

Definition at line 142 of file ExtraTagDefinitions.h.

◆ s_18_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_12_16_18_16::s_18_bit_mask = 0x00000003FFFF0000ULL
staticconstexprprotected

Definition at line 136 of file ExtraTagDefinitions.h.

◆ s_18_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_12_16_18_16::s_18_bit_offset = s_second_16_bit_offset + 16
staticconstexprprotected

Definition at line 140 of file ExtraTagDefinitions.h.

◆ s_first_16_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_12_16_18_16::s_first_16_bit_mask = 0x0003FFFC00000000ULL
staticconstexprprotected

Definition at line 135 of file ExtraTagDefinitions.h.

◆ s_first_16_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_12_16_18_16::s_first_16_bit_offset = s_18_bit_offset + 18
staticconstexprprotected

Definition at line 141 of file ExtraTagDefinitions.h.

◆ s_first_flag_mask

constexpr static carrier CaloRecGPU::Tag_1_1_12_16_18_16::s_first_flag_mask = 0x8000000000000000ULL
staticconstexprprotected

Definition at line 132 of file ExtraTagDefinitions.h.

◆ s_second_16_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_12_16_18_16::s_second_16_bit_mask = 0x000000000000FFFFULL
staticconstexprprotected

Definition at line 137 of file ExtraTagDefinitions.h.

◆ s_second_16_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_12_16_18_16::s_second_16_bit_offset = 0
staticconstexprprotected

Definition at line 139 of file ExtraTagDefinitions.h.

◆ s_second_flag_mask

constexpr static carrier CaloRecGPU::Tag_1_1_12_16_18_16::s_second_flag_mask = 0x4000000000000000ULL
staticconstexprprotected

Definition at line 133 of file ExtraTagDefinitions.h.

◆ value

carrier CaloRecGPU::GenericTagBase::value
inherited

Definition at line 34 of file ExtraTagDefinitions.h.


The documentation for this class was generated from the following file:
CaloRecGPU::Tag_1_1_12_16_18_16::s_18_bit_mask
constexpr static carrier s_18_bit_mask
Definition: ExtraTagDefinitions.h:136
CaloRecGPU::Tag_1_1_12_16_18_16::s_first_flag_mask
constexpr static carrier s_first_flag_mask
Definition: ExtraTagDefinitions.h:132
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CaloRecGPU::Tag_1_1_12_16_18_16::s_second_16_bit_mask
constexpr static carrier s_second_16_bit_mask
Definition: ExtraTagDefinitions.h:137
CaloRecGPU::Tag_1_1_12_16_18_16::s_second_flag_mask
constexpr static carrier s_second_flag_mask
Definition: ExtraTagDefinitions.h:133
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
ret
T ret(T t)
Definition: rootspy.cxx:260
CaloRecGPU::Tag_1_1_12_16_18_16::s_12_bit_mask
constexpr static carrier s_12_bit_mask
Definition: ExtraTagDefinitions.h:134
CaloRecGPU::GenericTagBase::value
carrier value
Definition: ExtraTagDefinitions.h:34
CaloRecGPU::Tag_1_1_12_16_18_16::s_second_16_bit_offset
constexpr static unsigned int s_second_16_bit_offset
Definition: ExtraTagDefinitions.h:139
CaloRecGPU::Tag_1_1_12_16_18_16::s_12_bit_offset
constexpr static unsigned int s_12_bit_offset
Definition: ExtraTagDefinitions.h:142
CaloRecGPU::Tag_1_1_12_16_18_16::s_18_bit_offset
constexpr static unsigned int s_18_bit_offset
Definition: ExtraTagDefinitions.h:140
CaloRecGPU::Tag_1_1_12_16_18_16::s_first_16_bit_mask
constexpr static carrier s_first_16_bit_mask
Definition: ExtraTagDefinitions.h:135
CaloRecGPU::GenericTagBase::carrier
CaloRecGPU::TagBase::carrier carrier
Definition: ExtraTagDefinitions.h:31
python.PyAthena.v
v
Definition: PyAthena.py:157
CaloRecGPU::Tag_1_1_12_16_18_16::s_first_16_bit_offset
constexpr static unsigned int s_first_16_bit_offset
Definition: ExtraTagDefinitions.h:141