ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonIdHelperSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_IMUONIDHELPERSVC_H
6#define MUON_IMUONIDHELPERSVC_H
7
8#include <string>
9#include <set>
10
11#include "GaudiKernel/IService.h"
12#include "Identifier/Identifier.h"
20
21namespace Muon {
22
27 class IMuonIdHelperSvc : virtual public IService {
28 public:
29
31
33 virtual ~IMuonIdHelperSvc() = default;
34
36 virtual std::string toString(const Identifier& id) const = 0;
37
39 virtual std::string toStringTech(const Identifier& id) const = 0;
40
42 virtual std::string toStringStation(const Identifier& id) const = 0;
43
45 virtual std::string toStringChamber(const Identifier& id) const = 0;
46
48 virtual std::string toStringDetEl(const Identifier& id) const = 0;
49
51 virtual std::string toStringGasGap(const Identifier& id) const = 0;
52
54 virtual std::string chamberNameString(const Identifier& id) const = 0;
55
57 virtual bool isMuon(const Identifier& id) const = 0;
58
60 virtual bool isMdt(const Identifier& id) const = 0;
61
63 virtual bool isMM(const Identifier& id) const = 0;
64
66 virtual bool isCsc(const Identifier& id) const = 0;
67
69 virtual bool isRpc(const Identifier& id) const = 0;
70
72 virtual bool isTgc(const Identifier& id) const = 0;
73
75 virtual bool issTgc(const Identifier& id) const = 0;
76
78 virtual bool issMdt(const Identifier& id) const = 0;
79
81 virtual IdentifierHash moduleHash(const Identifier& id) const = 0;
83 virtual IdentifierHash detElementHash(const Identifier& id) const = 0;
84
85
89 virtual bool hasHPTDC(const Identifier& id) const = 0;
90
92 virtual bool measuresPhi(const Identifier& id) const = 0;
93
95 virtual bool isEndcap(const Identifier& id) const = 0;
96
98 virtual bool isTrigger(const Identifier& id) const = 0;
99
101 virtual bool isSmallChamber(const Identifier& id) const = 0;
102
104 virtual int gasGap(const Identifier& id) const = 0;
105
107 virtual Identifier chamberId(const Identifier& id) const = 0;
108
110 virtual Identifier detElId(const Identifier& id) const = 0;
111
113 virtual Identifier gasGapId(const Identifier& id) const = 0;
114
116 virtual Identifier layerId(const Identifier& id) const = 0;
117
119 virtual const MdtIdHelper& mdtIdHelper() const = 0;
120
122 virtual const RpcIdHelper& rpcIdHelper() const = 0;
123
125 virtual const TgcIdHelper& tgcIdHelper() const = 0;
126
128 virtual const CscIdHelper& cscIdHelper() const = 0;
129
131 virtual const sTgcIdHelper& stgcIdHelper() const = 0;
132
134 virtual const MmIdHelper& mmIdHelper() const = 0;
135
138
141
143 virtual MuonStationIndex::PhiIndex phiIndex(const Identifier& id) const = 0;
144
147
150
154 virtual const std::set<MuonStationIndex::TechnologyIndex>&
156
158 virtual int stationPhi(const Identifier& id) const = 0;
159
161 virtual int stationEta(const Identifier& id) const = 0;
162
164 virtual int stationName(const Identifier& id) const = 0;
166 virtual std::string stationNameString(const Identifier& id) const = 0;
167
169 virtual int stationRegion(const Identifier& id) const = 0;
170
172 virtual int sector(const Identifier& id) const = 0;
173
175 virtual bool hasRPC() const = 0;
177 virtual bool hasTGC() const = 0;
179 virtual bool hasMDT() const = 0;
181 virtual bool hasCSC() const = 0;
183 virtual bool hasSTGC() const = 0;
185 virtual bool hasMM() const = 0;
186 };
187
188} // namespace Muon
189
190#endif // MUON_IMUONIDHELPERSVC_H
This is a "hash" representation of an Identifier.
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
virtual const MmIdHelper & mmIdHelper() const =0
access to CscIdHelper
virtual bool issTgc(const Identifier &id) const =0
returns whether this is a sTGC Identifier or not
virtual Identifier gasGapId(const Identifier &id) const =0
create a gasGap ID (will return layer Id for MDTs)
virtual MuonStationIndex::DetectorRegionIndex regionIndex(const Identifier &id) const =0
calculate detector region index from Identifier
virtual Identifier layerId(const Identifier &id) const =0
create a layer ID, returns tube id for the MDTs
virtual bool isCsc(const Identifier &id) const =0
returns whether this is a CSC Identifier or not
DeclareInterfaceID(IMuonIdHelperSvc, 1, 0)
virtual bool isMuon(const Identifier &id) const =0
returns whether this is a Muon Identifier or not
virtual bool isRpc(const Identifier &id) const =0
returns whether this is a RPC Identifier or not
virtual Identifier detElId(const Identifier &id) const =0
create a detector element ID
virtual bool hasMM() const =0
returns whether the Mircomegas identifiers are loaded
virtual MuonStationIndex::PhiIndex phiIndex(const Identifier &id) const =0
calculate phi index from Identifier (not supported for MDT hits)
virtual int stationPhi(const Identifier &id) const =0
Return stationPhi for all technologies.
virtual bool hasHPTDC(const Identifier &id) const =0
returns whether this Identifier belongs to an MDT with HPTDC or not NOTE that in Run4,...
virtual std::string toStringTech(const Identifier &id) const =0
print all fields up to technology to string
virtual MuonStationIndex::ChIndex chamberIndex(const Identifier &id) const =0
calculate chamber index from Identifier
virtual bool isMM(const Identifier &id) const =0
returns whether this is a MM Identifier or not
virtual MuonStationIndex::StIndex stationIndex(const Identifier &id) const =0
calculate station index from Identifier
virtual IdentifierHash moduleHash(const Identifier &id) const =0
Returns the module hash associated to an Identifier.
virtual std::string toStringChamber(const Identifier &id) const =0
print all fields up to chamber to string
virtual std::string toStringStation(const Identifier &id) const =0
print all fields up to stationName to string
virtual const RpcIdHelper & rpcIdHelper() const =0
access to RpcIdHelper
virtual const sTgcIdHelper & stgcIdHelper() const =0
access to TgcIdHelper
virtual bool hasMDT() const =0
returns whether the MDT identifiers are loaded
virtual int stationEta(const Identifier &id) const =0
Return stationEta for all technologies.
virtual std::string toString(const Identifier &id) const =0
print all fields to string
virtual const CscIdHelper & cscIdHelper() const =0
access to CscIdHelper
virtual const TgcIdHelper & tgcIdHelper() const =0
access to TgcIdHelper
virtual std::string chamberNameString(const Identifier &id) const =0
print chamber name to string
virtual std::string toStringDetEl(const Identifier &id) const =0
print all fields up to detector element to string
virtual bool isMdt(const Identifier &id) const =0
returns whether this is a MDT Identifier or not
virtual bool issMdt(const Identifier &id) const =0
returns whether this is a sMDT Identifier or not
virtual bool isSmallChamber(const Identifier &id) const =0
returns whether this is a small chamber, always returns true for TGCs
virtual bool isTgc(const Identifier &id) const =0
returns whether this is a TGC Identifier or not
virtual bool hasRPC() const =0
returns whether the RPC identifiers are loaded
virtual bool hasSTGC() const =0
returns whether the sTGC identifiers are loaded
virtual MuonStationIndex::LayerIndex layerIndex(const Identifier &id) const =0
calculate layer index from Identifier
virtual IdentifierHash detElementHash(const Identifier &id) const =0
Returns the detector element hash associated to an Identifier.
virtual const std::set< MuonStationIndex::TechnologyIndex > & technologiesInStation(MuonStationIndex::StIndex stIndex) const =0
Recieve all technologies in a station.
virtual int stationRegion(const Identifier &id) const =0
Return stationRegion for all technologies.
virtual MuonStationIndex::TechnologyIndex technologyIndex(const Identifier &id) const =0
calculate layer index from Identifier
virtual bool isTrigger(const Identifier &id) const =0
returns whether trigger chamber id or not
virtual int sector(const Identifier &id) const =0
return sector number 1-16, odd=large, even=small
virtual bool isEndcap(const Identifier &id) const =0
returns whether this is an endcap Identifier or not
virtual bool hasCSC() const =0
returns whether the CSC identifiers are loaded
virtual bool measuresPhi(const Identifier &id) const =0
returns whether channel measures phi or not
virtual bool hasTGC() const =0
returns whether the sTGC identifiers are loaded
virtual int stationName(const Identifier &id) const =0
Return stationName for all technologies.
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
virtual std::string stationNameString(const Identifier &id) const =0
Return the stationName string for all technologies.
virtual std::string toStringGasGap(const Identifier &id) const =0
print all fields up to gas gap to string
virtual Identifier chamberId(const Identifier &id) const =0
create a chamber ID
virtual ~IMuonIdHelperSvc()=default
destructor
virtual int gasGap(const Identifier &id) const =0
returns gas gap: gasGap for RPC + TGC, wireLayer for CSC, tube for MDT
StIndex
enum to classify the different station layers in the muon spectrometer
TechnologyIndex
enum to classify the different layers in the muon spectrometer
DetectorRegionIndex
enum to classify the different layers in the muon spectrometer
PhiIndex
enum to classify the different phi layers in the muon spectrometer
LayerIndex
enum to classify the different layers in the muon spectrometer
ChIndex
enum to classify the different chamber layers in the muon spectrometer
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.