ATLAS Offline Software
PLR_ID.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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 
22  : PixelID()
23 {
24  // changes compared to PixelID:
31 }
32 
33 int
35  MsgStream log(m_msgSvc, "PLR_ID");
36 
37  if (m_msgSvc) log << MSG::INFO << "Initialize from dictionary" << endmsg;
38  else std::cout << " INFO Initialize from dictionary" << std::endl;
39 
40  // Check whether this helper should be reinitialized
41  if (!reinitialize(dict_mgr)) {
42  if (m_msgSvc) log << MSG::INFO << "Request to reinitialize not satisfied - tags have not changed" << endmsg;
43  else std::cout << " INFO Request to reinitialize not satisfied - tags have not changed" << std::endl;
44  return(0);
45  } else {
46  if (m_msgSvc) log << MSG::DEBUG << "(Re)initialize" << endmsg;
47  else std::cout << " DEBUG (Re)initialize" << std::endl;
48  }
49 
50  // init base object
51  if (PixelID::initialize_from_dictionary(dict_mgr)) return(1);
52 
53  // Register version of InnerDetector dictionary
54  if (register_dict_tag(dict_mgr, "InnerDetector")) return(1);
55 
56  m_dict = dict_mgr.find_dictionary("InnerDetector");
57  if (!m_dict) {
58  if (m_msgSvc) log << MSG::FATAL << " PLR_ID::initialize_from_dict - cannot access InnerDetector dictionary "
59  << endmsg;
60  else std::cout << " FATAL PLR_ID::initialize_from_dict - cannot access InnerDetector dictionary "
61  << std::endl;
62  return(1);
63  }
64 
65  AtlasDetectorID::setDictVersion(dict_mgr, "InnerDetector");
66 
67  // Initialize the field indices
68  if (initLevelsFromDict()) return(1);
69 
70  // save indet id
71  m_pixel_id = lumi();
72  if (!is_lumi(m_pixel_id)) {
73  if (m_msgSvc) log << MSG::FATAL << " PLR_ID::initialize_from_dict - cannot get plr id dictionary "
74  << endmsg;
75  else std::cout << " FATAL PLR_ID::initialize_from_dict - cannot get plr id dictionary "
76  << std::endl;
77  return(1);
78  }
79 
80  //
81  // Set barrel field for testing is_barrel
82  //
83  int barrel_value;
85  // barrel
86  if (m_dict->get_label_value("barrel_endcap", "barrel", barrel_value)) {
87  if (m_msgSvc) log << MSG::FATAL << "Could not get value for label 'barrel' of field 'barrel_endcap' in dictionary "
88  << m_dict->m_name
89  << endmsg;
90  else std::cout << " FATAL Could not get value for label 'barrel' of field 'barrel_endcap' in dictionary "
91  << m_dict->m_name
92  << std::endl;
93  return(1);
94  }
95  m_barrel_field.add_value(barrel_value);
96  m_barrel_field.add_value(barrel_value);
97  if (m_msgSvc) log << MSG::DEBUG << " PLR_ID::initialize_from_dict "
98  << "Set barrel field values: "
99  << (std::string) m_barrel_field
100  << endmsg;
101  else std::cout << " DEBUG PLR_ID::initialize_from_dict "
102  << "Set barrel field values: "
103  << (std::string) m_barrel_field
104  << std::endl;
105 
106  //DBM
107  //Set dbm field for testing is_dbm
108  //
109  // WARNING:
110  // modified to skip DBM when aprorpiate dictionary is not present
111  // by adding +999 or -999 to the field
112  //
113 
114  int dbm_value;
115  m_dbm_field.clear();
116  if (m_dict->get_label_value("barrel_endcap", "negative_dbm", dbm_value)) {
117  if (m_dict->m_version.find("DBM") != std::string::npos) {
118  if (m_msgSvc) log << MSG::WARNING <<
119  "Could not get value for label 'negative_dbm' of field 'barrel_endcap' in dictionary "
120  << m_dict->m_name
121  << endmsg;
122  else std::cout << " WARNING Could not get value for label 'negative_dbm' of field 'barrel_endcap' in dictionary "
123  << m_dict->m_name
124  << std::endl;
125  }
126  //return (1);
127  m_dbm_field.add_value(-999);
128  } else {
129  m_dbm_field.add_value(dbm_value);
130  }
131  if (m_dict->get_label_value("barrel_endcap", "positive_dbm", dbm_value)) {
132  if (m_dict->m_version.find("DBM") != std::string::npos) {
133  if (m_msgSvc) log << MSG::WARNING <<
134  "Could not get value for label 'positive_dbm' of field 'barrel_endcap' in dictionary "
135  << m_dict->m_name
136  << endmsg;
137  else std::cout << " WARNING Could not get value for label 'positive_dbm' of field 'barrel_endcap' in dictionary "
138  << m_dict->m_name
139  << std::endl;
140  }
141  //return (1);
142  m_dbm_field.add_value(999);
143  } else {
144  m_dbm_field.add_value(dbm_value);
145  }
146  if (m_msgSvc) log << MSG::DEBUG << " PLR_ID::initialize_from_dict "
147  << "Set dbm field values: "
148  << (std::string) m_dbm_field
149  << endmsg;
150  else std::cout << " DEBUG PLR_ID::initialize_from_dict "
151  << "Set dbm field values: "
152  << (std::string) m_dbm_field
153  << std::endl;
154 
155 
156  //
157  // Build multirange for the valid set of identifiers
158  //
159 
160 
161  // Find value for the field InnerDetector
162  const IdDictDictionary* atlasDict = dict_mgr.find_dictionary("ATLAS");
163  int inDetField = -1;
164  if (atlasDict->get_label_value("subdet", "InnerDetector", inDetField)) {
165  if (m_msgSvc) log << MSG::FATAL << "Could not get value for label 'InnerDetector' of field 'subdet' in dictionary "
166  << atlasDict->m_name
167  << endmsg;
168  else std::cout << " FATAL Could not get value for label 'InnerDetector' of field 'subdet' in dictionary "
169  << atlasDict->m_name
170  << std::endl;
171  return(1);
172  }
173 
174  // Find value for the field LuminosityDetectors
175  int lumiField = -1;
176  if (m_dict->get_label_value("part", "LuminosityDetectors", lumiField)) {
177  if (m_msgSvc) log << MSG::FATAL << "Could not get value for label 'LuminosityDetectors' of field 'part' in dictionary "
178  << m_dict->m_name
179  << endmsg;
180  else std::cout << " FATAL Could not get value for label 'LuminosityDetectors' of field 'part' in dictionary "
181  << m_dict->m_name
182  << std::endl;
183  return(1);
184  }
185 
186  // Find value for the field PLR
187  int plrField = -1;
188  if (m_dict->get_label_value("PLR_or_BCM", "PLR", plrField)) {
189  if (m_msgSvc) log << MSG::FATAL << "Could not get value for label 'PLR' of field 'PLR_or_BCM' in dictionary "
190  << m_dict->m_name
191  << endmsg;
192  else std::cout << " FATAL Could not get value for label 'PLR' of field 'PLR_or_BCM' in dictionary "
193  << m_dict->m_name
194  << std::endl;
195  return(1);
196  }
197 
198  if (m_msgSvc) log << MSG::DEBUG << " PLR_ID::initialize_from_dict "
199  << "Found field values: InDet/LuminosityDetectors/PLR "
200  << inDetField << "/"
201  << lumiField << "/"
202  << plrField
203  << endmsg;
204  else std::cout << " DEBUG PLR_ID::initialize_from_dict "
205  << "Found field values: InDet/LuminosityDetectors/PLR "
206  << inDetField << "/"
207  << lumiField << "/"
208  << plrField
209  << std::endl;
210 
211  // Set up id for region and range prefix
213  region_id.add(inDetField);
214  region_id.add(lumiField);
215  region_id.add(plrField);
216  Range prefix;
219 
220  // Set the base identifier for PLR
225 
226  // Set the base expanded identifier for PLR
228 
229  // Setup the hash tables
230  if (init_hashes()) return(1);
231 
232  // Setup hash tables for finding neighbors
233  if (init_neighbors()) return(1);
234 
235  if (m_msgSvc) {
236  log << MSG::DEBUG << " PLR_ID::initialize_from_dict "
237  << endmsg;
238  log << MSG::DEBUG
239  << "Wafer range -> " << (std::string) m_full_wafer_range
240  << endmsg;
241  log << MSG::DEBUG
242  << "Pixel range -> " << (std::string) m_full_pixel_range
243  << endmsg;
244  } else {
245  std::cout << " DEBUG PLR_ID::initialize_from_dict "
246  << std::endl;
247  std::cout << " DEBUG Wafer range -> " << (std::string) m_full_wafer_range
248  << std::endl;
249  std::cout << " DEBUG Pixel range -> " << (std::string) m_full_pixel_range
250  << std::endl;
251  }
252  return 0;
253 }
254 
255 
256 int
258  MsgStream log(m_msgSvc, "PLR_ID");
259 
260  if (!m_dict) {
261  if (m_msgSvc) log << MSG::FATAL << " PLR_ID::initLevelsFromDict - dictionary NOT initialized " << endmsg;
262  else std::cout << " FATAL PLR_ID::initLevelsFromDict - dictionary NOT initialized " << std::endl;
263  return(1);
264  }
265 
266  // Find out which identifier field corresponds to each level. Use
267  // names to find each field/leve.
268 
269  m_INDET_INDEX = 999;
270  m_LUMI_INDEX = 999;
271  m_PLR_INDEX = 999;
272  m_BARREL_EC_INDEX = 999;
273  m_LAYER_DISK_INDEX = 999;
274  m_PHI_MODULE_INDEX = 999;
275  m_ETA_MODULE_INDEX = 999;
276  m_PHI_INDEX_INDEX = 999;
277  m_ETA_INDEX_INDEX = 999;
278 
279  // Save index to a PIXEL region for unpacking
283  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find pixel region index: id, reg "
284  << (std::string) id << " " << m_pixel_region_index
285  << endmsg;
286  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find pixel region index: id, reg "
287  << (std::string) id << " " << m_pixel_region_index
288  << std::endl;
289  return(1);
290  }
291 
292  // Get levels
293  IdDictField* field = m_dict->find_field("subdet");
294  if (field) {
295  m_INDET_INDEX = field->m_index;
296  } else {
297  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'subdet' field "
298  << endmsg;
299  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'subdet' field "
300  << std::endl;
301  return(1);
302  }
303 
304  field = m_dict->find_field("part");
305  if (field) {
306  m_LUMI_INDEX = field->m_index;
307  } else {
308  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'part' field " << endmsg;
309  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'part' field " << std::endl;
310  return(1);
311  }
312 
313  field = m_dict->find_field("PLR_or_BCM");
314  if (field) {
315  m_PLR_INDEX = field->m_index;
316  } else {
317  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'PLR_or_BCM' field " << endmsg;
318  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'PLR_or_BCM' field " << std::endl;
319  return(1);
320  }
321 
322  field = m_dict->find_field("barrel_endcap");
323  if (field) {
324 
325  m_BARREL_EC_INDEX = 3;
326  } else {
327  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'barrel_endcap' field " << endmsg;
328  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'barrel_endcap' field " << std::endl;
329  return(1);
330  }
331 
332  field = m_dict->find_field("layer");
333  if (field) {
334 
335  m_LAYER_DISK_INDEX = 4;
336  } else {
337  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'layer' field " << endmsg;
338  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'layer' field " << std::endl;
339  return(1);
340  }
341 
342  field = m_dict->find_field("phi_module");
343  if (field) {
344 
345  m_PHI_MODULE_INDEX = 5;
346  } else {
347  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'phi_module' field " << endmsg;
348  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'phi_module' field " << std::endl;
349  return(1);
350  }
351  field = m_dict->find_field("eta_module");
352  if (field) {
353 
354  m_ETA_MODULE_INDEX = 6;
355  } else {
356  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'eta_module' field " << endmsg;
357  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'eta_module' field " << std::endl;
358  return(1);
359  }
360  field = m_dict->find_field("phi_index");
361  if (field) {
362 
363  m_PHI_INDEX_INDEX = 7;
364  } else {
365  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'phi_index' field " << endmsg;
366  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'phi_index' field " << std::endl;
367  return(1);
368  }
369  field = m_dict->find_field("eta_index");
370  if (field) {
371 
372  m_ETA_INDEX_INDEX = 8;
373  } else {
374  if (m_msgSvc) log << MSG::FATAL << "PLR_ID::initLevelsFromDict - unable to find 'eta_index' field " << endmsg;
375  else std::cout << " FATAL PLR_ID::initLevelsFromDict - unable to find 'eta_index' field " << std::endl;
376  return(1);
377  }
378 
379  // Set the field implementations: for bec, lay/disk, eta/phi mod
380  // there are two kinds - shifted and non-shifted
381 
383 
393 
394  if (m_msgSvc) {
395  log << MSG::DEBUG << "decode index and bit fields for each level: " << endmsg;
396  log << MSG::DEBUG << "indet " << m_indet_impl.show_to_string() << endmsg;
397  log << MSG::DEBUG << "lumi " << m_lumi_impl.show_to_string() << endmsg;
398  log << MSG::DEBUG << "plr " << m_plr_impl.show_to_string() << endmsg;
399  log << MSG::DEBUG << "bec " << m_bec_impl.show_to_string() << endmsg;
400  log << MSG::DEBUG << "bec_shift " << m_bec_shift_impl.show_to_string() << endmsg;
401  log << MSG::DEBUG << "lay_disk " << m_lay_disk_impl.show_to_string() << endmsg;
402  log << MSG::DEBUG << "lay_disk_shift " << m_lay_disk_shift_impl.show_to_string() << endmsg;
403  log << MSG::DEBUG << "phi_mod " << m_phi_mod_impl.show_to_string() << endmsg;
404  log << MSG::DEBUG << "phi_mod_shift " << m_phi_mod_shift_impl.show_to_string() << endmsg;
405  log << MSG::DEBUG << "eta_mod " << m_eta_mod_impl.show_to_string() << endmsg;
406  log << MSG::DEBUG << "eta_mod_shift " << m_eta_mod_shift_impl.show_to_string() << endmsg;
407  log << MSG::DEBUG << "phi_index " << m_phi_index_impl.show_to_string() << endmsg;
408  log << MSG::DEBUG << "eta_index " << m_eta_index_impl.show_to_string() << endmsg;
409  log << MSG::DEBUG << "bec_eta_mod " << m_bec_eta_mod_impl.show_to_string() << endmsg;
410  } else {
411  std::cout << " DEBUG decode index and bit fields for each level: " << std::endl;
412  std::cout << " DEBUG indet " << m_indet_impl.show_to_string() << std::endl;
413  std::cout << " DEBUG lumi " << m_lumi_impl.show_to_string() << std::endl;
414  std::cout << " DEBUG plr " << m_plr_impl.show_to_string() << std::endl;
415  std::cout << " DEBUG bec " << m_bec_impl.show_to_string() << std::endl;
416  std::cout << " DEBUG bec_shift " << m_bec_shift_impl.show_to_string() << std::endl;
417  std::cout << " DEBUG lay_disk " << m_lay_disk_impl.show_to_string() << std::endl;
418  std::cout << " DEBUG lay_disk_shift " << m_lay_disk_shift_impl.show_to_string() << std::endl;
419  std::cout << " DEBUG phi_mod " << m_phi_mod_impl.show_to_string() << std::endl;
420  std::cout << " DEBUG phi_mod_shift " << m_phi_mod_shift_impl.show_to_string() << std::endl;
421  std::cout << " DEBUG eta_mod " << m_eta_mod_impl.show_to_string() << std::endl;
422  std::cout << " DEBUG eta_mod_shift " << m_eta_mod_shift_impl.show_to_string() << std::endl;
423  std::cout << " DEBUG phi_index " << m_phi_index_impl.show_to_string() << std::endl;
424  std::cout << " DEBUG eta_index " << m_eta_index_impl.show_to_string() << std::endl;
425  std::cout << " DEBUG bec_eta_mod " << m_bec_eta_mod_impl.show_to_string() << std::endl;
426  }
427 
428 
429 
430  std::cout << "indet " << m_indet_impl.decode_index() << " "
431  << (std::string) m_indet_impl.ored_field() << " "
432  << std::hex << m_indet_impl.mask() << " "
433  << m_indet_impl.zeroing_mask() << " "
434  << std::dec << m_indet_impl.shift()
435  << " " << m_indet_impl.bits() << " " << m_indet_impl.bits_offset() << " ";
437  std::cout << "lumi " << m_lumi_impl.decode_index() << " "
438  << (std::string) m_lumi_impl.ored_field() << " "
439  << std::hex << m_lumi_impl.mask() << " "
440  << m_lumi_impl.zeroing_mask() << " "
441  << std::dec << m_lumi_impl.shift()
442  << " " << m_lumi_impl.bits() << " " << m_lumi_impl.bits_offset() << " ";
444  std::cout << "plr " << m_plr_impl.decode_index() << " "
445  << (std::string) m_plr_impl.ored_field() << " "
446  << std::hex << m_plr_impl.mask() << " "
447  << m_plr_impl.zeroing_mask() << " "
448  << std::dec << m_plr_impl.shift()
449  << " " << m_plr_impl.bits() << " " << m_plr_impl.bits_offset() << " ";
451  std::cout << "bec " << m_bec_impl.decode_index() << " "
452  << (std::string) m_bec_impl.ored_field() << " "
453  << std::hex << m_bec_impl.mask() << " "
454  << m_bec_impl.zeroing_mask() << " "
455  << std::dec << m_bec_impl.shift()
456  << " " << m_bec_impl.bits() << " " << m_bec_impl.bits_offset() << " ";
458  std::cout << "bec_shift " << m_bec_shift_impl.decode_index() << " "
459  << (std::string) m_bec_shift_impl.ored_field() << " "
460  << std::hex << m_bec_shift_impl.mask() << " "
461  << m_bec_shift_impl.zeroing_mask() << " "
462  << std::dec << m_bec_shift_impl.shift()
463  << " " << m_bec_shift_impl.bits() << " " << m_bec_shift_impl.bits_offset() << " ";
465  std::cout << "lay_disk " << m_lay_disk_impl.decode_index() << " "
466  << (std::string) m_lay_disk_impl.ored_field() << " "
467  << std::hex << m_lay_disk_impl.mask() << " "
468  << m_lay_disk_impl.zeroing_mask() << " "
469  << std::dec << m_lay_disk_impl.shift()
470  << " " << m_lay_disk_impl.bits() << " " << m_lay_disk_impl.bits_offset() << " ";
472  std::cout << "lay_disk_shift " << m_lay_disk_shift_impl.decode_index() << " "
473  << (std::string) m_lay_disk_shift_impl.ored_field() << " "
474  << std::hex << m_lay_disk_shift_impl.mask() << " "
476  << std::dec << m_lay_disk_shift_impl.shift()
477  << " " << m_lay_disk_shift_impl.bits() << " " << m_lay_disk_shift_impl.bits_offset() << " ";
479  std::cout << "phi_mod " << m_phi_mod_impl.decode_index() << " "
480  << (std::string) m_phi_mod_impl.ored_field() << " "
481  << std::hex << m_phi_mod_impl.mask() << " "
482  << m_phi_mod_impl.zeroing_mask() << " "
483  << std::dec << m_phi_mod_impl.shift()
484  << " " << m_phi_mod_impl.bits() << " " << m_phi_mod_impl.bits_offset() << " ";
486  std::cout << "phi_mod_shift " << m_phi_mod_shift_impl.decode_index() << " "
487  << (std::string) m_phi_mod_shift_impl.ored_field() << " "
488  << std::hex << m_phi_mod_shift_impl.mask() << " "
490  << std::dec << m_phi_mod_shift_impl.shift()
491  << " " << m_phi_mod_shift_impl.bits() << " " << m_phi_mod_shift_impl.bits_offset() << " ";
493  std::cout << "eta_mod " << m_eta_mod_impl.decode_index() << " "
494  << (std::string) m_eta_mod_impl.ored_field() << " "
495  << std::hex << m_eta_mod_impl.mask() << " "
496  << m_eta_mod_impl.zeroing_mask() << " "
497  << std::dec << m_eta_mod_impl.shift()
498  << " " << m_eta_mod_impl.bits() << " " << m_eta_mod_impl.bits_offset() << " ";
500  std::cout << "eta_mod_shift " << m_eta_mod_shift_impl.decode_index() << " "
501  << (std::string) m_eta_mod_shift_impl.ored_field() << " "
502  << std::hex << m_eta_mod_shift_impl.mask() << " "
504  << std::dec << m_eta_mod_shift_impl.shift()
505  << " " << m_eta_mod_shift_impl.bits() << " " << m_eta_mod_shift_impl.bits_offset() << " ";
507  std::cout << "phi_index " << m_phi_index_impl.decode_index() << " "
508  << (std::string) m_phi_index_impl.ored_field() << " "
509  << std::hex << m_phi_index_impl.mask() << " "
510  << m_phi_index_impl.zeroing_mask() << " "
511  << std::dec << m_phi_index_impl.shift()
512  << " " << m_phi_index_impl.bits() << " " << m_phi_index_impl.bits_offset() << " ";
514  std::cout << "eta_index " << m_eta_index_impl.decode_index() << " "
515  << (std::string) m_eta_index_impl.ored_field() << " "
516  << std::hex << m_eta_index_impl.mask() << " "
517  << m_eta_index_impl.zeroing_mask() << " "
518  << std::dec << m_eta_index_impl.shift()
519  << " " << m_eta_index_impl.bits() << " " << m_eta_index_impl.bits_offset() << " ";
521  std::cout << "bec_eta_mod " << m_bec_eta_mod_impl.decode_index() << " "
522  << (std::string) m_bec_eta_mod_impl.ored_field() << " "
523  << std::hex << m_bec_eta_mod_impl.mask() << " "
524  << m_bec_eta_mod_impl.zeroing_mask() << " "
525  << std::dec << m_bec_eta_mod_impl.shift()
526  << " " << m_bec_eta_mod_impl.bits() << " " << m_bec_eta_mod_impl.bits_offset() << " ";
528 
529 
530  std::cout << "PLR_ID::initLevelsFromDict - found levels " << std::endl;
531  std::cout << "subdet " << m_INDET_INDEX << std::endl;
532  std::cout << "part " << m_LUMI_INDEX << std::endl;
533  std::cout << "plr " << m_PLR_INDEX << std::endl;
534  std::cout << "barrel_endcap " << m_BARREL_EC_INDEX << std::endl;
535  std::cout << "layer or disk " << m_LAYER_DISK_INDEX << std::endl;
536  std::cout << "phi_module " << m_PHI_MODULE_INDEX << std::endl;
537  std::cout << "eta_module " << m_ETA_MODULE_INDEX << std::endl;
538  std::cout << "phi_index " << m_PHI_INDEX_INDEX << std::endl;
539  std::cout << "eta_index " << m_ETA_INDEX_INDEX << std::endl;
540 
541  return(0);
542 }
IdDictDictionary::find_region
IdDictRegion * find_region(const std::string &region_name) const
Definition: IdDictMgr.cxx:366
Identifier::value_type
IDENTIFIER_TYPE value_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:39
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: IdDictMgr.cxx:1048
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:57
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:185
Range::field::show
void show() const
Definition: DetectorDescription/Identifier/src/Range.cxx:1035
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:390
PLR_ID.h
This is an Identifier helper class for the PLR subdetector. This class inherits from PicelID.
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:42
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
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:108
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:174
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:232
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: IdDictMgr.cxx:309
CalibDbCompareRT.region_id
region_id
Definition: CalibDbCompareRT.py:68
IdDictRegion
Definition: IdDictDefs.h:448
IdDictDictionary::m_version
std::string m_version
Definition: IdDictDefs.h:284
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
Range::field::clear
void clear()
Set methods.
Definition: DetectorDescription/Identifier/src/Range.cxx:653
PixelID::m_bec_eta_mod_impl
IdDictFieldImplementation m_bec_eta_mod_impl
Definition: PixelID.h:324
IdDictDefs.h
IdDictMgr
Definition: IdDictDefs.h:32
IdDictFieldImplementation::shift
size_type shift() const
Definition: IdDictFieldImplementation.h:227
IdDictMgr::find_dictionary
IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
Definition: IdDictMgr.cxx:161
PLR_ID::m_PLR_INDEX
size_type m_PLR_INDEX
Definition: PLR_ID.h:36
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:209
PixelID::m_full_wafer_range
MultiRange m_full_wafer_range
Definition: PixelID.h:301
IdDictDictionary::m_regions
std::vector< IdDictRegion * > m_regions
Definition: IdDictDefs.h:302
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
IdDictFieldImplementation::ored_field
const Range::field & ored_field() const
Definition: IdDictFieldImplementation.h:197
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:41
IdDictDictionary::get_label_value
int get_label_value(const std::string &field, const std::string &label, int &value) const
Definition: IdDictMgr.cxx:338
PixelID::init_neighbors
int init_neighbors(void)
Definition: PixelID.cxx:509
Range::field::add_value
void add_value(element_type value)
Definition: DetectorDescription/Identifier/src/Range.cxx:729
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
IdentifierHash.h
PLR_ID::initLevelsFromDict
int initLevelsFromDict()
Definition: PLR_ID.cxx:257
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:27
PLR_ID::PLR_ID
PLR_ID()
Definition: PLR_ID.cxx:21
IdDictDictionary
Definition: IdDictDefs.h:97
PLR_ID::m_LUMI_INDEX
size_type m_LUMI_INDEX
Definition: PLR_ID.h:35
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:221
IdDictDictionary::m_name
std::string m_name
Definition: IdDictDefs.h:283
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
IdDictField
Definition: IdDictDefs.h:318
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: IdDictDefs.h:474
IdDictFieldImplementation::mask
size_type mask() const
Definition: IdDictFieldImplementation.h:215
IdDictFieldImplementation::bits
size_type bits() const
Definition: IdDictFieldImplementation.h:203
PixelID::m_PHI_INDEX_INDEX
size_type m_PHI_INDEX_INDEX
Definition: PixelID.h:296