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

#include <ExtraTagDefinitions.h>

Inheritance diagram for CaloRecGPU::Tag_1_1_12_32_18:
Collaboration diagram for CaloRecGPU::Tag_1_1_12_32_18:

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_12_bits () const
 
constexpr uint32_t get_32_bits () const
 
constexpr uint32_t get_18_bits () const
 
constexpr GenericTagBase (const carrier v)
 
constexpr operator carrier () const
 

Static Public Member Functions

static constexpr carrier make_generic_tag (const uint32_t bits_18, const uint32_t bits_32, const uint32_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_32_bit_mask = 0x0003FFFFFFFC0000ULL
 
constexpr static carrier s_18_bit_mask = 0x000000000003FFFFULL
 
constexpr static unsigned int s_18_bit_offset = 0
 
constexpr static unsigned int s_32_bit_offset = s_18_bit_offset + 18
 
constexpr static unsigned int s_12_bit_offset = s_32_bit_offset + 32
 

Detailed Description

A tag with two bit flags, then 12 bits (for a counter), 32 bits (for a float) and 18 bits (for a cell index)

Definition at line 449 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_32_18::get_12_bits ( ) const
inlineconstexpr

Definition at line 509 of file ExtraTagDefinitions.h.

510  {
511  return (value & s_12_bit_mask) >> s_12_bit_offset;
512  }

◆ get_18_bits()

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

Definition at line 519 of file ExtraTagDefinitions.h.

520  {
521  return (value & s_18_bit_mask) >> s_18_bit_offset;
522  }

◆ get_32_bits()

constexpr uint32_t CaloRecGPU::Tag_1_1_12_32_18::get_32_bits ( ) const
inlineconstexpr

Definition at line 514 of file ExtraTagDefinitions.h.

515  {
516  return (value & s_32_bit_mask) >> s_32_bit_offset;
517  }

◆ get_first_flag()

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

Definition at line 469 of file ExtraTagDefinitions.h.

470  {
471  return value & s_first_flag_mask;
472  }

◆ get_second_flag()

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

Definition at line 484 of file ExtraTagDefinitions.h.

485  {
486  return value & s_second_flag_mask;
487  }

◆ make_first_flag()

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

Definition at line 494 of file ExtraTagDefinitions.h.

495  {
496  return (value & (~(s_first_flag_mask * (!flag)))) | (s_first_flag_mask * flag);
497  }

◆ make_generic_tag()

static constexpr carrier CaloRecGPU::Tag_1_1_12_32_18::make_generic_tag ( const uint32_t  bits_18,
const uint32_t  bits_32,
const uint32_t  bits_12,
const bool  flag_2,
const bool  flag_1 
)
inlinestaticconstexpr

Definition at line 524 of file ExtraTagDefinitions.h.

526  {
527  constexpr uint32_t bits_18_mask = 0x0003FFFFU;
528  constexpr uint32_t bits_12_mask = 0x00000FFFU;
529 
530  carrier ret = bits_12 & bits_12_mask;
531 
532  ret = (ret << 32) | bits_32;
533 
534  ret = (ret << 18) | (bits_18 & bits_18_mask);
535 
536  ret = ret | (s_second_flag_mask * flag_2) | (s_first_flag_mask * flag_1);
537 
538  return ret;
539  }

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

Definition at line 499 of file ExtraTagDefinitions.h.

500  {
501  return (value & (~(s_second_flag_mask * (!flag)))) | (s_second_flag_mask * flag);
502  }

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

Definition at line 474 of file ExtraTagDefinitions.h.

475  {
476  return value | s_first_flag_mask;
477  }

◆ set_second_flag()

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

Definition at line 489 of file ExtraTagDefinitions.h.

490  {
491  return value | s_second_flag_mask;
492  }

◆ unset_first_flag()

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

Definition at line 479 of file ExtraTagDefinitions.h.

480  {
481  return value & (~s_first_flag_mask);
482  }

◆ unset_second_flag()

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

Definition at line 504 of file ExtraTagDefinitions.h.

505  {
506  return value & (~s_second_flag_mask);
507  }

Member Data Documentation

◆ s_12_bit_mask

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

Definition at line 459 of file ExtraTagDefinitions.h.

◆ s_12_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_12_32_18::s_12_bit_offset = s_32_bit_offset + 32
staticconstexprprotected

Definition at line 465 of file ExtraTagDefinitions.h.

◆ s_18_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_12_32_18::s_18_bit_mask = 0x000000000003FFFFULL
staticconstexprprotected

Definition at line 461 of file ExtraTagDefinitions.h.

◆ s_18_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_12_32_18::s_18_bit_offset = 0
staticconstexprprotected

Definition at line 463 of file ExtraTagDefinitions.h.

◆ s_32_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_1_12_32_18::s_32_bit_mask = 0x0003FFFFFFFC0000ULL
staticconstexprprotected

Definition at line 460 of file ExtraTagDefinitions.h.

◆ s_32_bit_offset

constexpr static unsigned int CaloRecGPU::Tag_1_1_12_32_18::s_32_bit_offset = s_18_bit_offset + 18
staticconstexprprotected

Definition at line 464 of file ExtraTagDefinitions.h.

◆ s_first_flag_mask

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

Definition at line 457 of file ExtraTagDefinitions.h.

◆ s_second_flag_mask

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

Definition at line 458 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::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CaloRecGPU::Tag_1_1_12_32_18::s_12_bit_offset
constexpr static unsigned int s_12_bit_offset
Definition: ExtraTagDefinitions.h:465
ret
T ret(T t)
Definition: rootspy.cxx:260
CaloRecGPU::GenericTagBase::value
carrier value
Definition: ExtraTagDefinitions.h:34
CaloRecGPU::Tag_1_1_12_32_18::s_12_bit_mask
constexpr static carrier s_12_bit_mask
Definition: ExtraTagDefinitions.h:459
master.flag
bool flag
Definition: master.py:29
CaloRecGPU::Tag_1_1_12_32_18::s_second_flag_mask
constexpr static carrier s_second_flag_mask
Definition: ExtraTagDefinitions.h:458
CaloRecGPU::Tag_1_1_12_32_18::s_32_bit_offset
constexpr static unsigned int s_32_bit_offset
Definition: ExtraTagDefinitions.h:464
CaloRecGPU::Tag_1_1_12_32_18::s_18_bit_offset
constexpr static unsigned int s_18_bit_offset
Definition: ExtraTagDefinitions.h:463
CaloRecGPU::Tag_1_1_12_32_18::s_32_bit_mask
constexpr static carrier s_32_bit_mask
Definition: ExtraTagDefinitions.h:460
CaloRecGPU::GenericTagBase::carrier
CaloRecGPU::TagBase::carrier carrier
Definition: ExtraTagDefinitions.h:31
CaloRecGPU::Tag_1_1_12_32_18::s_18_bit_mask
constexpr static carrier s_18_bit_mask
Definition: ExtraTagDefinitions.h:461
python.PyAthena.v
v
Definition: PyAthena.py:157
CaloRecGPU::Tag_1_1_12_32_18::s_first_flag_mask
constexpr static carrier s_first_flag_mask
Definition: ExtraTagDefinitions.h:457