ATLAS Offline Software
Loading...
Searching...
No Matches
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
16namespace 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
OFFLINE_FRAGMENTS_NAMESPACE::PointerType DataType
int wireLayer(const Identifier &id) const
int chamberLayer(const Identifier &id) const
int strip(const Identifier &id) const
bool measuresPhi(const Identifier &id) const override
int multilayer(const Identifier &id) const
Access to components of the ID.
int tube(const Identifier &id) const
int tubeLayer(const Identifier &id) const
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
int multilayer(const Identifier &id) const
int stationEta(const Identifier &id) const
int stationPhi(const Identifier &id) const
int stationName(const Identifier &id) const
const std::string & stationNameString(const int &index) const
int gasGap(const Identifier &id) const override
get the hashes
int doubletPhi(const Identifier &id) const
int doubletR(const Identifier &id) const
int strip(const Identifier &id) const
bool measuresPhi(const Identifier &id) const override
int doubletZ(const Identifier &id) const
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
int isStrip(const Identifier &id) const
isStrip corresponds to measuresPhi
int multilayer(const Identifier &id) const
int channelType(const Identifier &id) const
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
std::string getFullID(Identifier id, const MdtIdHelper &mdtHelper)
Get the identifier string for an MDT ID with the sequence: Detector/StationName/StationEta/StationPhi...
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.