ATLAS Offline Software
PLR_ID.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 /***************************************************************************
6  Inner Detector identifier package
7  -------------------------------------------
8 ***************************************************************************/
9 
10 
11 #include "GaudiKernel/MsgStream.h"
12 
13 #include "InDetIdentifier/PLR_ID.h"
15 #include "IdDict/IdDictDefs.h"
16 #include <set>
17 #include <algorithm>
18 #include <iostream>
19 
20 
21 
22 
24  // changes compared to PixelID:
31 }
32 
33 int
35  MsgStream log(m_msgSvc, "PLR_ID");
36  log << MSG::INFO << "Initialize from dictionary" << endmsg;
37  // Check whether this helper should be reinitialized
38  if (!reinitialize(dict_mgr)) {
39  log << MSG::INFO << "Request to reinitialize not satisfied - tags have not changed" << endmsg;
40  return(0);
41  } else {
42  log << MSG::DEBUG << "(Re)initialize" << endmsg;
43  }
44 
45  // init base object
46  if (PixelID::initialize_from_dictionary(dict_mgr)) return(1);
47 
48  // Register version of InnerDetector dictionary
49  if (register_dict_tag(dict_mgr, "InnerDetector")) return(1);
50 
51  m_dict = dict_mgr.find_dictionary("InnerDetector");
52  if (!m_dict) {
53  log << MSG::FATAL << " PLR_ID::initialize_from_dict - cannot access InnerDetector dictionary "
54  << endmsg;
55  return(1);
56  }
57 
58  AtlasDetectorID::setDictVersion(dict_mgr, "InnerDetector");
59 
60  // Initialize the field indices
61  if (initLevelsFromDict()) return(1);
62 
63  // save indet id
64  m_pixel_id = lumi();
65  if (!is_lumi(m_pixel_id)) {
66  log << MSG::FATAL << " PLR_ID::initialize_from_dict - cannot get plr id dictionary "
67  << endmsg;
68  return(1);
69  }
70 
71  //
72  // Set barrel field for testing is_barrel
73  //
74  int barrel_value;
76  // barrel
77  if (m_dict->get_label_value("barrel_endcap", "barrel", barrel_value)) {
78  log << MSG::FATAL << "Could not get value for label 'barrel' of field 'barrel_endcap' in dictionary "
79  << m_dict->m_name
80  << endmsg;
81 
82  return(1);
83  }
84  m_barrel_field.add_value(barrel_value);
85  m_barrel_field.add_value(barrel_value);
86  log << MSG::DEBUG << " PLR_ID::initialize_from_dict "
87  << "Set barrel field values: "
88  << (std::string) m_barrel_field
89  << endmsg;
90 
91 
92  //DBM
93  //Set dbm field for testing is_dbm
94  //
95  // WARNING:
96  // modified to skip DBM when appropriate dictionary is not present
97  // by adding +999 or -999 to the field
98  //
99 
100  int dbm_value{};
101  m_dbm_field.clear();
102  if (m_dict->get_label_value("barrel_endcap", "negative_dbm", dbm_value)) {
103  if (m_dict->m_version.find("DBM") != std::string::npos) {
104  log << MSG::WARNING <<
105  "Could not get value for label 'negative_dbm' of field 'barrel_endcap' in dictionary "
106  << m_dict->m_name
107  << endmsg;
108 
109  }
110  //return (1);
111  m_dbm_field.add_value(-999);
112  } else {
113  m_dbm_field.add_value(dbm_value);
114  }
115  if (m_dict->get_label_value("barrel_endcap", "positive_dbm", dbm_value)) {
116  if (m_dict->m_version.find("DBM") != std::string::npos) {
117  log << MSG::WARNING <<
118  "Could not get value for label 'positive_dbm' of field 'barrel_endcap' in dictionary "
119  << m_dict->m_name
120  << endmsg;
121 
122  }
123  //return (1);
124  m_dbm_field.add_value(999);
125  } else {
126  m_dbm_field.add_value(dbm_value);
127  }
128  log << MSG::DEBUG << " PLR_ID::initialize_from_dict "
129  << "Set dbm field values: "
130  << (std::string) m_dbm_field
131  << endmsg;
132 
133  //
134  // Build multirange for the valid set of identifiers
135  //
136 
137 
138  // Find value for the field InnerDetector
139  const IdDictDictionary* atlasDict = dict_mgr.find_dictionary("ATLAS");
140  int inDetField = -1;
141  if (atlasDict->get_label_value("subdet", "InnerDetector", inDetField)) {
142  log << MSG::FATAL << "Could not get value for label 'InnerDetector' of field 'subdet' in dictionary "
143  << atlasDict->m_name
144  << endmsg;
145 
146  return(1);
147  }
148 
149  // Find value for the field LuminosityDetectors
150  int lumiField = -1;
151  if (m_dict->get_label_value("part", "LuminosityDetectors", lumiField)) {
152  log << MSG::FATAL << "Could not get value for label 'LuminosityDetectors' of field 'part' in dictionary "
153  << m_dict->m_name
154  << endmsg;
155 
156  return(1);
157  }
158 
159  // Find value for the field PLR
160  int plrField = -1;
161  if (m_dict->get_label_value("PLR_or_BCM", "PLR", plrField)) {
162  log << MSG::FATAL << "Could not get value for label 'PLR' of field 'PLR_or_BCM' in dictionary "
163  << m_dict->m_name
164  << endmsg;
165 
166  return(1);
167  }
168 
169  log << MSG::DEBUG << " PLR_ID::initialize_from_dict "
170  << "Found field values: InDet/LuminosityDetectors/PLR "
171  << inDetField << "/"
172  << lumiField << "/"
173  << plrField
174  << endmsg;
175 
176 
177  // Set up id for region and range prefix
179  region_id.add(inDetField);
180  region_id.add(lumiField);
181  region_id.add(plrField);
182  Range prefix;
185 
186  // Set the base identifier for PLR
191 
192  // Set the base expanded identifier for PLR
194 
195  // Setup the hash tables
196  if (init_hashes()) return(1);
197 
198  // Setup hash tables for finding neighbors
199  if (init_neighbors()) return(1);
200  log << MSG::DEBUG << " PLR_ID::initialize_from_dict "
201  << endmsg;
202  log << MSG::DEBUG
203  << "Wafer range -> " << (std::string) m_full_wafer_range
204  << endmsg;
205  log << MSG::DEBUG
206  << "Pixel range -> " << (std::string) m_full_pixel_range
207  << endmsg;
208 
209  return 0;
210 }
211 
212 
213 int
215  MsgStream log(m_msgSvc, "PLR_ID");
216 
217  if (!m_dict) {
218  log << MSG::FATAL << " PLR_ID::initLevelsFromDict - dictionary NOT initialized " << endmsg;
219  return(1);
220  }
221 
222  // Find out which identifier field corresponds to each level. Use
223  // names to find each field/leve.
224 
225  m_INDET_INDEX = 999;
226  m_LUMI_INDEX = 999;
227  m_PLR_INDEX = 999;
228  m_BARREL_EC_INDEX = 999;
229  m_LAYER_DISK_INDEX = 999;
230  m_PHI_MODULE_INDEX = 999;
231  m_ETA_MODULE_INDEX = 999;
232  m_PHI_INDEX_INDEX = 999;
233  m_ETA_INDEX_INDEX = 999;
234 
235  // Save index to a PIXEL region for unpacking
239  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find pixel region index: id, reg "
240  << (std::string) id << " " << m_pixel_region_index
241  << endmsg;
242 
243  return(1);
244  }
245 
246  // Get levels
247  IdDictField* field = m_dict->find_field("subdet");
248  if (field) {
249  m_INDET_INDEX = field->m_index;
250  } else {
251  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'subdet' field "
252  << endmsg;
253 
254  return(1);
255  }
256 
257  field = m_dict->find_field("part");
258  if (field) {
259  m_LUMI_INDEX = field->m_index;
260  } else {
261  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'part' field " << endmsg;
262  return(1);
263  }
264 
265  field = m_dict->find_field("PLR_or_BCM");
266  if (field) {
267  m_PLR_INDEX = field->m_index;
268  } else {
269  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'PLR_or_BCM' field " << endmsg;
270  return(1);
271  }
272 
273  field = m_dict->find_field("barrel_endcap");
274  if (field) {
275  m_BARREL_EC_INDEX = 3; //this will clash with another value
276  if (m_BARREL_EC_INDEX != field->m_index){
277  log << MSG::INFO<<"Hardcoded value 3, field index "<< field->m_index << endmsg;
278  }
279  } else {
280  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'barrel_endcap' field " << endmsg;
281  return(1);
282  }
283 
284  field = m_dict->find_field("layer");
285  if (field) {
286  m_LAYER_DISK_INDEX = 4;
287  } else {
288  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'layer' field " << endmsg;
289  return(1);
290  }
291 
292  field = m_dict->find_field("phi_module");
293  if (field) {
294  m_PHI_MODULE_INDEX = 5;
295  } else {
296  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'phi_module' field " << endmsg;
297  return(1);
298  }
299  field = m_dict->find_field("eta_module");
300  if (field) {
301 
302  m_ETA_MODULE_INDEX = 6;
303  } else {
304  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'eta_module' field " << endmsg;
305  return(1);
306  }
307  field = m_dict->find_field("phi_index");
308  if (field) {
309 
310  m_PHI_INDEX_INDEX = 7;
311  } else {
312  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'phi_index' field " << endmsg;
313  return(1);
314  }
315  field = m_dict->find_field("eta_index");
316  if (field) {
317 
318  m_ETA_INDEX_INDEX = 8;
319  } else {
320  log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'eta_index' field " << endmsg;
321  return(1);
322  }
323 
324  // Set the field implementations: for bec, lay/disk, eta/phi mod
325  // there are two kinds - shifted and non-shifted
326 
328 
338 
339 
340  log << MSG::DEBUG << "decode index and bit fields for each level: " << endmsg;
341  log << MSG::DEBUG << "indet " << m_indet_impl.show_to_string() << endmsg;
342  log << MSG::DEBUG << "lumi " << m_lumi_impl.show_to_string() << endmsg;
343  log << MSG::DEBUG << "plr " << m_plr_impl.show_to_string() << endmsg;
344  log << MSG::DEBUG << "bec " << m_bec_impl.show_to_string() << endmsg;
345  log << MSG::DEBUG << "bec_shift " << m_bec_shift_impl.show_to_string() << endmsg;
346  log << MSG::DEBUG << "lay_disk " << m_lay_disk_impl.show_to_string() << endmsg;
347  log << MSG::DEBUG << "lay_disk_shift " << m_lay_disk_shift_impl.show_to_string() << endmsg;
348  log << MSG::DEBUG << "phi_mod " << m_phi_mod_impl.show_to_string() << endmsg;
349  log << MSG::DEBUG << "phi_mod_shift " << m_phi_mod_shift_impl.show_to_string() << endmsg;
350  log << MSG::DEBUG << "eta_mod " << m_eta_mod_impl.show_to_string() << endmsg;
351  log << MSG::DEBUG << "eta_mod_shift " << m_eta_mod_shift_impl.show_to_string() << endmsg;
352  log << MSG::DEBUG << "phi_index " << m_phi_index_impl.show_to_string() << endmsg;
353  log << MSG::DEBUG << "eta_index " << m_eta_index_impl.show_to_string() << endmsg;
354  log << MSG::DEBUG << "bec_eta_mod " << m_bec_eta_mod_impl.show_to_string() << endmsg;
355 
356 
357 
358 
359  std::cout << "indet " << m_indet_impl.decode_index() << " "
360  << (std::string) m_indet_impl.ored_field() << " "
361  << std::hex << m_indet_impl.mask() << " "
362  << m_indet_impl.zeroing_mask() << " "
363  << std::dec << m_indet_impl.shift()
364  << " " << m_indet_impl.bits() << " " << m_indet_impl.bits_offset() << " ";
366  std::cout << "lumi " << m_lumi_impl.decode_index() << " "
367  << (std::string) m_lumi_impl.ored_field() << " "
368  << std::hex << m_lumi_impl.mask() << " "
369  << m_lumi_impl.zeroing_mask() << " "
370  << std::dec << m_lumi_impl.shift()
371  << " " << m_lumi_impl.bits() << " " << m_lumi_impl.bits_offset() << " ";
373  std::cout << "plr " << m_plr_impl.decode_index() << " "
374  << (std::string) m_plr_impl.ored_field() << " "
375  << std::hex << m_plr_impl.mask() << " "
376  << m_plr_impl.zeroing_mask() << " "
377  << std::dec << m_plr_impl.shift()
378  << " " << m_plr_impl.bits() << " " << m_plr_impl.bits_offset() << " ";
380  std::cout << "bec " << m_bec_impl.decode_index() << " "
381  << (std::string) m_bec_impl.ored_field() << " "
382  << std::hex << m_bec_impl.mask() << " "
383  << m_bec_impl.zeroing_mask() << " "
384  << std::dec << m_bec_impl.shift()
385  << " " << m_bec_impl.bits() << " " << m_bec_impl.bits_offset() << " ";
387  std::cout << "bec_shift " << m_bec_shift_impl.decode_index() << " "
388  << (std::string) m_bec_shift_impl.ored_field() << " "
389  << std::hex << m_bec_shift_impl.mask() << " "
390  << m_bec_shift_impl.zeroing_mask() << " "
391  << std::dec << m_bec_shift_impl.shift()
392  << " " << m_bec_shift_impl.bits() << " " << m_bec_shift_impl.bits_offset() << " ";
394  std::cout << "lay_disk " << m_lay_disk_impl.decode_index() << " "
395  << (std::string) m_lay_disk_impl.ored_field() << " "
396  << std::hex << m_lay_disk_impl.mask() << " "
397  << m_lay_disk_impl.zeroing_mask() << " "
398  << std::dec << m_lay_disk_impl.shift()
399  << " " << m_lay_disk_impl.bits() << " " << m_lay_disk_impl.bits_offset() << " ";
401  std::cout << "lay_disk_shift " << m_lay_disk_shift_impl.decode_index() << " "
402  << (std::string) m_lay_disk_shift_impl.ored_field() << " "
403  << std::hex << m_lay_disk_shift_impl.mask() << " "
405  << std::dec << m_lay_disk_shift_impl.shift()
406  << " " << m_lay_disk_shift_impl.bits() << " " << m_lay_disk_shift_impl.bits_offset() << " ";
408  std::cout << "phi_mod " << m_phi_mod_impl.decode_index() << " "
409  << (std::string) m_phi_mod_impl.ored_field() << " "
410  << std::hex << m_phi_mod_impl.mask() << " "
411  << m_phi_mod_impl.zeroing_mask() << " "
412  << std::dec << m_phi_mod_impl.shift()
413  << " " << m_phi_mod_impl.bits() << " " << m_phi_mod_impl.bits_offset() << " ";
415  std::cout << "phi_mod_shift " << m_phi_mod_shift_impl.decode_index() << " "
416  << (std::string) m_phi_mod_shift_impl.ored_field() << " "
417  << std::hex << m_phi_mod_shift_impl.mask() << " "
419  << std::dec << m_phi_mod_shift_impl.shift()
420  << " " << m_phi_mod_shift_impl.bits() << " " << m_phi_mod_shift_impl.bits_offset() << " ";
422  std::cout << "eta_mod " << m_eta_mod_impl.decode_index() << " "
423  << (std::string) m_eta_mod_impl.ored_field() << " "
424  << std::hex << m_eta_mod_impl.mask() << " "
425  << m_eta_mod_impl.zeroing_mask() << " "
426  << std::dec << m_eta_mod_impl.shift()
427  << " " << m_eta_mod_impl.bits() << " " << m_eta_mod_impl.bits_offset() << " ";
429  std::cout << "eta_mod_shift " << m_eta_mod_shift_impl.decode_index() << " "
430  << (std::string) m_eta_mod_shift_impl.ored_field() << " "
431  << std::hex << m_eta_mod_shift_impl.mask() << " "
433  << std::dec << m_eta_mod_shift_impl.shift()
434  << " " << m_eta_mod_shift_impl.bits() << " " << m_eta_mod_shift_impl.bits_offset() << " ";
436  std::cout << "phi_index " << m_phi_index_impl.decode_index() << " "
437  << (std::string) m_phi_index_impl.ored_field() << " "
438  << std::hex << m_phi_index_impl.mask() << " "
439  << m_phi_index_impl.zeroing_mask() << " "
440  << std::dec << m_phi_index_impl.shift()
441  << " " << m_phi_index_impl.bits() << " " << m_phi_index_impl.bits_offset() << " ";
443  std::cout << "eta_index " << m_eta_index_impl.decode_index() << " "
444  << (std::string) m_eta_index_impl.ored_field() << " "
445  << std::hex << m_eta_index_impl.mask() << " "
446  << m_eta_index_impl.zeroing_mask() << " "
447  << std::dec << m_eta_index_impl.shift()
448  << " " << m_eta_index_impl.bits() << " " << m_eta_index_impl.bits_offset() << " ";
450  std::cout << "bec_eta_mod " << m_bec_eta_mod_impl.decode_index() << " "
451  << (std::string) m_bec_eta_mod_impl.ored_field() << " "
452  << std::hex << m_bec_eta_mod_impl.mask() << " "
453  << m_bec_eta_mod_impl.zeroing_mask() << " "
454  << std::dec << m_bec_eta_mod_impl.shift()
455  << " " << m_bec_eta_mod_impl.bits() << " " << m_bec_eta_mod_impl.bits_offset() << " ";
457 
458 
459  std::cout << "PLR_ID::initLevelsFromDict - found levels " << std::endl;
460  std::cout << "subdet " << m_INDET_INDEX << std::endl;
461  std::cout << "part " << m_LUMI_INDEX << std::endl;
462  std::cout << "plr " << m_PLR_INDEX << std::endl;
463  std::cout << "barrel_endcap " << m_BARREL_EC_INDEX << std::endl;
464  std::cout << "layer or disk " << m_LAYER_DISK_INDEX << std::endl;
465  std::cout << "phi_module " << m_PHI_MODULE_INDEX << std::endl;
466  std::cout << "eta_module " << m_ETA_MODULE_INDEX << std::endl;
467  std::cout << "phi_index " << m_PHI_INDEX_INDEX << std::endl;
468  std::cout << "eta_index " << m_ETA_INDEX_INDEX << std::endl;
469 
470  return(0);
471 }
IdDictDictionary::find_region
IdDictRegion * find_region(const std::string &region_name) const
Definition: IdDictDictionary.cxx:101
AtlasDetectorID::indet_field_value
int indet_field_value() const
Provide efficient access to individual field values, for subclass idhelpers.
Definition: AtlasDetectorID.h:611
PixelID::m_bec_impl
IdDictFieldImplementation m_bec_impl
Definition: PixelID.h:314
IdDictDictionary::build_multirange
MultiRange build_multirange() const
Get MultiRange for full dictionary.
Definition: IdDictDictionary.cxx:299
PixelID::m_INDET_INDEX
size_type m_INDET_INDEX
Definition: PixelID.h:290
AtlasDetectorID::lumi
Identifier lumi(void) const
Definition: AtlasDetectorID.cxx:113
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
IdDictFieldImplementation::show_to_string
std::string show_to_string(void) const
Definition: IdDictFieldImplementation.cxx:38
PixelID::m_pixel_id
Identifier m_pixel_id
Definition: PixelID.h:299
PixelID::m_eta_mod_shift_impl
IdDictFieldImplementation m_eta_mod_shift_impl
Definition: PixelID.h:321
PixelID::m_bec_shift_impl
IdDictFieldImplementation m_bec_shift_impl
Definition: PixelID.h:318
PixelID::initialize_from_dictionary
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
Definition: PixelID.cxx:183
PixelID::m_indet_impl
IdDictFieldImplementation m_indet_impl
Definition: PixelID.h:312
PixelID::m_dbm_field
Range::field m_dbm_field
Definition: PixelID.h:326
PixelID::init_hashes
int init_hashes(void)
Definition: PixelID.cxx:354
PLR_ID.h
PixelID::m_BARREL_EC_INDEX
size_type m_BARREL_EC_INDEX
Definition: PixelID.h:292
PixelID::m_phi_index_impl
IdDictFieldImplementation m_phi_index_impl
Definition: PixelID.h:322
PLR_ID::m_plr_impl
IdDictFieldImplementation m_plr_impl
Definition: PLR_ID.h:40
PixelID::m_ETA_INDEX_INDEX
size_type m_ETA_INDEX_INDEX
Definition: PixelID.h:297
PixelID::m_phi_mod_shift_impl
IdDictFieldImplementation m_phi_mod_shift_impl
Definition: PixelID.h:320
PixelID::m_full_pixel_range
MultiRange m_full_pixel_range
Definition: PixelID.h:302
IdentifierField::clear
void clear()
Set methods.
Definition: IdentifierField.cxx:224
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:102
PixelID::m_eta_mod_impl
IdDictFieldImplementation m_eta_mod_impl
Definition: PixelID.h:317
IdDictFieldImplementation::pack
void pack(int value, Identifier &id) const
Definition: IdDictFieldImplementation.h:173
AtlasDetectorID::plr_field_value
int plr_field_value() const
Definition: AtlasDetectorID.h:641
AtlasDetectorID::m_msgSvc
IMessageSvc * m_msgSvc
pointer to the message service
Definition: AtlasDetectorID.h:368
IdDictFieldImplementation::decode_index
bool decode_index() const
Definition: IdDictFieldImplementation.h:231
PixelID::m_ETA_MODULE_INDEX
size_type m_ETA_MODULE_INDEX
Definition: PixelID.h:295
ReadOfcFromCool.field
field
Definition: ReadOfcFromCool.py:48
PixelID::m_baseExpandedIdentifier
ExpandedIdentifier m_baseExpandedIdentifier
Definition: PixelID.h:287
IdDictDictionary::find_field
IdDictField * find_field(const std::string &name) const
Definition: IdDictDictionary.cxx:45
CalibDbCompareRT.region_id
region_id
Definition: CalibDbCompareRT.py:68
IdDictRegion
Definition: IdDictRegion.h:20
IdDictDictionary::m_version
std::string m_version
Definition: IdDictDictionary.h:217
PLR_ID::initialize_from_dictionary
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
Definition: PLR_ID.cxx:34
PixelID::m_bec_eta_mod_impl
IdDictFieldImplementation m_bec_eta_mod_impl
Definition: PixelID.h:324
IdDictDefs.h
IdDictMgr
Definition: IdDictMgr.h:14
IdDictFieldImplementation::shift
size_type shift() const
Definition: IdDictFieldImplementation.h:226
IdDictMgr::find_dictionary
IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
Definition: IdDictMgr.cxx:115
PLR_ID::m_PLR_INDEX
size_type m_PLR_INDEX
Definition: PLR_ID.h:34
PixelID::m_baseIdentifier
Identifier m_baseIdentifier
Definition: PixelID.h:286
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
IdDictFieldImplementation::bits_offset
size_type bits_offset() const
Definition: IdDictFieldImplementation.h:208
PixelID::m_full_wafer_range
MultiRange m_full_wafer_range
Definition: PixelID.h:301
IdDictDictionary::m_regions
std::vector< IdDictRegion * > m_regions
Definition: IdDictDictionary.h:235
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
IdDictFieldImplementation::ored_field
const Range::field & ored_field() const
Definition: IdDictFieldImplementation.h:196
AtlasDetectorID::lumi_field_value
int lumi_field_value() const
Definition: AtlasDetectorID.h:638
AtlasDetectorID::register_dict_tag
int register_dict_tag(const IdDictMgr &dict_mgr, const std::string &dict_name)
Register the file and tag names for a particular IdDict dictionary.
Definition: AtlasDetectorID.cxx:266
PLR_ID::m_lumi_impl
IdDictFieldImplementation m_lumi_impl
Definition: PLR_ID.h:39
IdDictDictionary::get_label_value
int get_label_value(const std::string &field, const std::string &label, int &value) const
Definition: IdDictDictionary.cxx:73
PixelID::init_neighbors
int init_neighbors(void)
Definition: PixelID.cxx:464
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:227
IdentifierHash.h
PLR_ID::initLevelsFromDict
int initLevelsFromDict()
Definition: PLR_ID.cxx:214
AtlasDetectorID::setDictVersion
virtual void setDictVersion(const IdDictMgr &dict_mgr, const std::string &name) override
Definition: AtlasDetectorID.cxx:759
Range
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
Definition: DetectorDescription/Identifier/Identifier/Range.h:29
PLR_ID::PLR_ID
PLR_ID()
Definition: PLR_ID.cxx:23
IdDictDictionary
Definition: IdDictDictionary.h:30
PLR_ID::m_LUMI_INDEX
size_type m_LUMI_INDEX
Definition: PLR_ID.h:33
PixelID::m_pixel_region_index
size_type m_pixel_region_index
Definition: PixelID.h:289
AtlasDetectorID::is_lumi
bool is_lumi(Identifier id) const
Definition: AtlasDetectorID.h:806
AtlasDetectorID::reinitialize
bool reinitialize(const IdDictMgr &dict_mgr)
Test whether an idhelper should be reinitialized based on the change of tags.
Definition: AtlasDetectorID.cxx:284
IdDictFieldImplementation::zeroing_mask
value_type zeroing_mask() const
Definition: IdDictFieldImplementation.h:220
IdDictDictionary::m_name
std::string m_name
Definition: IdDictDictionary.h:216
PixelID::m_eta_index_impl
IdDictFieldImplementation m_eta_index_impl
Definition: PixelID.h:323
PixelID::m_phi_mod_impl
IdDictFieldImplementation m_phi_mod_impl
Definition: PixelID.h:316
DEBUG
#define DEBUG
Definition: page_access.h:11
PixelID::m_barrel_field
Range::field m_barrel_field
Definition: PixelID.h:305
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
PixelID::m_lay_disk_shift_impl
IdDictFieldImplementation m_lay_disk_shift_impl
Definition: PixelID.h:319
PixelID::m_LAYER_DISK_INDEX
size_type m_LAYER_DISK_INDEX
Definition: PixelID.h:293
Identifier::value_type
unsigned long long value_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:27
IdentifierField::show
void show() const
Definition: IdentifierField.cxx:376
IdDictField
Definition: IdDictField.h:15
PixelID::m_PHI_MODULE_INDEX
size_type m_PHI_MODULE_INDEX
Definition: PixelID.h:294
PixelID
Definition: PixelID.h:67
PixelID::m_lay_disk_impl
IdDictFieldImplementation m_lay_disk_impl
Definition: PixelID.h:315
PixelID::m_dict
const IdDictDictionary * m_dict
Definition: PixelID.h:300
IdDictRegion::m_implementation
std::vector< IdDictFieldImplementation > m_implementation
Definition: IdDictRegion.h:42
IdDictFieldImplementation::mask
size_type mask() const
Definition: IdDictFieldImplementation.h:214
IdentifierField::add_value
void add_value(element_type value)
Definition: IdentifierField.cxx:250
IdDictFieldImplementation::bits
size_type bits() const
Definition: IdDictFieldImplementation.h:202
PixelID::m_PHI_INDEX_INDEX
size_type m_PHI_INDEX_INDEX
Definition: PixelID.h:296