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_7_31_8_16 Class Reference

#include <ExtraTagDefinitions.h>

Inheritance diagram for CaloRecGPU::Tag_1_1_7_31_8_16:
Collaboration diagram for CaloRecGPU::Tag_1_1_7_31_8_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 make_first_flag (const bool flag) const
 
constexpr carrier make_second_flag (const bool flag) const
 
constexpr carrier unset_second_flag () const
 
constexpr uint32_t get_7_bits () const
 
constexpr uint32_t get_31_bits () const
 
constexpr uint32_t get_8_bits () const
 
constexpr uint32_t get_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 bits_16, const uint8_t bits_8, const uint32_t bits_31, const uint8_t bits_7, 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_7_bit_mask = 0x3F80000000000000ULL
 
constexpr static carrier s_31_bit_mask = 0x007FFFFFFF000000ULL
 
constexpr static carrier s_8_bit_mask = 0x0000000000FF0000ULL
 
constexpr static carrier s_16_bit_mask = 0x000000000000FFFFULL
 
constexpr static unsigned int s_16_bit_offset = 0
 
constexpr static unsigned int s_8_bit_offset = s_16_bit_offset + 16
 
constexpr static unsigned int s_31_bit_offset = s_8_bit_offset + 8
 
constexpr static unsigned int s_7_bit_offset = s_31_bit_offset + 31
 

Detailed Description

A tag with two bit flags, then 7 bits (for a counter), 31 bits (for a float with one bit shaved off), 8 bits (for an extra factor) and 16 bits (for a cluster index)

Definition at line 226 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_16_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_7_31_8_16::get_16_bits ( ) const
inlineconstexpr

Definition at line 303 of file ExtraTagDefinitions.h.

304  {
305  return (value & s_16_bit_mask) >> s_16_bit_offset;
306  }

◆ get_31_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_7_31_8_16::get_31_bits ( ) const
inlineconstexpr

Definition at line 293 of file ExtraTagDefinitions.h.

294  {
295  return (value & s_31_bit_mask) >> s_31_bit_offset;
296  }

◆ get_7_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_7_31_8_16::get_7_bits ( ) const
inlineconstexpr

Definition at line 288 of file ExtraTagDefinitions.h.

289  {
290  return (value & s_7_bit_mask) >> s_7_bit_offset;
291  }

◆ get_8_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_7_31_8_16::get_8_bits ( ) const
inlineconstexpr

Definition at line 298 of file ExtraTagDefinitions.h.

299  {
300  return (value & s_8_bit_mask) >> s_8_bit_offset;
301  }

◆ get_first_flag()

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

Definition at line 248 of file ExtraTagDefinitions.h.

249  {
250  return value & s_first_flag_mask;
251  }

◆ get_second_flag()

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

Definition at line 263 of file ExtraTagDefinitions.h.

264  {
265  return value & s_second_flag_mask;
266  }

◆ make_first_flag()

constexpr carrier CaloRecGPU::Tag_1_1_7_31_8_16::make_first_flag ( const bool  flag) const
inlineconstexpr

Definition at line 273 of file ExtraTagDefinitions.h.

274  {
275  return (value & (~(s_first_flag_mask * (!flag)))) | (s_first_flag_mask * flag);
276  }

◆ make_generic_tag()

static constexpr carrier CaloRecGPU::Tag_1_1_7_31_8_16::make_generic_tag ( const uint16_t  bits_16,
const uint8_t  bits_8,
const uint32_t  bits_31,
const uint8_t  bits_7,
const bool  flag_2,
const bool  flag_1 
)
inlinestaticconstexpr

Definition at line 308 of file ExtraTagDefinitions.h.

311  {
312  constexpr uint32_t bits_31_mask = 0x7FFFFFFFU;
313  constexpr uint8_t bits_7_mask = 0x7FU;
314 
315  carrier ret = bits_7 & bits_7_mask;
316 
317  ret = (ret << 31) | (bits_31 & bits_31_mask);
318 
319  ret = (ret << 8) | bits_8;
320 
321  ret = (ret << 16) | bits_16;
322 
323  ret = ret | (s_second_flag_mask * flag_2) | (s_first_flag_mask * flag_1);
324 
325  return ret;
326  }

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

◆ make_second_flag()

constexpr carrier CaloRecGPU::Tag_1_1_7_31_8_16::make_second_flag ( const bool  flag) const
inlineconstexpr

Definition at line 278 of file ExtraTagDefinitions.h.

279  {
280  return (value & (~(s_second_flag_mask * (!flag)))) | (s_second_flag_mask * flag);
281  }

◆ 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_7_31_8_16::set_first_flag ( ) const
inlineconstexpr

Definition at line 253 of file ExtraTagDefinitions.h.

254  {
255  return value | s_first_flag_mask;
256  }

◆ set_second_flag()

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

Definition at line 268 of file ExtraTagDefinitions.h.

269  {
270  return value | s_second_flag_mask;
271  }

◆ unset_first_flag()

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

Definition at line 258 of file ExtraTagDefinitions.h.

259  {
260  return value & (~s_first_flag_mask);
261  }

◆ unset_second_flag()

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

Definition at line 283 of file ExtraTagDefinitions.h.

284  {
285  return value & (~s_second_flag_mask);
286  }

Member Data Documentation

◆ s_16_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_7_31_8_16::s_16_bit_mask = 0x000000000000FFFFULL
staticconstexprprotected

Definition at line 239 of file ExtraTagDefinitions.h.

◆ s_16_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_7_31_8_16::s_16_bit_offset = 0
staticconstexprprotected

Definition at line 241 of file ExtraTagDefinitions.h.

◆ s_31_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_7_31_8_16::s_31_bit_mask = 0x007FFFFFFF000000ULL
staticconstexprprotected

Definition at line 237 of file ExtraTagDefinitions.h.

◆ s_31_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_7_31_8_16::s_31_bit_offset = s_8_bit_offset + 8
staticconstexprprotected

Definition at line 243 of file ExtraTagDefinitions.h.

◆ s_7_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_7_31_8_16::s_7_bit_mask = 0x3F80000000000000ULL
staticconstexprprotected

Definition at line 236 of file ExtraTagDefinitions.h.

◆ s_7_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_7_31_8_16::s_7_bit_offset = s_31_bit_offset + 31
staticconstexprprotected

Definition at line 244 of file ExtraTagDefinitions.h.

◆ s_8_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_7_31_8_16::s_8_bit_mask = 0x0000000000FF0000ULL
staticconstexprprotected

Definition at line 238 of file ExtraTagDefinitions.h.

◆ s_8_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_7_31_8_16::s_8_bit_offset = s_16_bit_offset + 16
staticconstexprprotected

Definition at line 242 of file ExtraTagDefinitions.h.

◆ s_first_flag_mask

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

Definition at line 234 of file ExtraTagDefinitions.h.

◆ s_second_flag_mask

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

Definition at line 235 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:
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CaloRecGPU::Tag_1_1_7_31_8_16::s_8_bit_offset
constexpr static unsigned int s_8_bit_offset
Definition: ExtraTagDefinitions.h:242
CaloRecGPU::Tag_1_1_7_31_8_16::s_first_flag_mask
constexpr static carrier s_first_flag_mask
Definition: ExtraTagDefinitions.h:234
ret
T ret(T t)
Definition: rootspy.cxx:260
CaloRecGPU::GenericTagBase::value
carrier value
Definition: ExtraTagDefinitions.h:34
CaloRecGPU::Tag_1_1_7_31_8_16::s_16_bit_mask
constexpr static carrier s_16_bit_mask
Definition: ExtraTagDefinitions.h:239
master.flag
bool flag
Definition: master.py:29
CaloRecGPU::Tag_1_1_7_31_8_16::s_8_bit_mask
constexpr static carrier s_8_bit_mask
Definition: ExtraTagDefinitions.h:238
CaloRecGPU::Tag_1_1_7_31_8_16::s_7_bit_mask
constexpr static carrier s_7_bit_mask
Definition: ExtraTagDefinitions.h:236
CaloRecGPU::Tag_1_1_7_31_8_16::s_16_bit_offset
constexpr static unsigned int s_16_bit_offset
Definition: ExtraTagDefinitions.h:241
CaloRecGPU::Tag_1_1_7_31_8_16::s_7_bit_offset
constexpr static unsigned int s_7_bit_offset
Definition: ExtraTagDefinitions.h:244
CaloRecGPU::Tag_1_1_7_31_8_16::s_second_flag_mask
constexpr static carrier s_second_flag_mask
Definition: ExtraTagDefinitions.h:235
CaloRecGPU::GenericTagBase::carrier
CaloRecGPU::TagBase::carrier carrier
Definition: ExtraTagDefinitions.h:31
python.PyAthena.v
v
Definition: PyAthena.py:157
CaloRecGPU::Tag_1_1_7_31_8_16::s_31_bit_mask
constexpr static carrier s_31_bit_mask
Definition: ExtraTagDefinitions.h:237
CaloRecGPU::Tag_1_1_7_31_8_16::s_31_bit_offset
constexpr static unsigned int s_31_bit_offset
Definition: ExtraTagDefinitions.h:243