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

#include <ExtraTagDefinitions.h>

Inheritance diagram for CaloRecGPU::Tag_1_30_18_15:
Collaboration diagram for CaloRecGPU::Tag_1_30_18_15:

Public Types

using carrier = CaloRecGPU::TagBase::carrier
 

Public Member Functions

constexpr bool get_flag () const
 
constexpr uint32_t get_30_bits () const
 
constexpr uint32_t get_18_bits () const
 
constexpr uint32_t get_15_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_15, const uint32_t bits_18, const uint32_t bits_30, const bool flag)
 
static constexpr carrier make_invalid_tag ()
 

Public Attributes

carrier value
 

Static Protected Attributes

constexpr static carrier s_one_bit_mask = 0x8000000000000000ULL
 
constexpr static carrier s_30_bit_mask = 0x7FFFFFFE00000000ULL
 
constexpr static carrier s_18_bit_mask = 0x00000001FFFF8000ULL
 
constexpr static carrier s_15_bit_mask = 0x0000000000007FFFULL
 

Detailed Description

A tag with a bit flag, then 30 bit (intended for a truncated float), 18 bit (for a cell index) and 15 bit (for a cluster index).

Definition at line 62 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_15_bits()

constexpr uint32_t CaloRecGPU::Tag_1_30_18_15::get_15_bits ( ) const
inlineconstexpr

Definition at line 92 of file ExtraTagDefinitions.h.

93  {
94  return (value & s_15_bit_mask);
95  }

◆ get_18_bits()

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

Definition at line 87 of file ExtraTagDefinitions.h.

88  {
89  return (value & s_18_bit_mask) >> 15;
90  }

◆ get_30_bits()

constexpr uint32_t CaloRecGPU::Tag_1_30_18_15::get_30_bits ( ) const
inlineconstexpr

Definition at line 82 of file ExtraTagDefinitions.h.

83  {
84  return (value & s_30_bit_mask) >> 33;
85  }

◆ get_flag()

constexpr bool CaloRecGPU::Tag_1_30_18_15::get_flag ( ) const
inlineconstexpr

Definition at line 77 of file ExtraTagDefinitions.h.

78  {
79  return value & s_one_bit_mask;
80  }

◆ make_generic_tag()

static constexpr carrier CaloRecGPU::Tag_1_30_18_15::make_generic_tag ( const uint16_t  bits_15,
const uint32_t  bits_18,
const uint32_t  bits_30,
const bool  flag 
)
inlinestaticconstexpr

Definition at line 97 of file ExtraTagDefinitions.h.

98  {
99  constexpr uint32_t thirty_bits_mask = 0x3FFFFFFFU;
100  constexpr uint32_t eighteen_bits_mask = 0x3FFFF ;
101  constexpr uint16_t fifteen_bits_mask = 0x7FFFU;
102 
103  carrier ret = bits_30 & thirty_bits_mask;
104 
105  ret = (ret << 18) | (bits_18 & eighteen_bits_mask);
106 
107  ret = (ret << 15) | (bits_15 & fifteen_bits_mask);
108 
109  ret = ret | (s_one_bit_mask * flag);
110 
111  return ret;
112  }

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

Member Data Documentation

◆ s_15_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_30_18_15::s_15_bit_mask = 0x0000000000007FFFULL
staticconstexprprotected

Definition at line 73 of file ExtraTagDefinitions.h.

◆ s_18_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_30_18_15::s_18_bit_mask = 0x00000001FFFF8000ULL
staticconstexprprotected

Definition at line 72 of file ExtraTagDefinitions.h.

◆ s_30_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_30_18_15::s_30_bit_mask = 0x7FFFFFFE00000000ULL
staticconstexprprotected

Definition at line 71 of file ExtraTagDefinitions.h.

◆ s_one_bit_mask

constexpr static carrier CaloRecGPU::Tag_1_30_18_15::s_one_bit_mask = 0x8000000000000000ULL
staticconstexprprotected

Definition at line 70 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_30_18_15::s_one_bit_mask
constexpr static carrier s_one_bit_mask
Definition: ExtraTagDefinitions.h:70
CaloRecGPU::Tag_1_30_18_15::s_15_bit_mask
constexpr static carrier s_15_bit_mask
Definition: ExtraTagDefinitions.h:73
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CaloRecGPU::Tag_1_30_18_15::s_18_bit_mask
constexpr static carrier s_18_bit_mask
Definition: ExtraTagDefinitions.h:72
CaloRecGPU::Tag_1_30_18_15::s_30_bit_mask
constexpr static carrier s_30_bit_mask
Definition: ExtraTagDefinitions.h:71
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
ret
T ret(T t)
Definition: rootspy.cxx:260
CaloRecGPU::GenericTagBase::value
carrier value
Definition: ExtraTagDefinitions.h:34
master.flag
bool flag
Definition: master.py:29
CaloRecGPU::GenericTagBase::carrier
CaloRecGPU::TagBase::carrier carrier
Definition: ExtraTagDefinitions.h:31
python.PyAthena.v
v
Definition: PyAthena.py:157