ATLAS Offline Software
VP1DetInfo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // //
7 // Header file for class VP1DetInfo //
8 // //
9 // Description: Convenient and safe access to detector //
10 // managers and identifier decoding //
11 // //
12 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13 // Initial version: March 2008 //
14 // //
16 
17 #ifndef VP1DETINFO_H
18 #define VP1DETINFO_H
19 
20 class IVP1System;
21 class StoreGateSvc;
22 namespace InDetDD { class TRT_DetectorManager; }
23 namespace InDetDD { class PixelDetectorManager; }
24 namespace InDetDD { class SCT_DetectorManager; }
25 namespace MuonGM { class MuonDetectorManager; }
27 class EMBDetectorManager;
28 class HECDetectorManager;
30 class LArDetectorManager;
32 class CaloIdManager;
33 
34 class AtlasDetectorID;
35 class PixelID;
36 class SCT_ID;
37 class TRT_ID;
38 class CscIdHelper;
39 class RpcIdHelper;
40 class TgcIdHelper;
41 class sTgcIdHelper;
42 class MdtIdHelper;
43 class MmIdHelper;
44 
45 class Identifier;
46 
47 class VP1DetInfo {
48 public:
49  static void ensureInit( IVP1System* ) {}
50  static void ensureInit( StoreGateSvc* ) {}
51 
52  //NB: Any of the methods returning pointers in this class might
53  //return null. And it is never allowed to delete any of the returned
54  //pointers!
55 
57  static const InDetDD::SCT_DetectorManager * sctDetMgr();
58  // static const InDetDD::InDetServMatManager * inDetServMatDetMgr();
59  static const InDetDD::TRT_DetectorManager * trtDetMgr();
60  static const MuonGM::MuonDetectorManager * muonDetMgr();
61  static const TileDetDescrManager * tileDetMgr();
62  static const EMBDetectorManager * embDetMgr();
63  static const HECDetectorManager * hecDetMgr();
64  static const EMECDetectorManager * emecDetMgr();
65  static const LArDetectorManager * larDetMgr();
66  static const FCALDetectorManager * fcalDetMgr();
67 
68  static const CaloIdManager * caloIDMgr();
69 
70  //Base identifier helper:
71  static const AtlasDetectorID * atlasIDHelper();
72 
73  //Common specialised identifier helpers:
74  static const CscIdHelper * cscIDHelper();
75  static const RpcIdHelper * rpcIDHelper();
76  static const TgcIdHelper * tgcIDHelper();
77  static const sTgcIdHelper * stgcIDHelper();
78  static const MmIdHelper * mmIDHelper();
79  static const MdtIdHelper * mdtIDHelper();
80  static const PixelID * pixelIDHelper();
81  static const SCT_ID * sctIDHelper();
82  static const TRT_ID * trtIDHelper();
83  //Todo: Add more as needed.
84 
85  //Combines use of the atlasIDHelper and VP1JobConfigInfo to spot
86  //unsafe identifiers (i.e. a pixel identifier is unsafe if the.pixel
87  //geometry is not lodaded):
88  static bool isUnsafe(const Identifier&);
89 
90 private:
93  class Imp;
94 };
95 
96 
97 #endif
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
FCALDetectorManager
A manager class providing access to readout geometry information for the forward calorimeter.
Definition: FCALDetectorManager.h:29
VP1DetInfo::mmIDHelper
static const MmIdHelper * mmIDHelper()
Definition: VP1DetInfo.cxx:162
InDetDD::SCT_DetectorManager
Definition: SCT_DetectorManager.h:49
VP1DetInfo::tileDetMgr
static const TileDetDescrManager * tileDetMgr()
Definition: VP1DetInfo.cxx:149
EMECDetectorManager
A manager class providing access to readout geometry information for the electromagnetic endcap calor...
Definition: EMECDetectorManager.h:31
TgcIdHelper
Definition: TgcIdHelper.h:50
VP1DetInfo::pixelDetMgr
static const InDetDD::PixelDetectorManager * pixelDetMgr()
Definition: VP1DetInfo.cxx:145
VP1DetInfo::pixelIDHelper
static const PixelID * pixelIDHelper()
Definition: VP1DetInfo.cxx:164
VP1DetInfo::caloIDMgr
static const CaloIdManager * caloIDMgr()
Definition: VP1DetInfo.cxx:155
VP1DetInfo::embDetMgr
static const EMBDetectorManager * embDetMgr()
Definition: VP1DetInfo.cxx:150
VP1DetInfo::stgcIDHelper
static const sTgcIdHelper * stgcIDHelper()
Definition: VP1DetInfo.cxx:161
VP1DetInfo::atlasIDHelper
static const AtlasDetectorID * atlasIDHelper()
Definition: VP1DetInfo.cxx:157
RpcIdHelper
Definition: RpcIdHelper.h:51
VP1DetInfo::hecDetMgr
static const HECDetectorManager * hecDetMgr()
Definition: VP1DetInfo.cxx:151
VP1DetInfo::~VP1DetInfo
~VP1DetInfo()
Definition: VP1DetInfo.h:92
VP1DetInfo::fcalDetMgr
static const FCALDetectorManager * fcalDetMgr()
Definition: VP1DetInfo.cxx:154
VP1DetInfo::tgcIDHelper
static const TgcIdHelper * tgcIDHelper()
Definition: VP1DetInfo.cxx:160
EMBDetectorManager
A manager class providing access to readout geometry information for the electromagnetic barrel calor...
Definition: EMBDetectorManager.h:32
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
IVP1System
Definition: IVP1System.h:36
VP1DetInfo::emecDetMgr
static const EMECDetectorManager * emecDetMgr()
Definition: VP1DetInfo.cxx:152
VP1DetInfo::ensureInit
static void ensureInit(IVP1System *)
Definition: VP1DetInfo.h:49
CaloIdManager
This class initializes the Calo (LAr and Tile) offline identifiers.
Definition: CaloIdManager.h:45
TileDetDescrManager
Definition: TileDetDescrManager.h:33
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
VP1DetInfo::larDetMgr
static const LArDetectorManager * larDetMgr()
Definition: VP1DetInfo.cxx:153
MdtIdHelper
Definition: MdtIdHelper.h:61
VP1DetInfo::VP1DetInfo
VP1DetInfo()
Definition: VP1DetInfo.h:91
VP1DetInfo::rpcIDHelper
static const RpcIdHelper * rpcIDHelper()
Definition: VP1DetInfo.cxx:159
LArDetectorManager
Stored in storegate. Provides access to EMB, EMEC, HEC and FCAL Detector Managers....
Definition: LArDetectorManager.h:26
HECDetectorManager
A manager class providing access to readout geometry information for the hadronic endcap calorimeter.
Definition: HECDetectorManager.h:28
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
sTgcIdHelper
Definition: sTgcIdHelper.h:55
VP1DetInfo::isUnsafe
static bool isUnsafe(const Identifier &)
Definition: VP1DetInfo.cxx:169
VP1DetInfo::sctIDHelper
static const SCT_ID * sctIDHelper()
Definition: VP1DetInfo.cxx:165
VP1DetInfo::mdtIDHelper
static const MdtIdHelper * mdtIDHelper()
Definition: VP1DetInfo.cxx:163
TRT_ID
Definition: TRT_ID.h:84
VP1DetInfo::muonDetMgr
static const MuonGM::MuonDetectorManager * muonDetMgr()
Definition: VP1DetInfo.cxx:148
InDetDD::TRT_DetectorManager
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Definition: TRT_DetectorManager.h:69
VP1DetInfo::trtIDHelper
static const TRT_ID * trtIDHelper()
Definition: VP1DetInfo.cxx:166
MmIdHelper
Definition: MmIdHelper.h:54
SCT_ID
Definition: SCT_ID.h:68
CscIdHelper
Definition: CscIdHelper.h:52
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
VP1DetInfo::trtDetMgr
static const InDetDD::TRT_DetectorManager * trtDetMgr()
Definition: VP1DetInfo.cxx:147
VP1DetInfo
Definition: VP1DetInfo.h:47
VP1DetInfo::ensureInit
static void ensureInit(StoreGateSvc *)
Definition: VP1DetInfo.h:50
VP1DetInfo::cscIDHelper
static const CscIdHelper * cscIDHelper()
Definition: VP1DetInfo.cxx:158
PixelID
Definition: PixelID.h:67
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
VP1DetInfo::sctDetMgr
static const InDetDD::SCT_DetectorManager * sctDetMgr()
Definition: VP1DetInfo.cxx:146