16 m_database[TGCId::Endcap][TGCId::WD] =
17 std::make_unique<TGCDatabaseASDToPP>(filename,
"EWD");
18 m_database[TGCId::Endcap][TGCId::WT] =
19 std::make_unique<TGCDatabaseASDToPP>(filename,
"EWT");
20 m_database[TGCId::Endcap][TGCId::SD] =
21 std::make_unique<TGCDatabaseASDToPP>(filename,
"ESD");
22 m_database[TGCId::Endcap][TGCId::ST] =
23 std::make_unique<TGCDatabaseASDToPP>(filename,
"EST");
24 m_database[TGCId::Endcap][TGCId::WI] =
25 std::make_unique<TGCDatabaseASDToPP>(filename,
"EWI");
26 m_database[TGCId::Endcap][TGCId::SI] =
27 std::make_unique<TGCDatabaseASDToPP>(filename,
"ESI");
28 m_database[TGCId::Forward][TGCId::WD] =
29 std::make_unique<TGCDatabaseASDToPP>(filename,
"FWD");
30 m_database[TGCId::Forward][TGCId::WT] =
31 std::make_unique<TGCDatabaseASDToPP>(filename,
"FWT");
32 m_database[TGCId::Forward][TGCId::SD] =
33 std::make_unique<TGCDatabaseASDToPP>(filename,
"FSD");
34 m_database[TGCId::Forward][TGCId::ST] =
35 std::make_unique<TGCDatabaseASDToPP>(filename,
"FST");
36 m_database[TGCId::Forward][TGCId::WI] =
37 std::make_unique<TGCDatabaseASDToPP>(filename,
"FWI");
38 m_database[TGCId::Forward][TGCId::SI] =
39 std::make_unique<TGCDatabaseASDToPP>(filename,
"FSI");
122 if (orChannel || asdin.
isValid() ==
false) {
126 const bool asdinisEndcap = asdin.
isEndcap();
127 const bool asdinisTriplet = asdin.
isTriplet();
128 const int asdinLayer = asdin.
getLayer();
170 for (
int i = 0; i < MaxEntry; i++) {
172 int dbChamber = chamber;
173 if (asdinisEndcap && asdinisTriplet) {
174 dbChamber = dbChamber - 1;
177 int dbChannel = asdinChannel - 1;
178 if (databaseP->
getEntry(i, 7) == dbChannel &&
179 databaseP->
getEntry(i, 1) == dbChamber &&
180 databaseP->
getEntry(i, 0) == asdinLayer) {
181 channel = databaseP->
getEntry(i, 6);
188 bool is_Backward =
false;
192 is_Backward = (sector % 2 == 1);
194 is_Backward = (sector % 2 == 0);
205 }
else if (sector == 16) {
215 is_Backward = (sector % 3 == 2);
217 is_Backward = (sector % 3 != 2);
226 if ((is_Backward && asdin.
isAside()) ||
227 (!is_Backward && asdin.
isCside())) {
237 return std::make_unique<TGCChannelASDOut>(
239 sector, asdin.
getLayer(), chamber, channel);