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

#include <TagDefinitions.h>

Inheritance diagram for CaloRecGPU::ClusterTag:
Collaboration diagram for CaloRecGPU::ClusterTag:

Public Types

using carrier = unsigned long long int
 

Public Member Functions

constexpr bool is_part_of_cluster () const
 
constexpr int32_t cluster_index () const
 
constexpr int32_t secondary_cluster_index () const
 
constexpr int32_t secondary_cluster_weight () const
 
constexpr bool is_shared_between_clusters () const
 
constexpr carrier set_part_of_cluster (const bool is_part=true) const
 
constexpr carrier set_cluster_index (const int32_t index) const
 
constexpr carrier set_secondary_cluster_index (const int32_t index) const
 
constexpr carrier set_secondary_cluster_weight (const int32_t weight) const
 
constexpr carrier override_part_of_cluster (const bool is_part=true) const
 
constexpr carrier override_cluster_index (const int32_t index) const
 
constexpr carrier override_secondary_cluster_index (const int32_t index) const
 
constexpr carrier override_secondary_cluster_weight (const int32_t weight) const
 
constexpr TagBase (const carrier v)
 
constexpr operator carrier () const
 
constexpr bool get_flag () const
 
constexpr uint32_t get_second_16bit () const
 
constexpr uint32_t get_middle_31bit () const
 
constexpr uint32_t get_first_16bit () const
 
constexpr carrier clear_flag () const
 
constexpr carrier clear_second_16bit () const
 
constexpr carrier clear_middle_31bit () const
 
constexpr carrier clear_first_16bit () const
 
constexpr carrier keep_only_flag () const
 
constexpr carrier keep_only_second_16bit () const
 
constexpr carrier keep_only_middle_31bit () const
 
constexpr carrier keep_only_first_16bit () const
 
constexpr carrier or_flag (const bool bit) const
 
constexpr carrier or_second_16bit (const uint16_t pattern) const
 
constexpr carrier or_middle_31bit (const uint32_t pattern) const
 
constexpr carrier or_first_16bit (const uint16_t pattern) const
 
constexpr carrier override_flag (const bool bit) const
 
constexpr carrier override_second_16bit (const uint16_t pattern) const
 
constexpr carrier override_middle_31bit (const uint32_t pattern) const
 
constexpr carrier override_first_16bit (const uint16_t pattern) const
 

Static Public Member Functions

static constexpr carrier make_tag (const uint16_t cluster_index=0, const int32_t weight=0, const uint16_t second_cluster_index=0)
 
static constexpr bool is_part_of_cluster (const ClusterTag tag)
 
static constexpr int32_t cluster_index (const ClusterTag tag)
 
static constexpr int32_t secondary_cluster_index (const ClusterTag tag)
 
static constexpr int32_t secondary_cluster_weight (const ClusterTag tag)
 
static constexpr bool is_shared_between_clusters (const ClusterTag tag)
 
static constexpr carrier make_base_tag (const uint16_t lower=0, const uint32_t middle=0, const uint16_t upper=0, const bool last=false)
 
static constexpr carrier make_invalid_tag ()
 

Public Attributes

carrier value
 

Static Protected Attributes

constexpr static carrier s_bit_mask = 0x8000000000000000ULL
 
constexpr static carrier s_second_16bit_mask = 0x7FFF800000000000ULL
 
constexpr static carrier s_middle_31bit_mask = 0x00007FFFFFFF0000ULL
 
constexpr static carrier s_first_16bit_mask = 0x000000000000FFFFULL
 

Detailed Description

The class that actually expresses the cluster assignment. Supports cells that are shared between two clusters, storing the weight assigned to the first (as the weight assigned to the second will be one minus that); cells that are part of a single cluster have that weight set to (the bit pattern of the floating point representation of) 1.

See TagBase for more details.

Definition at line 221 of file TagDefinitions.h.

Member Typedef Documentation

◆ carrier

using CaloRecGPU::TagBase::carrier = unsigned long long int
inherited

Definition at line 35 of file TagDefinitions.h.

Member Function Documentation

◆ clear_first_16bit()

constexpr carrier CaloRecGPU::TagBase::clear_first_16bit ( ) const
inlineconstexprinherited

Definition at line 113 of file TagDefinitions.h.

114  {
115  return value & (~ s_first_16bit_mask);
116  }

◆ clear_flag()

constexpr carrier CaloRecGPU::TagBase::clear_flag ( ) const
inlineconstexprinherited

Definition at line 98 of file TagDefinitions.h.

99  {
100  return value & (~ s_bit_mask);
101  }

◆ clear_middle_31bit()

constexpr carrier CaloRecGPU::TagBase::clear_middle_31bit ( ) const
inlineconstexprinherited

Definition at line 108 of file TagDefinitions.h.

109  {
110  return value & (~ s_middle_31bit_mask);
111  }

◆ clear_second_16bit()

constexpr carrier CaloRecGPU::TagBase::clear_second_16bit ( ) const
inlineconstexprinherited

Definition at line 103 of file TagDefinitions.h.

104  {
105  return value & (~ s_second_16bit_mask);
106  }

◆ cluster_index() [1/2]

constexpr int32_t CaloRecGPU::ClusterTag::cluster_index ( ) const
inlineconstexpr

Definition at line 243 of file TagDefinitions.h.

244  {
245  return this->get_first_16bit();
246  }

◆ cluster_index() [2/2]

static constexpr int32_t CaloRecGPU::ClusterTag::cluster_index ( const ClusterTag  tag)
inlinestaticconstexpr

Definition at line 248 of file TagDefinitions.h.

249  {
250  return tag.cluster_index();
251  }

◆ get_first_16bit()

constexpr uint32_t CaloRecGPU::TagBase::get_first_16bit ( ) const
inlineconstexprinherited

Definition at line 91 of file TagDefinitions.h.

93  {
95  return ret;
96  }

◆ get_flag()

constexpr bool CaloRecGPU::TagBase::get_flag ( ) const
inlineconstexprinherited

Definition at line 71 of file TagDefinitions.h.

72  {
73  return value & s_bit_mask;
74  }

◆ get_middle_31bit()

constexpr uint32_t CaloRecGPU::TagBase::get_middle_31bit ( ) const
inlineconstexprinherited

Definition at line 84 of file TagDefinitions.h.

85  {
86  carrier pre_shift = value & s_middle_31bit_mask;
87  uint32_t ret = pre_shift >> 16;
88  return ret;
89  }

◆ get_second_16bit()

constexpr uint32_t CaloRecGPU::TagBase::get_second_16bit ( ) const
inlineconstexprinherited

Definition at line 76 of file TagDefinitions.h.

78  {
79  carrier pre_shift = value & s_second_16bit_mask;
80  uint32_t ret = pre_shift >> 47;
81  return ret;
82  }

◆ is_part_of_cluster() [1/2]

constexpr bool CaloRecGPU::ClusterTag::is_part_of_cluster ( ) const
inlineconstexpr

Definition at line 233 of file TagDefinitions.h.

234  {
235  return this->get_flag();
236  }

◆ is_part_of_cluster() [2/2]

static constexpr bool CaloRecGPU::ClusterTag::is_part_of_cluster ( const ClusterTag  tag)
inlinestaticconstexpr

Definition at line 238 of file TagDefinitions.h.

239  {
240  return tag.is_part_of_cluster();
241  }

◆ is_shared_between_clusters() [1/2]

constexpr bool CaloRecGPU::ClusterTag::is_shared_between_clusters ( ) const
inlineconstexpr

Definition at line 273 of file TagDefinitions.h.

274  {
275  return this->is_part_of_cluster() && this->secondary_cluster_weight() > 0;
276  }

◆ is_shared_between_clusters() [2/2]

static constexpr bool CaloRecGPU::ClusterTag::is_shared_between_clusters ( const ClusterTag  tag)
inlinestaticconstexpr

Definition at line 278 of file TagDefinitions.h.

279  {
280  return tag.is_shared_between_clusters();
281  }

◆ keep_only_first_16bit()

constexpr carrier CaloRecGPU::TagBase::keep_only_first_16bit ( ) const
inlineconstexprinherited

Definition at line 133 of file TagDefinitions.h.

134  {
135  return value & s_first_16bit_mask;
136  }

◆ keep_only_flag()

constexpr carrier CaloRecGPU::TagBase::keep_only_flag ( ) const
inlineconstexprinherited

Definition at line 118 of file TagDefinitions.h.

119  {
120  return value & s_bit_mask;
121  }

◆ keep_only_middle_31bit()

constexpr carrier CaloRecGPU::TagBase::keep_only_middle_31bit ( ) const
inlineconstexprinherited

Definition at line 128 of file TagDefinitions.h.

129  {
130  return value & s_middle_31bit_mask;
131  }

◆ keep_only_second_16bit()

constexpr carrier CaloRecGPU::TagBase::keep_only_second_16bit ( ) const
inlineconstexprinherited

Definition at line 123 of file TagDefinitions.h.

124  {
125  return value & s_second_16bit_mask;
126  }

◆ make_base_tag()

static constexpr carrier CaloRecGPU::TagBase::make_base_tag ( const uint16_t  lower = 0,
const uint32_t  middle = 0,
const uint16_t  upper = 0,
const bool  last = false 
)
inlinestaticconstexprinherited

Definition at line 190 of file TagDefinitions.h.

191  {
192  carrier ret = upper;
193  ret = (ret << 31) | (middle & 0x7FFFFFFFU);
194  ret = (ret << 16) | lower;
195 
196  ret = ret | (s_bit_mask * last);
197 
198  return ret;
199  }

◆ make_invalid_tag()

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

Definition at line 201 of file TagDefinitions.h.

202  {
203  return 0ULL;
204  }

◆ make_tag()

static constexpr carrier CaloRecGPU::ClusterTag::make_tag ( const uint16_t  cluster_index = 0,
const int32_t  weight = 0,
const uint16_t  second_cluster_index = 0 
)
inlinestaticconstexpr

Definition at line 228 of file TagDefinitions.h.

229  {
230  return make_base_tag(cluster_index, weight, second_cluster_index, true);
231  }

◆ operator carrier()

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

Definition at line 40 of file TagDefinitions.h.

41  {
42  return value;
43  }

◆ or_first_16bit()

constexpr carrier CaloRecGPU::TagBase::or_first_16bit ( const uint16_t  pattern) const
inlineconstexprinherited

Definition at line 157 of file TagDefinitions.h.

159  {
160  uint32_t temp = pattern;
161  return value | temp;
162  }

◆ or_flag()

constexpr carrier CaloRecGPU::TagBase::or_flag ( const bool  bit) const
inlineconstexprinherited

Definition at line 138 of file TagDefinitions.h.

139  {
140  return value | (bit * s_bit_mask);
141  }

◆ or_middle_31bit()

constexpr carrier CaloRecGPU::TagBase::or_middle_31bit ( const uint32_t  pattern) const
inlineconstexprinherited

Definition at line 150 of file TagDefinitions.h.

151  {
152  carrier temp = pattern & 0x7FFFFFFFU;
153  //To make sure the highest bit is unset.
154  return value | (temp << 16);
155  }

◆ or_second_16bit()

constexpr carrier CaloRecGPU::TagBase::or_second_16bit ( const uint16_t  pattern) const
inlineconstexprinherited

Definition at line 143 of file TagDefinitions.h.

145  {
146  carrier temp = pattern;
147  return value | (temp << 47);
148  }

◆ override_cluster_index()

constexpr carrier CaloRecGPU::ClusterTag::override_cluster_index ( const int32_t  index) const
inlineconstexpr

Definition at line 309 of file TagDefinitions.h.

310  {
311  return this->override_first_16bit(index & 0xFFFFU);
312  }

◆ override_first_16bit()

constexpr carrier CaloRecGPU::TagBase::override_first_16bit ( const uint16_t  pattern) const
inlineconstexprinherited

Definition at line 183 of file TagDefinitions.h.

185  {
186  const uint32_t temp = pattern;
187  return (value & (~ s_first_16bit_mask)) | temp;
188  }

◆ override_flag()

constexpr carrier CaloRecGPU::TagBase::override_flag ( const bool  bit) const
inlineconstexprinherited

Definition at line 164 of file TagDefinitions.h.

165  {
166  return (value & (~ s_bit_mask)) | (bit * s_bit_mask);
167  }

◆ override_middle_31bit()

constexpr carrier CaloRecGPU::TagBase::override_middle_31bit ( const uint32_t  pattern) const
inlineconstexprinherited

Definition at line 176 of file TagDefinitions.h.

177  {
178  const carrier temp = pattern & 0x7FFFFFFFU;
179  //To make sure the highest bit is unset.
180  return (value & (~ s_middle_31bit_mask)) | (temp << 16);
181  }

◆ override_part_of_cluster()

constexpr carrier CaloRecGPU::ClusterTag::override_part_of_cluster ( const bool  is_part = true) const
inlineconstexpr

Definition at line 303 of file TagDefinitions.h.

304  {
305 
306  return this->override_flag(is_part);
307  }

◆ override_second_16bit()

constexpr carrier CaloRecGPU::TagBase::override_second_16bit ( const uint16_t  pattern) const
inlineconstexprinherited

Definition at line 169 of file TagDefinitions.h.

171  {
172  const carrier temp = pattern;
173  return (value & (~ s_second_16bit_mask)) | (temp << 47);
174  }

◆ override_secondary_cluster_index()

constexpr carrier CaloRecGPU::ClusterTag::override_secondary_cluster_index ( const int32_t  index) const
inlineconstexpr

Definition at line 314 of file TagDefinitions.h.

315  {
316  return this->override_second_16bit(index & 0xFFFFU);
317  }

◆ override_secondary_cluster_weight()

constexpr carrier CaloRecGPU::ClusterTag::override_secondary_cluster_weight ( const int32_t  weight) const
inlineconstexpr

Definition at line 319 of file TagDefinitions.h.

320  {
321  return this->override_middle_31bit(weight);
322  }

◆ secondary_cluster_index() [1/2]

constexpr int32_t CaloRecGPU::ClusterTag::secondary_cluster_index ( ) const
inlineconstexpr

Definition at line 253 of file TagDefinitions.h.

254  {
255  return this->get_second_16bit();
256  }

◆ secondary_cluster_index() [2/2]

static constexpr int32_t CaloRecGPU::ClusterTag::secondary_cluster_index ( const ClusterTag  tag)
inlinestaticconstexpr

Definition at line 258 of file TagDefinitions.h.

259  {
260  return tag.secondary_cluster_index();
261  }

◆ secondary_cluster_weight() [1/2]

constexpr int32_t CaloRecGPU::ClusterTag::secondary_cluster_weight ( ) const
inlineconstexpr

Definition at line 263 of file TagDefinitions.h.

264  {
265  return this->get_middle_31bit();
266  }

◆ secondary_cluster_weight() [2/2]

static constexpr int32_t CaloRecGPU::ClusterTag::secondary_cluster_weight ( const ClusterTag  tag)
inlinestaticconstexpr

Definition at line 268 of file TagDefinitions.h.

269  {
270  return tag.secondary_cluster_weight();
271  }

◆ set_cluster_index()

constexpr carrier CaloRecGPU::ClusterTag::set_cluster_index ( const int32_t  index) const
inlineconstexpr

Definition at line 288 of file TagDefinitions.h.

289  {
290  return this->or_first_16bit(index & 0xFFFFU);
291  }

◆ set_part_of_cluster()

constexpr carrier CaloRecGPU::ClusterTag::set_part_of_cluster ( const bool  is_part = true) const
inlineconstexpr

Definition at line 283 of file TagDefinitions.h.

284  {
285  return this->or_flag(is_part);
286  }

◆ set_secondary_cluster_index()

constexpr carrier CaloRecGPU::ClusterTag::set_secondary_cluster_index ( const int32_t  index) const
inlineconstexpr

Definition at line 293 of file TagDefinitions.h.

294  {
295  return this->or_second_16bit(index & 0xFFFFU);
296  }

◆ set_secondary_cluster_weight()

constexpr carrier CaloRecGPU::ClusterTag::set_secondary_cluster_weight ( const int32_t  weight) const
inlineconstexpr

Definition at line 298 of file TagDefinitions.h.

299  {
300  return this->or_middle_31bit(weight);
301  }

◆ TagBase()

constexpr CaloRecGPU::TagBase::TagBase
inlineconstexpr

Definition at line 45 of file TagDefinitions.h.

45  : value(v)
46  {
47  }

Member Data Documentation

◆ s_bit_mask

constexpr static carrier CaloRecGPU::TagBase::s_bit_mask = 0x8000000000000000ULL
staticconstexprprotectedinherited

Definition at line 57 of file TagDefinitions.h.

◆ s_first_16bit_mask

constexpr static carrier CaloRecGPU::TagBase::s_first_16bit_mask = 0x000000000000FFFFULL
staticconstexprprotectedinherited

Definition at line 66 of file TagDefinitions.h.

◆ s_middle_31bit_mask

constexpr static carrier CaloRecGPU::TagBase::s_middle_31bit_mask = 0x00007FFFFFFF0000ULL
staticconstexprprotectedinherited

Definition at line 63 of file TagDefinitions.h.

◆ s_second_16bit_mask

constexpr static carrier CaloRecGPU::TagBase::s_second_16bit_mask = 0x7FFF800000000000ULL
staticconstexprprotectedinherited

Definition at line 60 of file TagDefinitions.h.

◆ value

carrier CaloRecGPU::TagBase::value
inherited

Definition at line 38 of file TagDefinitions.h.


The documentation for this class was generated from the following file:
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
CaloRecGPU::TagBase::make_base_tag
static constexpr carrier make_base_tag(const uint16_t lower=0, const uint32_t middle=0, const uint16_t upper=0, const bool last=false)
Definition: TagDefinitions.h:190
CaloRecGPU::TagBase::override_first_16bit
constexpr carrier override_first_16bit(const uint16_t pattern) const
Definition: TagDefinitions.h:183
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
index
Definition: index.py:1
CaloRecGPU::TagBase::or_second_16bit
constexpr carrier or_second_16bit(const uint16_t pattern) const
Definition: TagDefinitions.h:143
CaloRecGPU::TagBase::get_flag
constexpr bool get_flag() const
Definition: TagDefinitions.h:71
upper
int upper(int c)
Definition: LArBadChannelParser.cxx:49
CaloRecGPU::TagBase::or_flag
constexpr carrier or_flag(const bool bit) const
Definition: TagDefinitions.h:138
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
CaloRecGPU::TagBase::override_middle_31bit
constexpr carrier override_middle_31bit(const uint32_t pattern) const
Definition: TagDefinitions.h:176
CaloRecGPU::TagBase::s_second_16bit_mask
constexpr static carrier s_second_16bit_mask
Definition: TagDefinitions.h:60
CaloRecGPU::ClusterTag::cluster_index
constexpr int32_t cluster_index() const
Definition: TagDefinitions.h:243
CaloRecGPU::TagBase::value
carrier value
Definition: TagDefinitions.h:38
ret
T ret(T t)
Definition: rootspy.cxx:260
CaloRecGPU::TagBase::override_second_16bit
constexpr carrier override_second_16bit(const uint16_t pattern) const
Definition: TagDefinitions.h:169
CaloRecGPU::TagBase::get_second_16bit
constexpr uint32_t get_second_16bit() const
Definition: TagDefinitions.h:76
CaloRecGPU::TagBase::or_first_16bit
constexpr carrier or_first_16bit(const uint16_t pattern) const
Definition: TagDefinitions.h:157
CaloRecGPU::TagBase::s_first_16bit_mask
constexpr static carrier s_first_16bit_mask
Definition: TagDefinitions.h:66
CaloRecGPU::TagBase::s_bit_mask
constexpr static carrier s_bit_mask
Definition: TagDefinitions.h:57
CaloRecGPU::ClusterTag::is_part_of_cluster
constexpr bool is_part_of_cluster() const
Definition: TagDefinitions.h:233
CaloRecGPU::TagBase::s_middle_31bit_mask
constexpr static carrier s_middle_31bit_mask
Definition: TagDefinitions.h:63
python.PyAthena.v
v
Definition: PyAthena.py:157
CaloRecGPU::TagBase::override_flag
constexpr carrier override_flag(const bool bit) const
Definition: TagDefinitions.h:164
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
CaloRecGPU::TagBase::carrier
unsigned long long int carrier
Definition: TagDefinitions.h:35
CaloRecGPU::TagBase::get_first_16bit
constexpr uint32_t get_first_16bit() const
Definition: TagDefinitions.h:91
CaloRecGPU::TagBase::get_middle_31bit
constexpr uint32_t get_middle_31bit() const
Definition: TagDefinitions.h:84
CaloRecGPU::ClusterTag::secondary_cluster_weight
constexpr int32_t secondary_cluster_weight() const
Definition: TagDefinitions.h:263
CaloRecGPU::TagBase::or_middle_31bit
constexpr carrier or_middle_31bit(const uint32_t pattern) const
Definition: TagDefinitions.h:150