ATLAS Offline Software
Loading...
Searching...
No Matches
AtlasDetectorID.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ATLASDETDESCR_ATLASDETECTORID_H
6#define ATLASDETDESCR_ATLASDETECTORID_H
21
22#include "Identifier/Identifier.h"
24#include "Identifier/IdHelper.h"
25#include "Identifier/Range.h"
27#include "AtlasDetTechnology.h"
30
31#include <string>
32#include <vector>
33#include <memory>
34#include <cmath>
35
38
39
51
53{
54public:
80 static constexpr int invalidIndex{999};
81 static constexpr int invalidId{-1};
82
84
85 AtlasDetectorID(const std::string& name, const std::string& group);
87 AtlasDetectorID(const AtlasDetectorID& other) = delete;
90
92 virtual HelperType helper() const {
94 }
95
97 const std::string& group() const;
98
100
101
102 Identifier indet (void) const;
103 Identifier lar (void) const;
104 Identifier tile (void) const;
105 Identifier muon (void) const;
106 Identifier calo (void) const;
108
110
111 Identifier pixel (void) const;
112 Identifier sct (void) const;
113 Identifier trt (void) const;
114 Identifier hgtd (void) const;
115 Identifier lumi (void) const;
117
119
120 Identifier lar_em (void) const;
121 Identifier lar_hec (void) const;
122 Identifier lar_fcal (void) const;
124
126
127 Identifier mdt (void) const;
128 Identifier csc (void) const;
129 Identifier rpc (void) const;
130 Identifier tgc (void) const;
131 Identifier stgc (void) const;
132 Identifier mm (void) const;
134
136
137 Identifier lar_lvl1 (void) const;
138 Identifier lar_dm (void) const;
139 Identifier tile_dm (void) const;
141
143
144
145 IdContext detsystem_context (void) const;
146
148 IdContext subdet_context (void) const;
150
151
153
154
155 virtual int get_id (const IdentifierHash& hash_id,
156 Identifier& id,
157 const IdContext* context = 0) const override;
158
160 virtual int get_hash (const Identifier& id,
161 IdentifierHash& hash_id,
162 const IdContext* context = 0) const override;
164
166
167
168 virtual int initialize_from_dictionary(const IdDictMgr& dict_mgr) override;
169
170 // retrieve version of the dictionary
171 virtual std::string dictionaryVersion (void) const override;
173
174
176
177
179 void show (Identifier id,
180 const IdContext* context = 0,
181 char sep = '.' ) const;
183 std::string show_to_string (Identifier id,
184 const IdContext* context = 0,
185 char sep = '.' ) const;
186
188 void print (Identifier id,
189 const IdContext* context = 0) const;
191 std::string print_to_string (Identifier id,
192 const IdContext* context = 0) const;
194
196
197 bool is_indet (Identifier id) const;
198 bool is_lar (Identifier id) const;
199 bool is_tile (Identifier id) const;
200 bool is_muon (Identifier id) const;
201 bool is_calo (Identifier id) const;
202 bool is_lvl1_trig_towers(Identifier id) const;
203 bool is_lvl1_online(Identifier id) const;
204 bool is_pixel (Identifier id) const;
205 bool is_sct (Identifier id) const;
206 bool is_trt (Identifier id) const;
207 bool is_hgtd (Identifier id) const;
208 bool is_lumi (Identifier id) const;
209 bool is_plr (Identifier id) const;
210 bool is_lar_em (Identifier id) const;
211 bool is_lar_hec (Identifier id) const;
212 bool is_lar_fcal (Identifier id) const;
213 bool is_lar_minifcal (Identifier id) const;
215 bool is_lar_dm (Identifier id) const;
216 bool is_tile_dm (Identifier id) const;
217 bool is_mdt (Identifier id) const;
218 bool is_csc (Identifier id) const;
219 bool is_tgc (Identifier id) const;
220 bool is_rpc (Identifier id) const;
221 bool is_stgc (Identifier id) const;
222 bool is_mm (Identifier id) const;
223 bool is_forward (Identifier id) const;
224 bool is_alfa (Identifier id) const;
225 bool is_bcm (Identifier id) const;
226 bool is_lucid (Identifier id) const;
227 bool is_zdc (Identifier id) const;
229
230
232
233 bool is_indet (const ExpandedIdentifier& id) const;
234 bool is_lar (const ExpandedIdentifier& id) const;
235 bool is_tile (const ExpandedIdentifier& id) const;
236 bool is_muon (const ExpandedIdentifier& id) const;
237 bool is_calo (const ExpandedIdentifier& id) const;
238 bool is_pixel (const ExpandedIdentifier& id) const;
239 bool is_sct (const ExpandedIdentifier& id) const;
240 bool is_trt (const ExpandedIdentifier& id) const;
241 bool is_hgtd (const ExpandedIdentifier& id) const;
242 bool is_lumi (const ExpandedIdentifier& id) const;
243 bool is_plr (const ExpandedIdentifier& id) const;
244 bool is_lar_em (const ExpandedIdentifier& id) const;
245 bool is_lar_hec (const ExpandedIdentifier& id) const;
246 bool is_lar_fcal (const ExpandedIdentifier& id) const;
247 bool is_lar_minifcal (const ExpandedIdentifier& id) const;
248 bool is_mdt (const ExpandedIdentifier& id) const;
249 bool is_csc (const ExpandedIdentifier& id) const;
250 bool is_tgc (const ExpandedIdentifier& id) const;
251 bool is_rpc (const ExpandedIdentifier& id) const;
252 bool is_stgc (const ExpandedIdentifier& id) const;
253 bool is_mm (const ExpandedIdentifier& id) const;
255
257
258
259 const std::vector<std::string>& dict_names(void) const;
261 const std::vector<std::string>& file_names(void) const;
263 const std::vector<std::string>& dict_tags (void) const;
265
267
268 virtual bool do_checks (void) const override;
269 virtual void set_do_checks (bool do_checks) override;
271
273
274 virtual bool do_neighbours (void) const override;
275 virtual void set_do_neighbours (bool do_neighbours) override;
277
278protected:
279
281
282 virtual void setDictVersion (const IdDictMgr& dict_mgr, const std::string& name) override;
283
284 std::string to_range (const ExpandedIdentifier& id) const;
285
286 std::string fix_barrel_ec (const std::string& barrel_ec) const;
287
289 ExpandedIdentifier indet_exp (void) const;
290 ExpandedIdentifier lar_exp (void) const;
291 ExpandedIdentifier tile_exp (void) const;
292 ExpandedIdentifier muon_exp (void) const;
293 ExpandedIdentifier calo_exp (void) const;
294 ExpandedIdentifier fwd_exp (void) const;
295
297 ExpandedIdentifier pixel_exp (void) const;
298 ExpandedIdentifier sct_exp (void) const;
299 ExpandedIdentifier trt_exp (void) const;
300 ExpandedIdentifier hgtd_exp (void) const;
301 ExpandedIdentifier lumi_exp (void) const;
302
304 ExpandedIdentifier lar_em_exp (void) const;
305 ExpandedIdentifier lar_hec_exp (void) const;
306 ExpandedIdentifier lar_fcal_exp (void) const;
307
309 ExpandedIdentifier alfa_exp (void) const;
310 ExpandedIdentifier bcm_exp (void) const;
311 ExpandedIdentifier lucid_exp (void) const;
312 ExpandedIdentifier zdc_exp (void) const;
313
316 int indet_field_value () const;
317 int lar_field_value () const;
318 int tile_field_value () const;
319 int muon_field_value () const;
320 int calo_field_value () const;
321 int pixel_field_value () const;
322 int sct_field_value () const;
323 int trt_field_value () const;
324 int hgtd_field_value () const;
325 int lumi_field_value () const;
326 int plr_field_value () const;
327 int lar_em_field_value () const;
328 int lar_hec_field_value () const;
329 int lar_fcal_field_value () const;
330 int mdt_field_value () const;
331 int csc_field_value () const;
332 int rpc_field_value () const;
333 int tgc_field_value () const;
334 int stgc_field_value () const;
335 int mm_field_value () const;
336 int forward_field_value () const;
337 int alfa_field_value () const;
338 int bcm_field_value () const;
339 int lucid_field_value () const;
340 int zdc_field_value () const;
341
344 int register_dict_tag (const IdDictMgr& dict_mgr,
345 const std::string& dict_name);
346
349 bool reinitialize (const IdDictMgr& dict_mgr);
350
352 std::string m_group;
353
355 std::vector<std::string> m_dict_names;
356
358 std::vector<std::string> m_file_names;
359
361 std::vector<std::string> m_dict_tags;
362 private:
363 typedef Identifier::size_type size_type;
364
365 // dictionary version
366 std::string m_dict_version;
367 const IdDictDictionary* dictionary(const Identifier& id) const;
375 // Identifier numbering:
376 // Temporary fixes - set LAR and MUON ids to single level
377 enum ID {
378 ATLAS_ID = static_cast<Identifier::value_type>(0),
379 MAX_BIT = Identifier::MAX_BIT,
380 // mask to distinguish a pixel id from lvl1 id (bit 1 set)
381 PIXEL_MASK = static_cast<Identifier::value_type>(0xFF),
382 ALL_BITS = Identifier::ALL_BITS
383 };
384
385 int initLevelsFromDict(const IdDictMgr& dict_mgr);
390 int m_LAR_ID{4};
391 int m_TILE_ID{5};
392 int m_MUON_ID{7};
393 int m_CALO_ID{10};
395 int m_SCT_ID{2};
396 int m_TRT_ID{3};
397 int m_HGTD_ID{4};
398 int m_LUMI_ID{3};
404 int m_MDT_ID{0};
405 int m_CSC_ID{1};
406 int m_RPC_ID{2};
407 int m_TGC_ID{3};
408 int m_STGC_ID{4};
409 int m_MM_ID{5};
410 int m_FWD_ID{13};
411 int m_ALFA_ID{1};
412 int m_BCM_ID{3};
414 int m_ZDC_ID{7};
415
416
430 std::unique_ptr<AtlasDetectorIDHelper> m_helper{};
431
432 // vector used to store info to distinguish between muon technologies.
433 std::vector<unsigned int> m_muon_tech_bits;
434 //4 bools placed here to fill any padding
439protected:
443 bool m_do_neighbours{true};
444
445};
446
447
448
449//using the macros below we can assign an identifier (and a version)
450//This is required and checked at compile time when you try to record/retrieve
451CLASS_DEF(AtlasDetectorID, 164875623, 1)
452
453inline int
455
456inline int
458
459inline int
461
462inline int
464
465inline int
467
468inline int
470
471inline int
473
474inline int
476
477inline int
479
480inline int
482
483inline int
485
486inline int
488
489inline int
491
492inline int
494
495inline int
497
498inline int
500
501inline int
503
504inline int
506
507inline int
509
510inline int
512
513inline int
515inline int
517inline int
519inline int
521inline int
523
524
525inline bool
527{
528 return (m_det_impl.unpack(id) == m_INDET_ID);
529}
530
531inline bool
533{
534 return (m_det_impl.unpack(id) == m_LAR_ID);
535}
536
537inline bool
539{
540 return (m_det_impl.unpack(id) == m_TILE_ID);
541}
542
543inline bool
545{
546 return (m_det_impl.unpack(id) == m_MUON_ID);
547}
548
549inline bool
551{
552 return (m_det_impl.unpack(id) == m_CALO_ID);
553}
554
555inline bool
557{
558 bool result = false;
559 if (is_calo(id)) {
560 int temp = m_calo_side_impl.unpack(id);
561 result = (m_lvl1_field.match(temp));
562 }
563 return result;
564}
565
566inline bool
568{
569 bool result = false;
570 if (is_calo(id)) {
571 int temp = m_calo_side_impl.unpack(id);
572 result = (m_lvl1_onl_field.match(temp));
573 }
574 return result;
575}
576
577
578inline bool
580{
581 bool result = false;
582 if (is_calo(id)) {
583 int temp = m_calo_side_impl.unpack(id);
584 result = (m_lar_dm_field.match(temp));
585 }
586 return result;
587}
588
589
590inline bool
592{
593 bool result = false;
594 if (is_calo(id)) {
595 int temp = m_calo_side_impl.unpack(id);
596 result = (m_tile_dm_field.match(temp));
597 }
598 return result;
599}
600
601
602inline bool
604{
605 bool result = false;
606 if(is_indet(id)) {
607 result = (m_indet_part_impl.unpack(id) == m_PIXEL_ID);
608 }
609 return result;
610}
611
612inline bool
614{
615 bool result = false;
616 // Must check is_pixel to allow for special bits
617 // (don't need this check for 64-bit identifier, but leave it in for now)
618 if(is_indet(id) && !is_pixel(id)) {
619 result = (m_indet_part_impl.unpack(id) == m_SCT_ID);
620 }
621 return result;
622}
623
624inline bool
626{
627 bool result = false;
628 // Must check is_pixel to allow for special bits
629 // (don't need this check for 64-bit identifier, but leave it in for now)
630 if(is_indet(id) && !is_pixel(id)) {
631 result = (m_indet_part_impl.unpack(id) == m_TRT_ID);
632 }
633 return result;
634}
635
636inline bool
638{
639 bool result = false;
640 // Must check is_pixel to allow for special bits
641 // (don't need this check for 64-bit identifier, but leave it in for now)
642 if(is_indet(id) && !is_pixel(id)) {
643 result = (m_indet_part_impl.unpack(id) == m_HGTD_ID);
644 }
645 return result;
646}
647
648inline bool
650{
651 bool result = false;
652 // Must check is_pixel to allow for special bits
653 // (don't need this check for 64-bit identifier, but leave it in for now)
654 if(is_indet(id) && !is_pixel(id)) {
655 result = (m_indet_part_impl.unpack(id) == m_LUMI_ID);
656 }
657 return result;
658}
659
660inline bool
662{
663 bool result = false;
664 if(is_lar(id)) {
665 result = (std::abs(m_lar_part_impl.unpack(id)) == m_LAR_EM_ID);
666 }
667 return result;
668}
669
670
671inline bool
673{
674 bool result = false;
675 if(is_lar(id)) {
676 result = (std::abs(m_lar_part_impl.unpack(id)) == m_LAR_HEC_ID);
677 }
678 return result;
679}
680
681inline bool
683{
684 bool result = false;
685 if(is_lar(id)) {
686 result = (std::abs(m_lar_part_impl.unpack(id)) == m_LAR_FCAL_ID);
687 }
688 return result;
689}
690
691inline bool
693{
694 bool result = false;
695 if(is_lar_fcal(id)) {
696 result = (m_lar_fcal_module_impl.unpack(id) == 0);
697 }
698 return result;
699}
700
701inline bool
703{
704 bool result = false;
705 if (!is_muon(id)) return false;
706 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
707 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
708 // MDT and RPC can only be destinguished by the additional bit in the ID
709 // since the station names are ambiguous
710 if (is_muon(id) && ((techBit == AtlasDetDescr::fAtlasMDT)
711 || (techBit == AtlasDetDescr::fAtlasRPC))) {
712 result = (m_muon_mdt_impl.unpack(id) == m_MDT_ID);
713 }
714 return result;
715}
716
717inline bool
719{
720 bool result = false;
721 if (!is_muon(id)) return false;
722 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
723 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
724 // MDT and RPC can only be destinguished by the additional bit in the ID
725 // since the station names are ambiguous
726 if (is_muon(id) && ((techBit == AtlasDetDescr::fAtlasMDT)
727 || (techBit == AtlasDetDescr::fAtlasRPC))) {
728 result = (m_muon_rpc_impl.unpack(id) == m_RPC_ID);
729 }
730 return result;
731}
732
733inline bool
735{
736 bool result = false;
737 if (!is_muon(id)) return false;
738 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
739 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
740 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasCSC));
741 return result;
742}
743
744inline bool
746{
747 bool result = false;
748 if (!is_muon(id)) return false;
749 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
750 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
751 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasTGC));
752 return result;
753}
754
755inline bool
757{
758 bool result = false;
759 if (!is_muon(id)) return false;
760 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
761 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
762 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasMM));
763 return result;
764}
765
766inline bool
768{
769 bool result = false;
770 if (!is_muon(id)) return false;
771 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
772 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
773 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasSTGC));
774 return result;
775}
776
777inline bool
779{
780 return (m_det_impl.unpack(id) == m_FWD_ID);
781}
782
783inline bool
785{
786 bool result = false;
787 if(is_forward(id)) {
788 result = (std::abs(m_lar_part_impl.unpack(id)) == m_ALFA_ID);
789 }
790 return result;
791}
792
793inline bool
795{
796 bool result = false;
797 if(is_forward(id)) {
798 result = (std::abs(m_lar_part_impl.unpack(id)) == m_BCM_ID);
799 }
800 return result;
801}
802
803inline bool
805{
806 bool result = false;
807 if(is_forward(id)) {
808 result = (std::abs(m_lar_part_impl.unpack(id)) == m_LUCID_ID);
809 }
810 return result;
811}
812
813inline bool
815{
816 bool result = false;
817 if(is_forward(id)) {
818 result = (std::abs(m_lar_part_impl.unpack(id)) == m_ZDC_ID);
819 }
820 return result;
821}
822
823
824#endif // ATLASDETDESCR_ATLASDETECTORID_H
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Identifier lar_hec(void) const
virtual std::string dictionaryVersion(void) const override
Range::field m_lvl1_field
ExpandedIdentifier zdc_exp(void) const
int mm_field_value() const
bool m_do_checks
Flag for subclasses to know whether or not to perform checks.
int muon_field_value() const
Identifier hgtd(void) const
Identifier lar_dm(void) const
std::string m_dict_version
bool m_do_neighbours
Flag for subclasses to know whether or not to perform neighbour initialization.
HelperType
enum class for eventual final derived types of this class
IdDictFieldImplementation m_det_impl
int csc_field_value() const
const IdDictDictionary * m_calo_dict
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
virtual bool do_neighbours(void) const override
Neighbour initialization is performed by default One can switch or query this mode for any idHelper w...
bool is_lar_em(Identifier id) const
Identifier tile(void) const
IdContext detsystem_context(void) const
IdContext (indicates id length) for detector systems.
Range::field m_lar_dm_field
virtual int get_id(const IdentifierHash &hash_id, Identifier &id, const IdContext *context=0) const override
Create compact id from hash id (return == 0 for OK)
int lar_hec_field_value() const
std::string print_to_string(Identifier id, const IdContext *context=0) const
or provide the printout in string form
bool reinitialize(const IdDictMgr &dict_mgr)
Test whether an idhelper should be reinitialized based on the change of tags.
const IdDictDictionary * m_muon_dict
const IdDictDictionary * dictionary(const Identifier &id) const
size_type m_SUBDET_INDEX
IdDictFieldImplementation m_calo_side_impl
ExpandedIdentifier bcm_exp(void) const
ExpandedIdentifier lar_em_exp(void) const
LAr.
std::string fix_barrel_ec(const std::string &barrel_ec) const
ExpandedIdentifier sct_exp(void) const
int lar_fcal_field_value() const
Identifier trt(void) const
std::vector< std::string > m_dict_names
List of dictionary names used by this helper.
AtlasDetectorID & operator=(const AtlasDetectorID &other)=delete
ExpandedIdentifier pixel_exp(void) const
Inner Detector:
Identifier::size_type size_type
bool is_mdt(Identifier id) const
std::string m_group
Group name.
bool is_indet(Identifier id) const
AtlasDetectorID(const AtlasDetectorID &other)=delete
int lumi_field_value() const
ExpandedIdentifier lar_exp(void) const
virtual void setDictVersion(const IdDictMgr &dict_mgr, const std::string &name) override
int plr_field_value() const
Identifier stgc(void) const
int pixel_field_value() const
ExpandedIdentifier lar_hec_exp(void) const
int bcm_field_value() const
ExpandedIdentifier muon_exp(void) const
static constexpr int invalidId
IdDictFieldImplementation m_lar_part_impl
int register_dict_tag(const IdDictMgr &dict_mgr, const std::string &dict_name)
Register the file and tag names for a particular IdDict dictionary.
bool is_lar(Identifier id) const
Range::field m_lvl1_onl_field
bool is_bcm(Identifier id) const
int hgtd_field_value() const
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
int tgc_field_value() const
bool is_stgc(Identifier id) const
IdDictFieldImplementation m_lar_fcal_module_impl
IdDictFieldImplementation m_muon_mdt_impl
bool is_rpc(Identifier id) const
virtual ~AtlasDetectorID()
int sct_field_value() const
int mdt_field_value() const
IdDictFieldImplementation m_indet_part_impl
Identifier mdt(void) const
void show(Identifier id, const IdContext *context=0, char sep='.') const
Short print out of any identifier (optionally provide separation character - default is '.
Identifier lar_lvl1(void) const
bool is_sct(Identifier id) const
static constexpr int invalidIndex
IdDictFieldImplementation m_muon_rpc_impl
ExpandedIdentifier indet_exp(void) const
Detector systems:
ExpandedIdentifier lumi_exp(void) const
bool is_lar_dm(Identifier id) const
LAr/Tile dead material:
int trt_field_value() const
int calo_field_value() const
virtual void set_do_checks(bool do_checks) override
std::vector< std::string > m_dict_tags
List of dictionary versions used by this helper.
bool is_tgc(Identifier id) const
size_type m_MUON_SUBDET_INDEX
ExpandedIdentifier lar_fcal_exp(void) const
bool is_lar_fcal(Identifier id) const
bool is_pixel(Identifier id) const
int forward_field_value() const
bool is_alfa(Identifier id) const
std::string to_range(const ExpandedIdentifier &id) const
bool is_plr(Identifier id) const
const std::vector< std::string > & dict_names(void) const
Dictionary names.
const std::vector< std::string > & dict_tags(void) const
Version tags for subdet dictionaries.
bool is_lvl1_online(Identifier id) const
const std::vector< std::string > & file_names(void) const
File names for subdet dictionaries.
const IdDictDictionary * m_tile_dict
ExpandedIdentifier fwd_exp(void) const
const IdDictDictionary * m_fwd_dict
int alfa_field_value() const
bool is_muon(Identifier id) const
Identifier mm(void) const
int initLevelsFromDict(const IdDictMgr &dict_mgr)
ExpandedIdentifier trt_exp(void) const
int lar_field_value() const
bool is_hgtd(Identifier id) const
friend class AtlasDetectorIDHelper
bool is_calo(Identifier id) const
IdContext subdet_context(void) const
IdContext (indicates id length) for sub-detector.
Identifier calo(void) const
bool is_tile_dm(Identifier id) const
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
Identifier csc(void) const
bool is_csc(Identifier id) const
Identifier lar(void) const
Identifier sct(void) const
Identifier pixel(void) const
int stgc_field_value() const
bool is_tile(Identifier id) const
int zdc_field_value() const
Identifier muon(void) const
ExpandedIdentifier tile_exp(void) const
bool is_lar_minifcal(Identifier id) const
bool is_mm(Identifier id) const
const IdDictDictionary * m_indet_dict
void print(Identifier id, const IdContext *context=0) const
Expanded print out of any identifier.
ExpandedIdentifier lucid_exp(void) const
Identifier lumi(void) const
bool is_forward(Identifier id) const
virtual void set_do_neighbours(bool do_neighbours) override
const IdDictDictionary * m_atlas_dict
bool is_lumi(Identifier id) const
ExpandedIdentifier alfa_exp(void) const
Forward.
bool is_lucid(Identifier id) const
ExpandedIdentifier hgtd_exp(void) const
int tile_field_value() const
bool is_lar_hec(Identifier id) const
Identifier lar_em(void) const
Identifier rpc(void) const
const IdDictDictionary * m_lar_dict
const std::string & group() const
Group name for this helper.
virtual int get_hash(const Identifier &id, IdentifierHash &hash_id, const IdContext *context=0) const override
Create hash id from compact id (return == 0 for OK)
std::unique_ptr< AtlasDetectorIDHelper > m_helper
int rpc_field_value() const
Identifier tgc(void) const
Identifier lar_fcal(void) const
bool is_trt(Identifier id) const
ExpandedIdentifier calo_exp(void) const
std::vector< unsigned int > m_muon_tech_bits
Range::field m_tile_dm_field
bool is_zdc(Identifier id) const
Identifier indet(void) const
Detector systems:
AtlasDetectorID(const std::string &name, const std::string &group)
IdDictFieldImplementation m_fwd_part_impl
bool is_lvl1_trig_towers(Identifier id) const
int lar_em_field_value() const
virtual HelperType helper() const
Type of helper, defaulted to 'Unimplemented'.
int indet_field_value() const
Provide efficient access to individual field values, for subclass idhelpers.
IdDictFieldImplementation m_muon_station_name_impl
int lucid_field_value() const
Identifier tile_dm(void) const
std::vector< std::string > m_file_names
List of dictionary file names used by this helper.
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition IdContext.h:26
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
This is an abstract base class for helper classes that know how to convert Identifier <-> IdentifierH...
Definition IdHelper.h:24
This is a "hash" representation of an Identifier.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition HitInfo.h:33