ATLAS Offline Software
MuonFullIDHelper.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "MuonFullIDHelper.h"
6 
13 
14 #include "JiveXML/DataType.h"
15 
16 namespace JiveXML{
17 
18  namespace MuonFullIDHelper {
19 
26  std::string getFullID(Identifier id, const MdtIdHelper& mdtHelper) {
27 
28  std::string idString = "7/";
29  idString += mdtHelper.stationNameString(mdtHelper.stationName(id))+"/";
30  idString += DataType(mdtHelper.stationEta(id)).toString()+"/";
31  idString += DataType(mdtHelper.stationPhi(id)).toString()+"/";
32  idString += "MDT/";
33  idString += DataType(mdtHelper.multilayer(id)).toString()+"/";
34  idString += DataType(mdtHelper.tubeLayer(id)).toString()+"/";
35  idString += DataType(mdtHelper.tube(id)).toString();
36  return idString;
37  }
38 
45  std::string getFullID(Identifier id, const RpcIdHelper& rpcHelper) {
46 
47  std::string idString = "7/";
48  idString += rpcHelper.stationNameString(rpcHelper.stationName(id))+"/";
49  idString += DataType(rpcHelper.stationEta(id)).toString()+"/";
50  idString += DataType(rpcHelper.stationPhi(id)).toString()+"/";
51  idString += "RPC/";
52  idString += DataType(rpcHelper.doubletR(id)).toString()+"/";
53  idString += DataType(rpcHelper.doubletZ(id)).toString()+"/";
54  idString += DataType(rpcHelper.doubletPhi(id)).toString()+"/";
55  idString += DataType(rpcHelper.gasGap(id)).toString()+"/";
56  idString += DataType(rpcHelper.measuresPhi(id)).toString()+"/";
57  idString += DataType(rpcHelper.strip(id)).toString();
58  return idString;
59  }
60 
61 
68  std::string getFullID(Identifier id, const TgcIdHelper& tgcHelper) {
69 
70  std::string idString = "7/";
71  idString += tgcHelper.stationNameString(tgcHelper.stationName(id))+"/";
72  idString += DataType(tgcHelper.stationEta(id)).toString()+"/";
73  idString += DataType(tgcHelper.stationPhi(id)).toString()+"/";
74  idString += "TGC/";
75  idString += DataType(tgcHelper.gasGap(id)).toString()+"/";
76  idString += DataType(tgcHelper.isStrip(id)).toString()+"/";
77  idString += DataType(tgcHelper.channel(id)).toString();
78  return idString;
79  }
80 
87  std::string getFullID(Identifier id, const CscIdHelper& cscHelper) {
88 
89  std::string idString = "7/";
90  idString += cscHelper.stationNameString(cscHelper.stationName(id))+"/";
91  idString += DataType(cscHelper.stationEta(id)).toString()+"/";
92  idString += DataType(cscHelper.stationPhi(id)).toString()+"/";
93  idString += "CSC/";
94  idString += DataType(cscHelper.chamberLayer(id)).toString()+"/";
95  idString += DataType(cscHelper.wireLayer(id)).toString()+"/";
96  idString += DataType(cscHelper.measuresPhi(id)).toString()+"/";
97  idString += DataType(cscHelper.strip(id)).toString();
98  return idString;
99  }
100 
107  std::string getFullID(Identifier id, const sTgcIdHelper& stgcHelper) {
108 
109  std::string idString = "7/";
110  idString += stgcHelper.stationNameString(stgcHelper.stationName(id))+"/";
111  idString += DataType(stgcHelper.stationEta(id)).toString()+"/";
112  idString += DataType(stgcHelper.stationPhi(id)).toString()+"/";
113  idString += "STGC/";
114  idString += DataType(stgcHelper.multilayer(id)).toString()+"/";
115  idString += DataType(stgcHelper.gasGap(id)).toString()+"/";
116  idString += DataType(stgcHelper.channelType(id)).toString()+"/";
117  idString += DataType(stgcHelper.channel(id)).toString();
118  return idString;
119  }
120 
127  std::string getFullID(Identifier id, const MmIdHelper& mmHelper) {
128 
129  std::string idString = "7/";
130  idString += mmHelper.stationNameString(mmHelper.stationName(id))+"/";
131  idString += DataType(mmHelper.stationEta(id)).toString()+"/";
132  idString += DataType(mmHelper.stationPhi(id)).toString()+"/";
133  idString += "MM/";
134  idString += DataType(mmHelper.multilayer(id)).toString()+"/";
135  idString += DataType(mmHelper.gasGap(id)).toString()+"/";
136  idString += DataType(mmHelper.channel(id)).toString();
137  return idString;
138  }
139 
140 
141 
142  }
143 }
144 
CscIdHelper.h
MdtIdHelper::multilayer
int multilayer(const Identifier &id) const
Access to components of the ID.
Definition: MdtIdHelper.cxx:722
sTgcIdHelper::multilayer
int multilayer(const Identifier &id) const
Definition: sTgcIdHelper.cxx:1017
DataType.h
sTgcIdHelper.h
TgcIdHelper::gasGap
int gasGap(const Identifier &id) const override
get the hashes
Definition: TgcIdHelper.cxx:642
TgcIdHelper
Definition: TgcIdHelper.h:50
RpcIdHelper::doubletZ
int doubletZ(const Identifier &id) const
Definition: RpcIdHelper.cxx:1062
DataType
OFFLINE_FRAGMENTS_NAMESPACE::PointerType DataType
Definition: RoIBResultByteStreamTool.cxx:25
RpcIdHelper::measuresPhi
bool measuresPhi(const Identifier &id) const override
Definition: RpcIdHelper.cxx:1068
MdtIdHelper::tubeLayer
int tubeLayer(const Identifier &id) const
Definition: MdtIdHelper.cxx:724
MuonIdHelper::stationName
int stationName(const Identifier &id) const
Definition: MuonIdHelper.cxx:804
RpcIdHelper
Definition: RpcIdHelper.h:51
RpcIdHelper.h
MmIdHelper::multilayer
int multilayer(const Identifier &id) const
Definition: MmIdHelper.cxx:796
RpcIdHelper::gasGap
int gasGap(const Identifier &id) const override
get the hashes
Definition: RpcIdHelper.cxx:1066
TgcIdHelper::channel
int channel(const Identifier &id) const override
Definition: TgcIdHelper.cxx:649
CscIdHelper::wireLayer
int wireLayer(const Identifier &id) const
Definition: CscIdHelper.cxx:772
sTgcIdHelper::channel
int channel(const Identifier &id) const override
Definition: sTgcIdHelper.cxx:1027
RpcIdHelper::doubletR
int doubletR(const Identifier &id) const
Definition: RpcIdHelper.cxx:1060
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
sTgcIdHelper::gasGap
int gasGap(const Identifier &id) const override
get the hashes
Definition: sTgcIdHelper.cxx:1020
MdtIdHelper
Definition: MdtIdHelper.h:61
MdtIdHelper::tube
int tube(const Identifier &id) const
Definition: MdtIdHelper.cxx:726
MmIdHelper.h
MdtIdHelper.h
RpcIdHelper::strip
int strip(const Identifier &id) const
Definition: RpcIdHelper.cxx:1070
TgcIdHelper::isStrip
int isStrip(const Identifier &id) const
isStrip corresponds to measuresPhi
Definition: TgcIdHelper.cxx:645
JiveXML
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
Definition: BadLArRetriever.cxx:21
MuonIdHelper::stationPhi
int stationPhi(const Identifier &id) const
Definition: MuonIdHelper.cxx:814
MuonIdHelper::stationNameString
const std::string & stationNameString(const int &index) const
Definition: MuonIdHelper.cxx:858
sTgcIdHelper
Definition: sTgcIdHelper.h:55
MuonIdHelper::stationEta
int stationEta(const Identifier &id) const
Definition: MuonIdHelper.cxx:809
JiveXML::MuonFullIDHelper::getFullID
std::string getFullID(Identifier id, const MdtIdHelper &mdtHelper)
Get the identifier string for an MDT ID with the sequence: Detector/StationName/StationEta/StationPhi...
Definition: MuonFullIDHelper.cxx:26
MmIdHelper::channel
int channel(const Identifier &id) const override
Definition: MmIdHelper.cxx:800
MmIdHelper
Definition: MmIdHelper.h:54
MmIdHelper::gasGap
int gasGap(const Identifier &id) const override
get the hashes
Definition: MmIdHelper.cxx:798
CscIdHelper
Definition: CscIdHelper.h:52
CscIdHelper::strip
int strip(const Identifier &id) const
Definition: CscIdHelper.cxx:776
TgcIdHelper.h
MuonFullIDHelper
Generate the appropiate full Identifier string for the differen Muon subsystem IDs.
MuonFullIDHelper.h
CscIdHelper::measuresPhi
bool measuresPhi(const Identifier &id) const override
Definition: CscIdHelper.cxx:774
sTgcIdHelper::channelType
int channelType(const Identifier &id) const
Definition: sTgcIdHelper.cxx:1022
CscIdHelper::chamberLayer
int chamberLayer(const Identifier &id) const
Definition: CscIdHelper.cxx:770
RpcIdHelper::doubletPhi
int doubletPhi(const Identifier &id) const
Definition: RpcIdHelper.cxx:1064