ATLAS Offline Software
Loading...
Searching...
No Matches
AtlasDetectorID.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
34
37
38
50
52{
53public:
79
80
82
83 AtlasDetectorID(const std::string& name, const std::string& group);
84 virtual ~AtlasDetectorID();
85 AtlasDetectorID(const AtlasDetectorID& other) = delete;
88
90 virtual HelperType helper() const {
92 }
93
95 const std::string& group() const;
96
98
99
100 Identifier indet (void) const;
101 Identifier lar (void) const;
102 Identifier tile (void) const;
103 Identifier muon (void) const;
104 Identifier calo (void) const;
106
108
109 Identifier pixel (void) const;
110 Identifier sct (void) const;
111 Identifier trt (void) const;
112 Identifier hgtd (void) const;
113 Identifier lumi (void) const;
115
117
118 Identifier lar_em (void) const;
119 Identifier lar_hec (void) const;
120 Identifier lar_fcal (void) const;
122
124
125 Identifier mdt (void) const;
126 Identifier csc (void) const;
127 Identifier rpc (void) const;
128 Identifier tgc (void) const;
129 Identifier stgc (void) const;
130 Identifier mm (void) const;
132
134
135 Identifier lar_lvl1 (void) const;
136 Identifier lar_dm (void) const;
137 Identifier tile_dm (void) const;
139
141
142
143 IdContext detsystem_context (void) const;
144
146 IdContext subdet_context (void) const;
148
149
151
152
153 virtual int get_id (const IdentifierHash& hash_id,
154 Identifier& id,
155 const IdContext* context = 0) const override;
156
158 virtual int get_hash (const Identifier& id,
159 IdentifierHash& hash_id,
160 const IdContext* context = 0) const override;
162
164
165
166 virtual int initialize_from_dictionary(const IdDictMgr& dict_mgr) override;
167
168 // retrieve version of the dictionary
169 virtual std::string dictionaryVersion (void) const override;
171
172
174
175
177 void show (Identifier id,
178 const IdContext* context = 0,
179 char sep = '.' ) const;
181 std::string show_to_string (Identifier id,
182 const IdContext* context = 0,
183 char sep = '.' ) const;
184
186 void print (Identifier id,
187 const IdContext* context = 0) const;
189 std::string print_to_string (Identifier id,
190 const IdContext* context = 0) const;
192
194
195 bool is_indet (Identifier id) const;
196 bool is_lar (Identifier id) const;
197 bool is_tile (Identifier id) const;
198 bool is_muon (Identifier id) const;
199 bool is_calo (Identifier id) const;
200 bool is_lvl1_trig_towers(Identifier id) const;
201 bool is_lvl1_online(Identifier id) const;
202 bool is_pixel (Identifier id) const;
203 bool is_sct (Identifier id) const;
204 bool is_trt (Identifier id) const;
205 bool is_hgtd (Identifier id) const;
206 bool is_lumi (Identifier id) const;
207 bool is_plr (Identifier id) const;
208 bool is_lar_em (Identifier id) const;
209 bool is_lar_hec (Identifier id) const;
210 bool is_lar_fcal (Identifier id) const;
211 bool is_lar_minifcal (Identifier id) const;
213 bool is_lar_dm (Identifier id) const;
214 bool is_tile_dm (Identifier id) const;
215 bool is_mdt (Identifier id) const;
216 bool is_csc (Identifier id) const;
217 bool is_tgc (Identifier id) const;
218 bool is_rpc (Identifier id) const;
219 bool is_stgc (Identifier id) const;
220 bool is_mm (Identifier id) const;
221 bool is_forward (Identifier id) const;
222 bool is_alfa (Identifier id) const;
223 bool is_bcm (Identifier id) const;
224 bool is_lucid (Identifier id) const;
225 bool is_zdc (Identifier id) const;
227
228
230
231 bool is_indet (const ExpandedIdentifier& id) const;
232 bool is_lar (const ExpandedIdentifier& id) const;
233 bool is_tile (const ExpandedIdentifier& id) const;
234 bool is_muon (const ExpandedIdentifier& id) const;
235 bool is_calo (const ExpandedIdentifier& id) const;
236 bool is_pixel (const ExpandedIdentifier& id) const;
237 bool is_sct (const ExpandedIdentifier& id) const;
238 bool is_trt (const ExpandedIdentifier& id) const;
239 bool is_hgtd (const ExpandedIdentifier& id) const;
240 bool is_lumi (const ExpandedIdentifier& id) const;
241 bool is_plr (const ExpandedIdentifier& id) const;
242 bool is_lar_em (const ExpandedIdentifier& id) const;
243 bool is_lar_hec (const ExpandedIdentifier& id) const;
244 bool is_lar_fcal (const ExpandedIdentifier& id) const;
245 bool is_lar_minifcal (const ExpandedIdentifier& id) const;
246 bool is_mdt (const ExpandedIdentifier& id) const;
247 bool is_csc (const ExpandedIdentifier& id) const;
248 bool is_tgc (const ExpandedIdentifier& id) const;
249 bool is_rpc (const ExpandedIdentifier& id) const;
250 bool is_stgc (const ExpandedIdentifier& id) const;
251 bool is_mm (const ExpandedIdentifier& id) const;
253
255
256
257 const std::vector<std::string>& dict_names(void) const;
259 const std::vector<std::string>& file_names(void) const;
261 const std::vector<std::string>& dict_tags (void) const;
263
265
266 virtual bool do_checks (void) const override;
267 virtual void set_do_checks (bool do_checks) override;
269
271
272 virtual bool do_neighbours (void) const override;
273 virtual void set_do_neighbours (bool do_neighbours) override;
275
276protected:
277
279
280 virtual void setDictVersion (const IdDictMgr& dict_mgr, const std::string& name) override;
281
282 std::string to_range (const ExpandedIdentifier& id) const;
283
284 std::string fix_barrel_ec (const std::string& barrel_ec) const;
285
287 ExpandedIdentifier indet_exp (void) const;
288 ExpandedIdentifier lar_exp (void) const;
289 ExpandedIdentifier tile_exp (void) const;
290 ExpandedIdentifier muon_exp (void) const;
291 ExpandedIdentifier calo_exp (void) const;
292 ExpandedIdentifier fwd_exp (void) const;
293
295 ExpandedIdentifier pixel_exp (void) const;
296 ExpandedIdentifier sct_exp (void) const;
297 ExpandedIdentifier trt_exp (void) const;
298 ExpandedIdentifier hgtd_exp (void) const;
299 ExpandedIdentifier lumi_exp (void) const;
300
302 ExpandedIdentifier lar_em_exp (void) const;
303 ExpandedIdentifier lar_hec_exp (void) const;
304 ExpandedIdentifier lar_fcal_exp (void) const;
305
307 ExpandedIdentifier alfa_exp (void) const;
308 ExpandedIdentifier bcm_exp (void) const;
309 ExpandedIdentifier lucid_exp (void) const;
310 ExpandedIdentifier zdc_exp (void) const;
311
314 int indet_field_value () const;
315 int lar_field_value () const;
316 int tile_field_value () const;
317 int muon_field_value () const;
318 int calo_field_value () const;
319 int pixel_field_value () const;
320 int sct_field_value () const;
321 int trt_field_value () const;
322 int hgtd_field_value () const;
323 int lumi_field_value () const;
324 int plr_field_value () const;
325 int lar_em_field_value () const;
326 int lar_hec_field_value () const;
327 int lar_fcal_field_value () const;
328 int mdt_field_value () const;
329 int csc_field_value () const;
330 int rpc_field_value () const;
331 int tgc_field_value () const;
332 int stgc_field_value () const;
333 int mm_field_value () const;
334 int forward_field_value () const;
335 int alfa_field_value () const;
336 int bcm_field_value () const;
337 int lucid_field_value () const;
338 int zdc_field_value () const;
339
342 int register_dict_tag (const IdDictMgr& dict_mgr,
343 const std::string& dict_name);
344
347 bool reinitialize (const IdDictMgr& dict_mgr);
348
350 std::string m_group;
351
357 bool m_do_neighbours{true};
358
360 std::vector<std::string> m_dict_names;
361
363 std::vector<std::string> m_file_names;
364
366 std::vector<std::string> m_dict_tags;
367private:
368
369 typedef Identifier::size_type size_type;
370
371 // Identifiear numbering:
372 // Temporary fixes - set LAR and MUON ids to single level
373 enum ID { ATLAS_ID = static_cast<Identifier::value_type>(0),
374 MAX_BIT = Identifier::MAX_BIT,
375 // mask to distinguish a pixel id from lvl1 id (bit 1 set)
376 PIXEL_MASK = static_cast<Identifier::value_type>(0xFF),
377 ALL_BITS = Identifier::ALL_BITS };
378
379 int initLevelsFromDict(const IdDictMgr& dict_mgr);
380
381 // dictionary version
382 std::string m_dict_version;
388 int m_LAR_ID{4};
389 int m_TILE_ID{5};
390 int m_MUON_ID{7};
391 int m_CALO_ID{10};
393 int m_SCT_ID{2};
394 int m_TRT_ID{3};
395 int m_HGTD_ID{4};
396 int m_LUMI_ID{3};
402 int m_MDT_ID{0};
403 int m_CSC_ID{1};
404 int m_RPC_ID{2};
405 int m_TGC_ID{3};
406 int m_STGC_ID{4};
407 int m_MM_ID{5};
408 int m_FWD_ID{13};
409 int m_ALFA_ID{1};
410 int m_BCM_ID{3};
412 int m_ZDC_ID{7};
413
415
437
438 // vector used to store info to distinguish between muon technologies.
439 std::vector<unsigned int> m_muon_tech_bits;
440
441 /* removed by Philipp */
442 /* // enum defining the different muon technologies (MDT and RPC are */
443 /* // distinguished using the technology bit inside the identifiers) */
444 /* enum MuonTechBits */
445 /* { */
446 /* unknown = 0, */
447 /* isMdtOrRpc = 1, */
448 /* isCsc = 2, */
449 /* isTgc = 3, */
450 /* isMm = 4, */
451 /* isStgc = 5 */
452 /* }; */
453 /* removed by Philipp */
454
455};
456
457
458
459//using the macros below we can assign an identifier (and a version)
460//This is required and checked at compile time when you try to record/retrieve
461CLASS_DEF(AtlasDetectorID, 164875623, 1)
462
463inline int
465
466inline int
468
469inline int
471
472inline int
474
475inline int
477
478inline int
480
481inline int
483
484inline int
486
487inline int
489
490inline int
492
493inline int
495
496inline int
498
499inline int
501
502inline int
504
505inline int
507
508inline int
510
511inline int
513
514inline int
516
517inline int
519
520inline int
522
523inline int
525inline int
527inline int
529inline int
531inline int
533
534
535inline bool
537{
538 return (m_det_impl.unpack(id) == m_INDET_ID);
539}
540
541inline bool
543{
544 return (m_det_impl.unpack(id) == m_LAR_ID);
545}
546
547inline bool
549{
550 return (m_det_impl.unpack(id) == m_TILE_ID);
551}
552
553inline bool
555{
556 return (m_det_impl.unpack(id) == m_MUON_ID);
557}
558
559inline bool
561{
562 return (m_det_impl.unpack(id) == m_CALO_ID);
563}
564
565inline bool
567{
568 bool result = false;
569 if (is_calo(id)) {
570 int temp = m_calo_side_impl.unpack(id);
571 result = (m_lvl1_field.match(temp));
572 }
573 return result;
574}
575
576inline bool
578{
579 bool result = false;
580 if (is_calo(id)) {
581 int temp = m_calo_side_impl.unpack(id);
582 result = (m_lvl1_onl_field.match(temp));
583 }
584 return result;
585}
586
587
588inline bool
590{
591 bool result = false;
592 if (is_calo(id)) {
593 int temp = m_calo_side_impl.unpack(id);
594 result = (m_lar_dm_field.match(temp));
595 }
596 return result;
597}
598
599
600inline bool
602{
603 bool result = false;
604 if (is_calo(id)) {
605 int temp = m_calo_side_impl.unpack(id);
606 result = (m_tile_dm_field.match(temp));
607 }
608 return result;
609}
610
611
612inline bool
614{
615 bool result = false;
616 if(is_indet(id)) {
617 result = (m_indet_part_impl.unpack(id) == m_PIXEL_ID);
618 }
619 return result;
620}
621
622inline bool
624{
625 bool result = false;
626 // Must check is_pixel to allow for special bits
627 // (don't need this check for 64-bit identifier, but leave it in for now)
628 if(is_indet(id) && !is_pixel(id)) {
629 result = (m_indet_part_impl.unpack(id) == m_SCT_ID);
630 }
631 return result;
632}
633
634inline bool
636{
637 bool result = false;
638 // Must check is_pixel to allow for special bits
639 // (don't need this check for 64-bit identifier, but leave it in for now)
640 if(is_indet(id) && !is_pixel(id)) {
641 result = (m_indet_part_impl.unpack(id) == m_TRT_ID);
642 }
643 return result;
644}
645
646inline bool
648{
649 bool result = false;
650 // Must check is_pixel to allow for special bits
651 // (don't need this check for 64-bit identifier, but leave it in for now)
652 if(is_indet(id) && !is_pixel(id)) {
653 result = (m_indet_part_impl.unpack(id) == m_HGTD_ID);
654 }
655 return result;
656}
657
658inline bool
660{
661 bool result = false;
662 // Must check is_pixel to allow for special bits
663 // (don't need this check for 64-bit identifier, but leave it in for now)
664 if(is_indet(id) && !is_pixel(id)) {
665 result = (m_indet_part_impl.unpack(id) == m_LUMI_ID);
666 }
667 return result;
668}
669
670inline bool
672{
673 bool result = false;
674 if(is_lar(id)) {
675 result = (abs(m_lar_part_impl.unpack(id)) == m_LAR_EM_ID);
676 }
677 return result;
678}
679
680
681inline bool
683{
684 bool result = false;
685 if(is_lar(id)) {
686 result = (abs(m_lar_part_impl.unpack(id)) == m_LAR_HEC_ID);
687 }
688 return result;
689}
690
691inline bool
693{
694 bool result = false;
695 if(is_lar(id)) {
696 result = (abs(m_lar_part_impl.unpack(id)) == m_LAR_FCAL_ID);
697 }
698 return result;
699}
700
701inline bool
703{
704 bool result = false;
705 if(is_lar_fcal(id)) {
706 result = (m_lar_fcal_module_impl.unpack(id) == 0);
707 }
708 return result;
709}
710
711inline bool
713{
714 bool result = false;
715 if (!is_muon(id)) return false;
716 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
717 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
718 // MDT and RPC can only be destinguished by the additional bit in the ID
719 // since the station names are ambiguous
720 if (is_muon(id) && ((techBit == AtlasDetDescr::fAtlasMDT)
721 || (techBit == AtlasDetDescr::fAtlasRPC))) {
722 result = (m_muon_mdt_impl.unpack(id) == m_MDT_ID);
723 }
724 return result;
725}
726
727inline bool
729{
730 bool result = false;
731 if (!is_muon(id)) return false;
732 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
733 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
734 // MDT and RPC can only be destinguished by the additional bit in the ID
735 // since the station names are ambiguous
736 if (is_muon(id) && ((techBit == AtlasDetDescr::fAtlasMDT)
737 || (techBit == AtlasDetDescr::fAtlasRPC))) {
738 result = (m_muon_rpc_impl.unpack(id) == m_RPC_ID);
739 }
740 return result;
741}
742
743inline bool
745{
746 bool result = false;
747 if (!is_muon(id)) return false;
748 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
749 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
750 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasCSC));
751 return result;
752}
753
754inline bool
756{
757 bool result = false;
758 if (!is_muon(id)) return false;
759 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
760 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
761 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasTGC));
762 return result;
763}
764
765inline bool
767{
768 bool result = false;
769 if (!is_muon(id)) return false;
770 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
771 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
772 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasMM));
773 return result;
774}
775
776inline bool
778{
779 bool result = false;
780 if (!is_muon(id)) return false;
781 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
782 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
783 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasSTGC));
784 return result;
785}
786
787inline bool
789{
790 return (m_det_impl.unpack(id) == m_FWD_ID);
791}
792
793inline bool
795{
796 bool result = false;
797 if(is_forward(id)) {
798 result = (abs(m_lar_part_impl.unpack(id)) == m_ALFA_ID);
799 }
800 return result;
801}
802
803inline bool
805{
806 bool result = false;
807 if(is_forward(id)) {
808 result = (abs(m_lar_part_impl.unpack(id)) == m_BCM_ID);
809 }
810 return result;
811}
812
813inline bool
815{
816 bool result = false;
817 if(is_forward(id)) {
818 result = (abs(m_lar_part_impl.unpack(id)) == m_LUCID_ID);
819 }
820 return result;
821}
822
823inline bool
825{
826 bool result = false;
827 if(is_forward(id)) {
828 result = (abs(m_lar_part_impl.unpack(id)) == m_ZDC_ID);
829 }
830 return result;
831}
832
833
834#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
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
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
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
AtlasDetectorIDHelper * m_helper
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)
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