ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCablings
MuonTGC_Cabling
src
TGCCableASDToPP.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
MuonTGC_Cabling/TGCCableASDToPP.h
"
6
7
#include <fstream>
8
#include <sstream>
9
10
#include "GaudiKernel/StatusCode.h"
11
#include "
MuonTGC_Cabling/TGCChannelASDOut.h
"
12
#include "
MuonTGC_Cabling/TGCChannelPPIn.h
"
13
#include "
MuonTGC_Cabling/TGCDatabaseASDToPP.h
"
14
15
namespace
MuonTGC_Cabling
{
16
17
TGCCableASDToPP::TGCCableASDToPP
(
const
std::string& filename,
18
const
std::string& diffFile)
19
:
TGCCable
{
TGCCable
::
ASDToPP
} {
20
initialize
(filename, diffFile);
21
}
22
23
TGCCableASDToPP::~TGCCableASDToPP
() =
default
;
24
25
void
TGCCableASDToPP::initialize
(
const
std::string& filename,
26
const
std::string& diffFile) {
27
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::WD
] =
28
std::make_shared<TGCDatabaseASDToPP>(filename,
"FWD"
);
29
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::SD
] =
30
std::make_shared<TGCDatabaseASDToPP>(filename,
"FSD"
);
31
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::WT
] =
32
std::make_shared<TGCDatabaseASDToPP>(filename,
"FWT"
);
33
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::ST
] =
34
std::make_shared<TGCDatabaseASDToPP>(filename,
"FST"
);
35
36
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::WD
] =
37
std::make_shared<TGCDatabaseASDToPP>(filename,
"EWD"
);
38
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::SD
] =
39
std::make_shared<TGCDatabaseASDToPP>(filename,
"ESD"
);
40
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::WT
] =
41
std::make_shared<TGCDatabaseASDToPP>(filename,
"EWT"
);
42
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::ST
] =
43
std::make_shared<TGCDatabaseASDToPP>(filename,
"EST"
);
44
45
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::WI
] =
46
std::make_shared<TGCDatabaseASDToPP>(filename,
"FWI"
);
47
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::SI
] =
48
std::make_shared<TGCDatabaseASDToPP>(filename,
"FSI"
);
49
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::WI
] =
50
std::make_shared<TGCDatabaseASDToPP>(filename,
"EWI"
);
51
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::SI
] =
52
std::make_shared<TGCDatabaseASDToPP>(filename,
"ESI"
);
53
54
for
(
int
side = 0; side < +
TGCId::SideType::MaxSideType
; side++) {
55
for
(
int
sector = 0; sector <
TGCId::NUM_FORWARD_SECTOR
; sector++) {
56
m_FWDdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::WD
];
57
m_FSDdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::SD
];
58
m_FWTdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::WT
];
59
m_FSTdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::ST
];
60
}
61
for
(
int
sector = 0; sector <
TGCId::NUM_ENDCAP_SECTOR
; sector++) {
62
m_EWDdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::WD
];
63
m_ESDdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::SD
];
64
m_EWTdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::WT
];
65
m_ESTdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::ST
];
66
}
67
for
(
int
sector = 0; sector <
TGCId::NUM_INNER_SECTOR
; sector++) {
68
m_FWIdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::WI
];
69
m_FSIdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Forward
][+
TGCId::ModuleType::SI
];
70
m_EWIdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::WI
];
71
m_ESIdb
[side][sector] =
m_commonDb
[+
TGCId::RegionType::Endcap
][+
TGCId::ModuleType::SI
];
72
}
73
}
74
updateDatabase
(diffFile);
75
}
76
77
void
TGCCableASDToPP::updateDatabase
(
const
std::string& diffFile) {
78
79
std::vector<std::string> fileContent{};
80
std::ifstream inASDToPP;
81
inASDToPP.open(diffFile);
82
if
(inASDToPP.bad()) {
83
throw
std::runtime_error(
"Failed to open "
+ diffFile);
84
return
;
85
}
86
87
std::string buf{};
88
// Copy database into m_ASD2PP_DIFF_12
89
while
(getline(inASDToPP, buf)) {
90
char
letter = buf.at(0);
91
// Truncation saves initialization CPU time of about 30 ms.
92
if
(letter ==
'/'
|| letter ==
'*'
) {
93
continue
;
94
}
95
96
fileContent.push_back(buf);
97
}
98
99
for
(
int
side = 0; side < +
TGCId::SideType::MaxSideType
; side++) {
100
for
(
int
sector = 0; sector <
TGCId::NUM_FORWARD_SECTOR
; sector++) {
101
updateIndividualDatabase
(side, sector, fileContent,
"FWD"
,
102
m_FWDdb
[side][sector]);
103
updateIndividualDatabase
(side, sector, fileContent,
"FSD"
,
104
m_FSDdb
[side][sector]);
105
updateIndividualDatabase
(side, sector, fileContent,
"FWT"
,
106
m_FWTdb
[side][sector]);
107
updateIndividualDatabase
(side, sector, fileContent,
"FST"
,
108
m_FSTdb
[side][sector]);
109
}
110
for
(
int
sector = 0; sector <
TGCId::NUM_ENDCAP_SECTOR
; sector++) {
111
updateIndividualDatabase
(side, sector, fileContent,
"EWD"
,
112
m_EWDdb
[side][sector]);
113
updateIndividualDatabase
(side, sector, fileContent,
"ESD"
,
114
m_ESDdb
[side][sector]);
115
updateIndividualDatabase
(side, sector, fileContent,
"EWT"
,
116
m_EWTdb
[side][sector]);
117
updateIndividualDatabase
(side, sector, fileContent,
"EST"
,
118
m_ESTdb
[side][sector]);
119
}
120
for
(
int
sector = 0; sector <
TGCId::NUM_INNER_SECTOR
; sector++) {
121
updateIndividualDatabase
(side, sector, fileContent,
"EWI"
,
122
m_EWIdb
[side][sector]);
123
updateIndividualDatabase
(side, sector, fileContent,
"ESI"
,
124
m_ESIdb
[side][sector]);
125
updateIndividualDatabase
(side, sector, fileContent,
"FWI"
,
126
m_FWIdb
[side][sector]);
127
updateIndividualDatabase
(side, sector, fileContent,
"FSI"
,
128
m_FSIdb
[side][sector]);
129
}
130
}
131
}
132
133
std::vector<std::vector<int>>
TGCCableASDToPP::getUpdateInfo
(
134
const
int
side,
const
int
sector,
const
std::vector<std::string>& diffFile,
135
136
const
std::string& blockname) {
137
// clear info
138
std::vector<std::vector<int>> info{};
139
140
std::vector<std::string>::const_iterator it = diffFile.begin();
141
std::vector<std::string>::const_iterator it_e = diffFile.end();
142
int
size
= 0;
143
144
// search block name
145
while
(it != it_e) {
146
const
std::string& buf = (*it);
147
++it;
148
char
firstl = buf.at(0);
149
if
(firstl ==
'/'
|| firstl ==
'*'
) {
150
continue
;
151
}
152
if
(buf.compare(0, blockname.size(), blockname) == 0) {
153
std::istringstream line(buf);
154
std::string temp;
155
line >> temp >>
size
;
156
break
;
157
}
158
}
159
160
// loop over entries of specified block
161
while
(it != it_e) {
162
const
std::string& buf = (*it);
163
++it;
164
char
firstl = buf.at(0);
165
if
(firstl ==
'/'
|| firstl ==
'*'
) {
166
continue
;
167
}
168
if
(firstl ==
'E'
|| firstl ==
'F'
) {
169
break
;
170
}
171
std::istringstream line(buf);
172
std::vector<int> entry;
173
int
t_side, t_sector;
174
line >> t_side;
175
line >> t_sector;
176
bool
isOK =
false
;
177
if
((t_side == side) && (t_sector == sector)) {
178
for
(
int
i = 2; i < 8; i++) {
179
int
temp = -1;
180
if
(line >> temp) {
181
entry.push_back(temp);
182
}
else
{
183
break
;
184
}
185
isOK = (i == 7);
186
}
187
if
(isOK) {
188
info.push_back(std::move(entry));
189
}
190
}
191
}
192
return
info;
193
}
194
195
TGCDatabaseASDToPP
*
TGCCableASDToPP::getDatabase
(
const
TGCId::SideType
side,
196
const
TGCId::RegionType
region,
197
const
int
sector,
198
const
TGCId::ModuleType
module)
const
{
199
if
(side >=
TGCId::SideType::MaxSideType
) {
200
return
nullptr
;
201
}
202
if
(sector < 0) {
203
return
nullptr
;
204
}
205
206
TGCDatabaseASDToPP
* db =
nullptr
;
207
if
(region ==
TGCId::RegionType::Endcap
) {
208
switch
(module) {
209
case
TGCId::ModuleType::WD
:
210
if
(sector <
TGCId::NUM_ENDCAP_SECTOR
) {
211
db =
m_EWDdb
[+side][sector].get();
212
}
213
break
;
214
case
TGCId::ModuleType::SD
:
215
if
(sector <
TGCId::NUM_ENDCAP_SECTOR
) {
216
db =
m_ESDdb
[+side][sector].get();
217
}
218
break
;
219
case
TGCId::ModuleType::WT
:
220
if
(sector <
TGCId::NUM_ENDCAP_SECTOR
) {
221
db =
m_EWTdb
[+side][sector].get();
222
}
223
break
;
224
case
TGCId::ModuleType::ST
:
225
if
(sector <
TGCId::NUM_ENDCAP_SECTOR
) {
226
db =
m_ESTdb
[+side][sector].get();
227
}
228
break
;
229
case
TGCId::ModuleType::WI
:
230
if
(sector <
TGCId::NUM_INNER_SECTOR
) {
231
db =
m_EWIdb
[+side][sector].get();
232
}
233
break
;
234
case
TGCId::ModuleType::SI
:
235
if
(sector <
TGCId::NUM_INNER_SECTOR
) {
236
db =
m_ESIdb
[+side][sector].get();
237
}
238
break
;
239
default
:
240
break
;
241
}
242
}
else
if
(region ==
TGCId::RegionType::Forward
) {
243
switch
(module) {
244
case
TGCId::ModuleType::WD
:
245
if
(sector <
TGCId::NUM_FORWARD_SECTOR
) {
246
db =
m_FWDdb
[+side][sector].get();
247
}
248
break
;
249
case
TGCId::ModuleType::SD
:
250
if
(sector <
TGCId::NUM_FORWARD_SECTOR
) {
251
db =
m_FSDdb
[+side][sector].get();
252
}
253
break
;
254
case
TGCId::ModuleType::WT
:
255
if
(sector <
TGCId::NUM_FORWARD_SECTOR
) {
256
db =
m_FWTdb
[+side][sector].get();
257
}
258
break
;
259
case
TGCId::ModuleType::ST
:
260
if
(sector <
TGCId::NUM_FORWARD_SECTOR
) {
261
db =
m_FSTdb
[+side][sector].get();
262
}
263
break
;
264
case
TGCId::ModuleType::WI
:
265
if
(sector <
TGCId::NUM_INNER_SECTOR
) {
266
db =
m_FWIdb
[+side][sector].get();
267
}
268
break
;
269
case
TGCId::ModuleType::SI
:
270
if
(sector <
TGCId::NUM_INNER_SECTOR
) {
271
db =
m_FSIdb
[+side][sector].get();
272
}
273
break
;
274
default
:
275
break
;
276
}
277
}
278
return
db;
279
}
280
281
std::unique_ptr<TGCChannelId>
TGCCableASDToPP::getChannel
(
282
const
TGCChannelId
& channelId,
bool
orChannel)
const
{
283
if
(channelId.getChannelIdType() ==
TGCChannelId::ChannelIdType::ASDOut
) {
284
return
getChannelOut
(channelId, orChannel);
285
}
286
if
(channelId.getChannelIdType() ==
TGCChannelId::ChannelIdType::PPIn
) {
287
return
getChannelIn
(channelId, orChannel);
288
}
289
290
return
nullptr
;
291
}
292
293
std::unique_ptr<TGCChannelId>
TGCCableASDToPP::getChannelIn
(
294
const
TGCChannelId
& ppin,
bool
orChannel)
const
{
295
if
(orChannel || !ppin.
isValid
()) {
296
return
nullptr
;
297
}
298
299
TGCDatabaseASDToPP
* databaseP =
300
getDatabase
(ppin.
getSideType
(), ppin.
getRegionType
(), ppin.
getSector
(),
301
ppin.
getModuleType
());
302
303
if
(databaseP ==
nullptr
) {
304
return
nullptr
;
305
}
306
307
int
indexOut[
TGCDatabaseASDToPP::NIndexOut
] = {
308
ppin.
getId
(), ppin.
getBlock
(), ppin.
getChannel
()};
309
int
i = databaseP->
getIndexDBOut
(indexOut);
310
if
(i < 0) {
311
return
nullptr
;
312
}
313
314
// ASD2PP.db is Backward connection
315
int
layer = databaseP->
getEntry
(i, 0);
316
if
(ppin.
isStrip
()) {
317
if
(!ppin.
isBackward
()) {
318
layer =
s_stripForward
[layer];
319
}
320
}
321
int
offset = (ppin.
isWire
()) ? 4 : 0;
322
int
channel = databaseP->
getEntry
(i, 2 + offset);
323
324
// Endcap Triplet chamberId start from 1 in ASDOut
325
int
chamber = databaseP->
getEntry
(i, 1);
326
if
(ppin.
isEndcap
() && ppin.
isTriplet
()) {
327
chamber = chamber + 1;
328
}
329
return
std::make_unique<TGCChannelASDOut>(
330
ppin.
getSideType
(), ppin.
getSignalType
(), ppin.
getRegionType
(),
331
ppin.
getSector
(), layer, chamber, channel);
332
}
333
334
std::unique_ptr<TGCChannelId>
TGCCableASDToPP::getChannelOut
(
335
const
TGCChannelId
& asdout,
bool
orChannel)
const
{
336
if
(orChannel || !asdout.
isValid
()) {
337
return
nullptr
;
338
}
339
340
const
bool
asdoutisStrip = asdout.
isStrip
();
341
const
bool
asdoutisBackward = asdout.
isBackward
();
342
const
bool
asdoutisEndcap = asdout.
isEndcap
();
343
const
bool
asdoutisM1 = (asdout.
getStation
() ==
TGCId::StationType::M1
);
344
const
int
asdoutLayer = asdout.
getLayer
();
345
const
int
asdoutChamber = asdout.
getChamber
();
346
const
int
asdoutChannel = asdout.
getChannel
();
347
348
TGCDatabaseASDToPP
* databaseP =
349
getDatabase
(asdout.
getSideType
(), asdout.
getRegionType
(),
350
asdout.
getSector
(), asdout.
getModuleType
());
351
352
if
(databaseP ==
nullptr
) {
353
return
nullptr
;
354
}
355
356
const
int
MaxEntry = databaseP->
getMaxEntry
();
357
for
(
int
i = 0; i < MaxEntry; i++) {
358
// ASD2PP.db is Backward connection
359
int
layer = asdoutLayer;
360
if
(asdoutisStrip && !asdoutisBackward) {
361
layer =
s_stripForward
[layer];
362
}
363
364
int
elecChannel = asdoutChannel;
365
366
// Endcap Triplet chamberId start from 1 in ASDOut
367
int
chamber = asdoutChamber;
368
if
(asdoutisEndcap && asdoutisM1) {
369
chamber = chamber - 1;
370
}
371
int
offset = (asdout.
isWire
()) ? 4 : 0;
372
if
(databaseP->
getEntry
(i, 0) == layer &&
373
databaseP->
getEntry
(i, 1) == chamber &&
374
databaseP->
getEntry
(i, 2 + offset) == elecChannel) {
375
int
id
= databaseP->
getEntry
(i, 3);
376
int
block = databaseP->
getEntry
(i, 4);
377
int
channel = databaseP->
getEntry
(i, 5);
378
379
return
std::make_unique<TGCChannelPPIn>(
380
asdout.
getSideType
(), asdout.
getStation
(), asdout.
getModuleType
(),
381
asdout.
getRegionType
(), asdout.
getSector
(),
id
, block, channel);
382
}
383
}
384
return
nullptr
;
385
}
386
387
void
TGCCableASDToPP::updateIndividualDatabase
(
388
const
int
side,
const
int
sector,
const
std::vector<std::string>& diffFile,
389
const
std::string& blockname,
390
std::shared_ptr<TGCDatabaseASDToPP>& database) {
391
if
(!database) {
392
return
;
393
}
394
std::vector<std::vector<int>> info =
395
getUpdateInfo
(side, sector, diffFile, blockname);
396
397
if
(info.empty()) {
398
return
;
399
}
400
401
if
(database->isCommon()) {
402
database = std::make_unique<TGCDatabaseASDToPP>(
403
*database,
404
false
);
// false means this database is not commonly used.
405
}
406
407
for
(
auto
& i : info) {
408
database->update(i);
409
}
410
}
411
412
}
// namespace MuonTGC_Cabling
size
size_t size() const
Number of registered mappings.
TGCCableASDToPP.h
TGCChannelASDOut.h
TGCChannelPPIn.h
TGCDatabaseASDToPP.h
MuonTGC_Cabling::TGCCableASDToPP::m_ESDdb
EndcapSectorDB m_ESDdb
Definition
TGCCableASDToPP.h:76
MuonTGC_Cabling::TGCCableASDToPP::getDatabase
TGCDatabaseASDToPP * getDatabase(const TGCId::SideType side, const TGCId::RegionType region, const int sector, const TGCId::ModuleType module) const
Definition
TGCCableASDToPP.cxx:195
MuonTGC_Cabling::TGCCableASDToPP::m_EWDdb
EndcapSectorDB m_EWDdb
Definition
TGCCableASDToPP.h:75
MuonTGC_Cabling::TGCCableASDToPP::getUpdateInfo
std::vector< std::vector< int > > getUpdateInfo(const int side, const int sector, const std::vector< std::string > &diffFile, const std::string &blockname)
Definition
TGCCableASDToPP.cxx:133
MuonTGC_Cabling::TGCCableASDToPP::initialize
void initialize(const std::string &filename, const std::string &diffFile)
Definition
TGCCableASDToPP.cxx:25
MuonTGC_Cabling::TGCCableASDToPP::m_EWIdb
InnerSectorDB m_EWIdb
Definition
TGCCableASDToPP.h:79
MuonTGC_Cabling::TGCCableASDToPP::m_FSDdb
ForwardSectorDB m_FSDdb
Definition
TGCCableASDToPP.h:69
MuonTGC_Cabling::TGCCableASDToPP::m_FWIdb
InnerSectorDB m_FWIdb
Definition
TGCCableASDToPP.h:72
MuonTGC_Cabling::TGCCableASDToPP::updateDatabase
void updateDatabase(const std::string &diffFile)
Definition
TGCCableASDToPP.cxx:77
MuonTGC_Cabling::TGCCableASDToPP::m_FWDdb
ForwardSectorDB m_FWDdb
Definition
TGCCableASDToPP.h:68
MuonTGC_Cabling::TGCCableASDToPP::m_ESIdb
InnerSectorDB m_ESIdb
Definition
TGCCableASDToPP.h:80
MuonTGC_Cabling::TGCCableASDToPP::getChannel
std::unique_ptr< TGCChannelId > getChannel(const TGCChannelId &channelId, bool orChannel=false) const
Definition
TGCCableASDToPP.cxx:281
MuonTGC_Cabling::TGCCableASDToPP::m_ESTdb
EndcapSectorDB m_ESTdb
Definition
TGCCableASDToPP.h:78
MuonTGC_Cabling::TGCCableASDToPP::~TGCCableASDToPP
virtual ~TGCCableASDToPP()
MuonTGC_Cabling::TGCCableASDToPP::m_commonDb
CommonDB m_commonDb
Definition
TGCCableASDToPP.h:86
MuonTGC_Cabling::TGCCableASDToPP::updateIndividualDatabase
void updateIndividualDatabase(const int side, const int sector, const std::vector< std::string > &diffFile, const std::string &blockname, std::shared_ptr< TGCDatabaseASDToPP > &database)
Definition
TGCCableASDToPP.cxx:387
MuonTGC_Cabling::TGCCableASDToPP::m_FSIdb
InnerSectorDB m_FSIdb
Definition
TGCCableASDToPP.h:73
MuonTGC_Cabling::TGCCableASDToPP::getChannelOut
std::unique_ptr< TGCChannelId > getChannelOut(const TGCChannelId &asdout, bool orChannel=false) const
Definition
TGCCableASDToPP.cxx:334
MuonTGC_Cabling::TGCCableASDToPP::m_EWTdb
EndcapSectorDB m_EWTdb
Definition
TGCCableASDToPP.h:77
MuonTGC_Cabling::TGCCableASDToPP::getChannelIn
std::unique_ptr< TGCChannelId > getChannelIn(const TGCChannelId &ppin, bool orChannel=false) const
Definition
TGCCableASDToPP.cxx:293
MuonTGC_Cabling::TGCCableASDToPP::TGCCableASDToPP
TGCCableASDToPP(const std::string &fileName, const std::string &diffFile)
Definition
TGCCableASDToPP.cxx:17
MuonTGC_Cabling::TGCCableASDToPP::m_FWTdb
ForwardSectorDB m_FWTdb
Definition
TGCCableASDToPP.h:70
MuonTGC_Cabling::TGCCableASDToPP::s_stripForward
static constexpr std::array< int, 10 > s_stripForward
Definition
TGCCableASDToPP.h:51
MuonTGC_Cabling::TGCCableASDToPP::m_FSTdb
ForwardSectorDB m_FSTdb
Definition
TGCCableASDToPP.h:71
MuonTGC_Cabling::TGCCable::ASDToPP
@ ASDToPP
Definition
TGCCable.h:19
MuonTGC_Cabling::TGCCable::TGCCable
TGCCable(CableType type=NoCableType)
Definition
TGCCable.h:31
MuonTGC_Cabling::TGCChannelId
Definition
TGCChannelId.h:17
MuonTGC_Cabling::TGCChannelId::ChannelIdType::ASDOut
@ ASDOut
Definition
TGCChannelId.h:22
MuonTGC_Cabling::TGCChannelId::ChannelIdType::PPIn
@ PPIn
Definition
TGCChannelId.h:23
MuonTGC_Cabling::TGCChannelId::getChannel
int getChannel() const
Definition
TGCChannelId.cxx:35
MuonTGC_Cabling::TGCChannelId::isValid
virtual bool isValid() const
Definition
TGCChannelId.h:41
MuonTGC_Cabling::TGCChannelId::getLayer
int getLayer() const
Definition
TGCChannelId.cxx:29
MuonTGC_Cabling::TGCChannelId::isBackward
bool isBackward() const
Definition
TGCChannelId.cxx:122
MuonTGC_Cabling::TGCChannelId::getBlock
int getBlock() const
Definition
TGCChannelId.cxx:32
MuonTGC_Cabling::TGCDatabaseASDToPP
Definition
TGCDatabaseASDToPP.h:12
MuonTGC_Cabling::TGCDatabaseASDToPP::NIndexOut
@ NIndexOut
Definition
TGCDatabaseASDToPP.h:32
MuonTGC_Cabling::TGCDatabaseASDToPP::getIndexDBOut
virtual int getIndexDBOut(int *indexOut) const override
Get IndexDBOut (position in the databse between 0 and database.size()-1) from indexOut which is NInde...
Definition
TGCDatabaseASDToPP.cxx:144
MuonTGC_Cabling::TGCDatabase::getMaxEntry
virtual int getMaxEntry() const
Definition
TGCDatabase.cxx:25
MuonTGC_Cabling::TGCDatabase::getEntry
virtual int getEntry(int entry, int column) const
Definition
TGCDatabase.cxx:17
MuonTGC_Cabling::TGCId::getStation
StationType getStation() const
Definition
TGCId.h:128
MuonTGC_Cabling::TGCId::isEndcap
bool isEndcap() const
Definition
TGCId.h:178
MuonTGC_Cabling::TGCId::isTriplet
bool isTriplet() const
Definition
TGCId.h:166
MuonTGC_Cabling::TGCId::NUM_INNER_SECTOR
static constexpr int NUM_INNER_SECTOR
Definition
TGCId.h:45
MuonTGC_Cabling::TGCId::getModuleType
ModuleType getModuleType() const
Definition
TGCId.h:131
MuonTGC_Cabling::TGCId::ModuleType
ModuleType
Definition
TGCId.h:51
MuonTGC_Cabling::TGCId::ModuleType::WI
@ WI
Definition
TGCId.h:53
MuonTGC_Cabling::TGCId::ModuleType::SD
@ SD
Definition
TGCId.h:51
MuonTGC_Cabling::TGCId::ModuleType::WT
@ WT
Definition
TGCId.h:52
MuonTGC_Cabling::TGCId::ModuleType::WD
@ WD
Definition
TGCId.h:51
MuonTGC_Cabling::TGCId::ModuleType::SI
@ SI
Definition
TGCId.h:53
MuonTGC_Cabling::TGCId::ModuleType::ST
@ ST
Definition
TGCId.h:52
MuonTGC_Cabling::TGCId::NUM_ENDCAP_SECTOR
static constexpr int NUM_ENDCAP_SECTOR
Definition
TGCId.h:43
MuonTGC_Cabling::TGCId::getChamber
int getChamber() const
Definition
TGCId.h:147
MuonTGC_Cabling::TGCId::isStrip
bool isStrip() const
Definition
TGCId.h:160
MuonTGC_Cabling::TGCId::StationType::M1
@ M1
Definition
TGCId.h:49
MuonTGC_Cabling::TGCId::getRegionType
RegionType getRegionType() const
Definition
TGCId.h:137
MuonTGC_Cabling::TGCId::isWire
bool isWire() const
Definition
TGCId.h:163
MuonTGC_Cabling::TGCId::getSector
virtual int getSector() const
Definition
TGCId.h:144
MuonTGC_Cabling::TGCId::RegionType
RegionType
Definition
TGCId.h:59
MuonTGC_Cabling::TGCId::RegionType::Forward
@ Forward
Definition
TGCId.h:59
MuonTGC_Cabling::TGCId::RegionType::Endcap
@ Endcap
Definition
TGCId.h:59
MuonTGC_Cabling::TGCId::getSideType
SideType getSideType() const
Definition
TGCId.h:125
MuonTGC_Cabling::TGCId::getSignalType
SignalType getSignalType() const
Definition
TGCId.h:134
MuonTGC_Cabling::TGCId::getId
int getId() const
Definition
TGCId.h:150
MuonTGC_Cabling::TGCId::SideType
SideType
Definition
TGCId.h:48
MuonTGC_Cabling::TGCId::SideType::MaxSideType
@ MaxSideType
Definition
TGCId.h:48
MuonTGC_Cabling::TGCId::NUM_FORWARD_SECTOR
static constexpr int NUM_FORWARD_SECTOR
Definition
TGCId.h:44
MuonTGC_Cabling
Definition
TGCCable.h:12
initialize
void initialize()
Definition
run_EoverP.cxx:894
Generated on
for ATLAS Offline Software by
1.17.0