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

#include <ExtraTagDefinitions.h>

Inheritance diagram for CaloRecGPU::Tag_1_7_1_31_8_16:
Collaboration diagram for CaloRecGPU::Tag_1_7_1_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 unset_second_flag () const
 
constexpr carrier make_first_flag (const bool flag) const
 
constexpr carrier make_second_flag (const bool 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_7_bit_mask = 0x7F00000000000000ULL
 
constexpr static carrier s_second_flag_mask = 0x0080000000000000ULL
 
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 + 1
 

Detailed Description

A tag with a bit flag, then 7 bits (for a counter), then another bit flag, 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 338 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_7_1_31_8_16::get_16_bits ( ) const
inlineconstexpr

Definition at line 415 of file ExtraTagDefinitions.h.

416  {
417  return (value & s_16_bit_mask) >> s_16_bit_offset;
418  }

◆ get_31_bits()

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

Definition at line 405 of file ExtraTagDefinitions.h.

406  {
407  return (value & s_31_bit_mask) >> s_31_bit_offset;
408  }

◆ get_7_bits()

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

Definition at line 400 of file ExtraTagDefinitions.h.

401  {
402  return (value & s_7_bit_mask) >> s_7_bit_offset;
403  }

◆ get_8_bits()

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

Definition at line 410 of file ExtraTagDefinitions.h.

411  {
412  return (value & s_8_bit_mask) >> s_8_bit_offset;
413  }

◆ get_first_flag()

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

Definition at line 360 of file ExtraTagDefinitions.h.

361  {
362  return value & s_first_flag_mask;
363  }

◆ get_second_flag()

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

Definition at line 375 of file ExtraTagDefinitions.h.

376  {
377  return value & s_second_flag_mask;
378  }

◆ make_first_flag()

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

Definition at line 390 of file ExtraTagDefinitions.h.

391  {
392  return (value & (~(s_first_flag_mask * (!flag)))) | (s_first_flag_mask * flag);
393  }

◆ make_generic_tag()

static constexpr carrier CaloRecGPU::Tag_1_7_1_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 420 of file ExtraTagDefinitions.h.

423  {
424  constexpr uint32_t bits_31_mask = 0x7FFFFFFFU;
425  constexpr uint8_t bits_7_mask = 0x7FU;
426 
427  carrier ret = bits_7 & bits_7_mask;
428 
429  ret = (ret << 32) | (bits_31 & bits_31_mask);
430 
431  ret = (ret << 8) | bits_8;
432 
433  ret = (ret << 16) | bits_16;
434 
435  ret = ret | (s_second_flag_mask * flag_2) | (s_first_flag_mask * flag_1);
436 
437  return ret;
438  }

◆ 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_7_1_31_8_16::make_second_flag ( const bool  flag) const
inlineconstexpr

Definition at line 395 of file ExtraTagDefinitions.h.

396  {
397  return (value & (~(s_second_flag_mask * (!flag)))) | (s_second_flag_mask * flag);
398  }

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

Definition at line 365 of file ExtraTagDefinitions.h.

366  {
367  return value | s_first_flag_mask;
368  }

◆ set_second_flag()

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

Definition at line 380 of file ExtraTagDefinitions.h.

381  {
382  return value | s_second_flag_mask;
383  }

◆ unset_first_flag()

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

Definition at line 370 of file ExtraTagDefinitions.h.

371  {
372  return value & (~s_first_flag_mask);
373  }

◆ unset_second_flag()

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

Definition at line 385 of file ExtraTagDefinitions.h.

386  {
387  return value & (~s_second_flag_mask);
388  }

Member Data Documentation

◆ s_16_bit_mask

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

Definition at line 351 of file ExtraTagDefinitions.h.

◆ s_16_bit_offset

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

Definition at line 353 of file ExtraTagDefinitions.h.

◆ s_31_bit_mask

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

Definition at line 349 of file ExtraTagDefinitions.h.

◆ s_31_bit_offset

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

Definition at line 355 of file ExtraTagDefinitions.h.

◆ s_7_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_7_1_31_8_16::s_7_bit_mask = 0x7F00000000000000ULL
staticconstexprprotected

Definition at line 347 of file ExtraTagDefinitions.h.

◆ s_7_bit_offset

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

Definition at line 356 of file ExtraTagDefinitions.h.

◆ s_8_bit_mask

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

Definition at line 350 of file ExtraTagDefinitions.h.

◆ s_8_bit_offset

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

Definition at line 354 of file ExtraTagDefinitions.h.

◆ s_first_flag_mask

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

Definition at line 346 of file ExtraTagDefinitions.h.

◆ s_second_flag_mask

constexpr static carrier CaloRecGPU::Tag_1_7_1_31_8_16::s_second_flag_mask = 0x0080000000000000ULL
staticconstexprprotected

Definition at line 348 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_7_1_31_8_16::s_16_bit_mask
constexpr static carrier s_16_bit_mask
Definition: ExtraTagDefinitions.h:351
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CaloRecGPU::Tag_1_7_1_31_8_16::s_31_bit_mask
constexpr static carrier s_31_bit_mask
Definition: ExtraTagDefinitions.h:349
CaloRecGPU::Tag_1_7_1_31_8_16::s_16_bit_offset
constexpr static unsigned int s_16_bit_offset
Definition: ExtraTagDefinitions.h:353
ret
T ret(T t)
Definition: rootspy.cxx:260
CaloRecGPU::Tag_1_7_1_31_8_16::s_second_flag_mask
constexpr static carrier s_second_flag_mask
Definition: ExtraTagDefinitions.h:348
CaloRecGPU::Tag_1_7_1_31_8_16::s_8_bit_offset
constexpr static unsigned int s_8_bit_offset
Definition: ExtraTagDefinitions.h:354
CaloRecGPU::GenericTagBase::value
carrier value
Definition: ExtraTagDefinitions.h:34
master.flag
bool flag
Definition: master.py:29
CaloRecGPU::Tag_1_7_1_31_8_16::s_7_bit_offset
constexpr static unsigned int s_7_bit_offset
Definition: ExtraTagDefinitions.h:356
CaloRecGPU::Tag_1_7_1_31_8_16::s_31_bit_offset
constexpr static unsigned int s_31_bit_offset
Definition: ExtraTagDefinitions.h:355
CaloRecGPU::GenericTagBase::carrier
CaloRecGPU::TagBase::carrier carrier
Definition: ExtraTagDefinitions.h:31
python.PyAthena.v
v
Definition: PyAthena.py:157
CaloRecGPU::Tag_1_7_1_31_8_16::s_7_bit_mask
constexpr static carrier s_7_bit_mask
Definition: ExtraTagDefinitions.h:347
CaloRecGPU::Tag_1_7_1_31_8_16::s_first_flag_mask
constexpr static carrier s_first_flag_mask
Definition: ExtraTagDefinitions.h:346
CaloRecGPU::Tag_1_7_1_31_8_16::s_8_bit_mask
constexpr static carrier s_8_bit_mask
Definition: ExtraTagDefinitions.h:350