ATLAS Offline Software
TGCCableASDToPP.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include "GaudiKernel/StatusCode.h"
11 
12 #include <fstream>
13 #include <sstream>
14 
15 namespace MuonTGC_Cabling {
16 
17 // Constructor & Destructor
19  TGCCable(TGCCable::ASDToPP),
20  m_tgcCablingDbTool("TGCCablingDbTool"),
21  m_ASD2PP_DIFF_12(nullptr) {
23 }
24 
26 {
27  // MuonSpectrometer/MuonCablings/TGCcablingInterface/TGCcablingInterface/TGCIdBase.h defines
28  // enum ModuleType {NoModuleType=-1, WD,SD,WT,ST,WI,SI, MaxModuleType}; as of TGCcablingInterface-00-01-12.
29  // If this order is changed, these for loops should be revisited.
30  for(int side=0; side<TGCIdBase::MaxSideType; side++) {
32  for(int region=TGCIdBase::Endcap; region<=TGCIdBase::Forward; region++) {
33  for(int sector=0;
34  (module<=TGCIdBase::ST && ((region==TGCIdBase::Forward && sector<TGCId::NumberOfForwardSector) || // Big Wheel Forward
35  (region==TGCIdBase::Endcap && sector<TGCId::NumberOfEndcapSector))) // Big Wheel Endcap
36  || (module>=TGCIdBase::WI && sector<TGCId::NumberOfInnerSector); // EI/FI
37  sector++) {
38  TGCDatabaseASDToPP* db = dynamic_cast<TGCDatabaseASDToPP*>(getDatabase(side, region, sector, module));
39  // If the database is used by only this sector, it is deleted now.
40  if(db && !(db->isCommon())) {
41  delete db;
42  db = nullptr;
43  }
44  }
45  }
46  }
47  }
48 
49  // Common databases are deleted.
50  for(int region=0; region<TGCIdBase::MaxRegionType; region++) {
52  delete m_commonDb[region][module]; // delete null pointer should be safe.
53  m_commonDb[region][module] = nullptr;
54  }
55  }
56 
57  delete m_ASD2PP_DIFF_12;
58  m_ASD2PP_DIFF_12 = nullptr;
59 }
60 
61 
62 void TGCCableASDToPP::initialize(const std::string& filename)
63 {
64  // Common database pointers are initialized
65  for(int region=0; region<TGCIdBase::MaxRegionType; region++) {
67  m_commonDb[region][module] = nullptr;
68  }
69  }
70 
75 
80 
85 
86  for(int side=0; side < TGCIdBase::MaxSideType; side++) {
87  for(int sector=0; sector < TGCId::NumberOfForwardSector; sector++) {
92  }
93  for(int sector=0; sector < TGCId::NumberOfEndcapSector; sector++) {
98  }
99  for(int sector=0; sector < TGCId::NumberOfInnerSector; sector++) {
104  }
105  }
106 }
107 
108 
110 {
111  if(m_tgcCablingDbTool.retrieve().isFailure()) return StatusCode::FAILURE;
112 
113  StatusCode sc = m_tgcCablingDbTool->readASD2PP_DIFF_12FromText();
114  if(!sc.isSuccess()) {
115  return StatusCode::SUCCESS;
116  }
117 
118  std::vector<std::string> *tmp_ASD2PP_DIFF_12 = m_tgcCablingDbTool->giveASD2PP_DIFF_12();
119  if(!tmp_ASD2PP_DIFF_12) return StatusCode::FAILURE;
120 
121  delete m_ASD2PP_DIFF_12;
122  m_ASD2PP_DIFF_12 = new std::vector<std::string>;
123 
124  // Truncation saves initialization CPU time of about 30 ms.
125  for (const std::string& s : *tmp_ASD2PP_DIFF_12) {
126  char letter = s.at(0);
127  if(letter=='/'||letter=='*') continue;
128  m_ASD2PP_DIFF_12->push_back(s);
129  }
130  delete tmp_ASD2PP_DIFF_12;
131  tmp_ASD2PP_DIFF_12 = nullptr;
132 
133  for(int side=0; side<TGCIdBase::MaxSideType; side++) {
134  for(int sector=0; sector<TGCId::NumberOfForwardSector; sector++) {
135  StatusCode sc = updateIndividualDatabase(side, sector, "FWD", m_FWDdb[side][sector]);
136  if(!sc.isSuccess()) return sc;
137  sc = updateIndividualDatabase(side, sector, "FSD", m_FSDdb[side][sector]);
138  if(!sc.isSuccess()) return sc;
139  sc = updateIndividualDatabase(side, sector, "FWT", m_FWTdb[side][sector]);
140  if(!sc.isSuccess()) return sc;
141  sc = updateIndividualDatabase(side, sector, "FST", m_FSTdb[side][sector]);
142  if(!sc.isSuccess()) return sc;
143  }
144  for(int sector=0; sector<TGCId::NumberOfEndcapSector; sector++) {
145  StatusCode sc = updateIndividualDatabase(side, sector, "EWD", m_EWDdb[side][sector]);
146  if(!sc.isSuccess()) return sc;
147  sc = updateIndividualDatabase(side, sector, "ESD", m_ESDdb[side][sector]);
148  if(!sc.isSuccess()) return sc;
149  sc = updateIndividualDatabase(side, sector, "EWT", m_EWTdb[side][sector]);
150  if(!sc.isSuccess()) return sc;
151  sc = updateIndividualDatabase(side, sector, "EST", m_ESTdb[side][sector]);
152  if(!sc.isSuccess()) return sc;
153  }
154  for(int sector=0; sector<TGCId::NumberOfInnerSector; sector++) {
155  StatusCode sc = updateIndividualDatabase(side, sector, "EWI", m_EWIdb[side][sector]);
156  if(!sc.isSuccess()) return sc;
157  sc = updateIndividualDatabase(side, sector, "ESI", m_ESIdb[side][sector]);
158  if(!sc.isSuccess()) return sc;
159  sc = updateIndividualDatabase(side, sector, "FWI", m_FWIdb[side][sector]);
160  if(!sc.isSuccess()) return sc;
161  sc = updateIndividualDatabase(side, sector, "FSI", m_FSIdb[side][sector]);
162  if(!sc.isSuccess()) return sc;
163  }
164  }
165 
166  return StatusCode::SUCCESS;
167 }
168 
170  const int sector,
171  const std::string& blockname,
172  std::vector<std::vector<int> >& info)
173 {
174  // clear info
175  info.clear();
176 
177  std::vector<std::string>::const_iterator it = m_ASD2PP_DIFF_12->begin();
178  std::vector<std::string>::const_iterator it_e = m_ASD2PP_DIFF_12->end();
179  int size = 0;
180 
181  // search block name
182  while(it!=it_e) {
183  const std::string &buf = (*it);
184  ++it;
185  char firstl = buf.at(0);
186  if(firstl=='/'||firstl=='*') continue;
187  if(buf.compare(0,blockname.size(),blockname)==0) {
188  std::istringstream line(buf);
189  std::string temp;
190  line >> temp >> size;
191  break;
192  }
193  }
194 
195  // loop over entries of specified block
196  while(it!=it_e) {
197  const std::string &buf = (*it);
198  ++it;
199  char firstl = buf.at(0);
200  if(firstl=='/'||firstl=='*') continue;
201  if(firstl=='E'||firstl=='F') break;
202  std::istringstream line(buf);
203  std::vector<int> entry;
204  int t_side, t_sector;
205  line >> t_side;
206  line >> t_sector;
207  bool isOK = false;
208  if((t_side==side) && (t_sector==sector)) {
209  for(int i=2; i<8; i++) {
210  int temp=-1;
211  if(line >> temp) {
212  entry.push_back(temp);
213  } else {
214  break;
215  }
216  isOK = (i==7);
217  }
218  if(isOK) {
219  info.push_back(entry);
220  }
221  }
222  }
223 
224  return StatusCode::SUCCESS;
225 }
226 
227 
228 
230  const int region,
231  const int sector,
232  const int module) const
233 {
234  if(side<0 || side>=TGCIdBase::MaxSideType) return nullptr;
235  if(sector<0) return nullptr;
236 
237  TGCDatabase* db=nullptr;
238  if(region==TGCIdBase::Endcap) {
239  switch(module) {
240  case TGCIdBase::WD :
241  if(sector<TGCId::NumberOfEndcapSector) db = m_EWDdb[side][sector];
242  break;
243  case TGCIdBase::SD :
244  if(sector<TGCId::NumberOfEndcapSector) db = m_ESDdb[side][sector];
245  break;
246  case TGCIdBase::WT :
247  if(sector<TGCId::NumberOfEndcapSector) db = m_EWTdb[side][sector];
248  break;
249  case TGCIdBase::ST :
250  if(sector<TGCId::NumberOfEndcapSector) db = m_ESTdb[side][sector];
251  break;
252  case TGCIdBase::WI :
253  if(sector<TGCId::NumberOfInnerSector) db = m_EWIdb[side][sector];
254  break;
255  case TGCIdBase::SI :
256  if(sector<TGCId::NumberOfInnerSector) db = m_ESIdb[side][sector];
257  break;
258  default:
259  break;
260  }
261  } else if(region==TGCIdBase::Forward) {
262  switch(module) {
263  case TGCIdBase::WD :
264  if(sector<TGCId::NumberOfForwardSector) db = m_FWDdb[side][sector];
265  break;
266  case TGCIdBase::SD :
267  if(sector<TGCId::NumberOfForwardSector) db = m_FSDdb[side][sector];
268  break;
269  case TGCIdBase::WT :
270  if(sector<TGCId::NumberOfForwardSector) db = m_FWTdb[side][sector];
271  break;
272  case TGCIdBase::ST :
273  if(sector<TGCId::NumberOfForwardSector) db = m_FSTdb[side][sector];
274  break;
275  case TGCIdBase::WI :
276  if(sector<TGCId::NumberOfInnerSector) db = m_FWIdb[side][sector];
277  break;
278  case TGCIdBase::SI :
279  if(sector<TGCId::NumberOfInnerSector) db = m_FSIdb[side][sector];
280  break;
281  default:
282  break;
283  }
284  }
285  return db;
286 }
287 
288 // reverse layers in Forward sector
289 const int TGCCableASDToPP::s_stripForward[] = {2,1,0,4,3,6,5,8,7};
290 
291 
293  bool orChannel) const {
294  if(channelId) {
295  if(channelId->getChannelIdType()==TGCIdBase::ASDOut)
296  return getChannelOut(channelId,orChannel);
297  if(channelId->getChannelIdType()==TGCIdBase::PPIn)
298  return getChannelIn(channelId,orChannel);
299  }
300  return nullptr;
301 }
302 
304  bool orChannel) const {
305  if(orChannel) return nullptr;
306  if(ppin->isValid()==false) return nullptr;
307 
308  TGCDatabase* databaseP =
309  getDatabase(ppin->getSideType(),
310  ppin->getRegionType(),
311  ppin->getSector(),
312  ppin->getModuleType());
313 
314  if(databaseP==nullptr) return nullptr;
315 
316  int indexOut[TGCDatabaseASDToPP::NIndexOut] =
317  {ppin->getId(), ppin->getBlock(), ppin->getChannel()};
318  int i = databaseP->getIndexDBOut(indexOut);
319  if(i<0) return nullptr;
320 
321  // ASD2PP.db is Backward connection
322  int layer = databaseP->getEntry(i,0);
323  if(ppin->isStrip()) {
324  if(!(ppin->isBackward())) {
326  }
327  }
328  int offset = (ppin->isWire()) ? 4 : 0;
329  int channel = databaseP->getEntry(i,2+offset);
330 
331  // Endcap Triplet chamberId start from 1 in ASDOut
332  int chamber = databaseP->getEntry(i,1);
333  if(ppin->isEndcap() && ppin->isTriplet()) {
334  chamber = chamber+1;
335  }
336 
337  TGCChannelASDOut *asdout = new TGCChannelASDOut(ppin->getSideType(),
338  ppin->getSignalType(),
339  ppin->getRegionType(),
340  ppin->getSector(),
341  layer,
342  chamber,
343  channel);
344 
345  return asdout;
346 }
347 
349  bool orChannel) const {
350  if(orChannel) return nullptr;
351  if(asdout->isValid()==false) return nullptr;
352 
353  const bool asdoutisStrip = asdout->isStrip();
354  const bool asdoutisBackward = asdout->isBackward();
355  const bool asdoutisEndcap = asdout->isEndcap();
356  const bool asdoutisTriplet = asdout->isTriplet();
357  const int asdoutLayer = asdout->getLayer();
358  const int asdoutChamber = asdout->getChamber();
359  const int asdoutChannel = asdout->getChannel();
360 
361  TGCDatabase* databaseP =
362  getDatabase(asdout->getSideType(),
363  asdout->getRegionType(),
364  asdout->getSector(),
365  asdout->getModuleType());
366 
367  if(databaseP==nullptr) return nullptr;
368 
369  TGCChannelPPIn* ppin = nullptr;
370  const int MaxEntry = databaseP->getMaxEntry();
371  for(int i=0; i<MaxEntry; i++) {
372  // ASD2PP.db is Backward connection
373  int layer = asdoutLayer;
374  if(asdoutisStrip) {
375  if(!asdoutisBackward) {
377  }
378  }
379 
380  int elecChannel = asdoutChannel;
381 
382  // Endcap Triplet chamberId start from 1 in ASDOut
383  int chamber = asdoutChamber;
384  if(asdoutisEndcap&&asdoutisTriplet)
385  chamber = chamber-1;
386  int offset = (asdout->isWire())? 4 : 0;
387  if(databaseP->getEntry(i,0)==layer&&
388  databaseP->getEntry(i,1)==chamber&&
389  databaseP->getEntry(i,2+offset)==elecChannel)
390  {
391  int id = databaseP->getEntry(i,3);
392  int block = databaseP->getEntry(i,4);
393  int channel = databaseP->getEntry(i,5);
394 
395  ppin = new TGCChannelPPIn(asdout->getSideType(),
396  asdout->getModuleType(),
397  asdout->getRegionType(),
398  asdout->getSector(),
399  id,
400  block,
401  channel);
402  break;
403  }
404  }
405  return ppin;
406 }
407 
409  const int sector,
410  const std::string& blockname,
411  TGCDatabase*& database) {
412  TGCDatabaseASDToPP* db = dynamic_cast<TGCDatabaseASDToPP*>(database);
413  if(!db) return StatusCode::FAILURE;
414 
415  std::vector<std::vector<int> > info;
416 
418  if(!sc.isSuccess()) return sc;
419 
420  size_t info_size = info.size();
421  if(!info_size) return StatusCode::SUCCESS;
422 
423  if(db->isCommon()) {
424  db = new TGCDatabaseASDToPP(*db, false); // false means this database is not commonly used.
425  if(!db) return StatusCode::FAILURE;
426 
427  database = db;
428  }
429 
430  for(size_t i=0; i<info_size; i++) {
431  db->update(info[i]);
432  }
433 
434  return StatusCode::SUCCESS;
435 }
436 
437 } //end of namespace
grepfile.info
info
Definition: grepfile.py:38
MuonTGC_Cabling::TGCCableASDToPP::m_ESDdb
TGCDatabase * m_ESDdb[TGCIdBase::MaxSideType][TGCId::NumberOfEndcapSector]
Definition: TGCCableASDToPP.h:70
MuonTGC_Cabling::TGCCableASDToPP::getDatabase
TGCDatabase * getDatabase(const int side, const int region, const int sector, const int module) const
Definition: TGCCableASDToPP.cxx:229
MuonTGC_Cabling::TGCCableASDToPP::getChannelOut
virtual TGCChannelId * getChannelOut(const TGCChannelId *asdout, bool orChannel=false) const
Definition: TGCCableASDToPP.cxx:348
TGCIdBase::getRegionType
RegionType getRegionType(void) const
Definition: TGCIdBase.cxx:41
MuonTGC_Cabling::TGCCableASDToPP::getUpdateInfo
StatusCode getUpdateInfo(const int side, const int sector, const std::string &blockname, std::vector< std::vector< int > > &info)
Definition: TGCCableASDToPP.cxx:169
checkFileSG.line
line
Definition: checkFileSG.py:75
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
MuonTGC_Cabling::TGCDatabaseASDToPP::NIndexOut
@ NIndexOut
Definition: TGCDatabaseASDToPP.h:34
TGCIdBase::Endcap
@ Endcap
Definition: TGCIdBase.h:39
MuonTGC_Cabling::TGCCableASDToPP::m_EWDdb
TGCDatabase * m_EWDdb[TGCIdBase::MaxSideType][TGCId::NumberOfEndcapSector]
Definition: TGCCableASDToPP.h:69
TGCIdBase::getChannel
virtual int getChannel(void) const
Definition: TGCIdBase.cxx:50
TGCChannelASDOut.h
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
MuonTGC_Cabling::TGCCableASDToPP::m_ESIdb
TGCDatabase * m_ESIdb[TGCIdBase::MaxSideType][TGCId::NumberOfInnerSector]
Definition: TGCCableASDToPP.h:74
calibdata.chamber
chamber
Definition: calibdata.py:32
MuonTGC_Cabling::TGCCableASDToPP::m_ASD2PP_DIFF_12
std::vector< std::string > * m_ASD2PP_DIFF_12
Definition: TGCCableASDToPP.h:79
MuonTGC_Cabling::TGCCableASDToPP::m_FSDdb
TGCDatabase * m_FSDdb[TGCIdBase::MaxSideType][TGCId::NumberOfForwardSector]
Definition: TGCCableASDToPP.h:63
CaloCondBlobAlgs_fillNoiseFromASCII.db
db
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:43
TGCIdBase::WT
@ WT
Definition: TGCIdBase.h:33
TGCIdBase::MaxRegionType
@ MaxRegionType
Definition: TGCIdBase.h:40
skel.it
it
Definition: skel.GENtoEVGEN.py:423
TGCIdBase::getBlock
int getBlock(void) const
Definition: TGCIdBase.cxx:49
TGCIdBase::MaxModuleType
@ MaxModuleType
Definition: TGCIdBase.h:34
TGCIdBase::getChamber
int getChamber(void) const
Definition: TGCIdBase.cxx:47
TGCIdBase::SD
@ SD
Definition: TGCIdBase.h:33
TGCIdBase::PPIn
@ PPIn
Definition: TGCIdBase.h:43
MuonTGC_Cabling::TGCCableASDToPP::m_FSIdb
TGCDatabase * m_FSIdb[TGCIdBase::MaxSideType][TGCId::NumberOfInnerSector]
Definition: TGCCableASDToPP.h:67
MuonTGC_Cabling::TGCDatabaseASDToPP
Definition: TGCDatabaseASDToPP.h:14
MuonTGC_Cabling::TGCCableASDToPP::~TGCCableASDToPP
virtual ~TGCCableASDToPP(void)
Definition: TGCCableASDToPP.cxx:25
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
MuonTGC_Cabling::TGCCableASDToPP::m_EWIdb
TGCDatabase * m_EWIdb[TGCIdBase::MaxSideType][TGCId::NumberOfInnerSector]
Definition: TGCCableASDToPP.h:73
TRT::Hit::side
@ side
Definition: HitInfo.h:83
TGCIdBase::getModuleType
ModuleType getModuleType(void) const
Definition: TGCIdBase.cxx:38
TGCIdBase::getSector
virtual int getSector(void) const
Definition: TGCIdBase.cxx:45
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
MuonTGC_Cabling::TGCCableASDToPP::TGCCableASDToPP
TGCCableASDToPP(void)
Definition: TGCCableASDToPP.h:38
TGCIdBase::getLayer
int getLayer(void) const
Definition: TGCIdBase.cxx:46
MuonTGC_Cabling::TGCDatabase
Definition: TGCDatabase.h:15
python.PyAthena.module
module
Definition: PyAthena.py:134
MuonTGC_Cabling::TGCId::NumberOfEndcapSector
@ NumberOfEndcapSector
Definition: TGCId.h:53
TGCIdBase::WI
@ WI
Definition: TGCIdBase.h:33
TGCCableASDToPP.h
MuonTGC_Cabling::TGCDatabase::getEntry
virtual int getEntry(int entry, int column) const
Definition: TGCDatabase.cxx:28
lumiFormat.i
int i
Definition: lumiFormat.py:92
MuonTGC_Cabling::TGCCableASDToPP::m_ESTdb
TGCDatabase * m_ESTdb[TGCIdBase::MaxSideType][TGCId::NumberOfEndcapSector]
Definition: TGCCableASDToPP.h:72
python.subdetectors.mmg.database
database
Definition: mmg.py:6
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonTGC_Cabling
Definition: TGCCable.h:13
TGCIdBase::ASDOut
@ ASDOut
Definition: TGCIdBase.h:43
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
MuonTGC_Cabling::TGCDatabase::getMaxEntry
virtual int getMaxEntry(void) const
Definition: TGCDatabase.cxx:36
MuonTGC_Cabling::TGCCableASDToPP::updateIndividualDatabase
StatusCode updateIndividualDatabase(const int side, const int sector, const std::string &blockname, TGCDatabase *&database)
Definition: TGCCableASDToPP.cxx:408
TGCIdBase::getSideType
SideType getSideType(void) const
Definition: TGCIdBase.cxx:37
TGCIdBase::isEndcap
bool isEndcap(void) const
Definition: TGCIdBase.cxx:62
MuonTGC_Cabling::TGCCableASDToPP::getChannelIn
virtual TGCChannelId * getChannelIn(const TGCChannelId *ppin, bool orChannel=false) const
Definition: TGCCableASDToPP.cxx:303
MuonTGC_Cabling::TGCCable
Definition: TGCCable.h:16
MuonTGC_Cabling::TGCId::NumberOfInnerSector
@ NumberOfInnerSector
Definition: TGCId.h:52
TGCIdBase::isBackward
bool isBackward(void) const
Definition: TGCIdBase.cxx:63
MuonTGC_Cabling::TGCId::NumberOfForwardSector
@ NumberOfForwardSector
Definition: TGCId.h:51
MuonTGC_Cabling::TGCCableASDToPP::m_FWDdb
TGCDatabase * m_FWDdb[TGCIdBase::MaxSideType][TGCId::NumberOfForwardSector]
Definition: TGCCableASDToPP.h:62
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
MuonTGC_Cabling::TGCChannelId::isValid
virtual bool isValid(void) const
Definition: TGCChannelId.h:29
python.egammaTruthD3PDObject.blockname
blockname
Definition: egammaTruthD3PDObject.py:64
MuonTGC_Cabling::TGCCableASDToPP::updateDatabase
StatusCode updateDatabase()
Definition: TGCCableASDToPP.cxx:109
MuonTGC_Cabling::TGCDatabase::getIndexDBOut
virtual int getIndexDBOut(int *indexOut) const
Definition: TGCDatabase.cxx:60
TGCIdBase::getSignalType
SignalType getSignalType(void) const
Definition: TGCIdBase.cxx:39
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
MuonTGC_Cabling::TGCCableASDToPP::m_commonDb
TGCDatabase * m_commonDb[TGCIdBase::MaxRegionType][TGCIdBase::MaxModuleType]
Pointers of common databases are recorded in this array.
Definition: TGCCableASDToPP.h:82
MuonTGC_Cabling::TGCCableASDToPP::m_tgcCablingDbTool
ToolHandle< ITGCCablingDbTool > m_tgcCablingDbTool
Definition: TGCCableASDToPP.h:78
MuonTGC_Cabling::TGCCableASDToPP::m_EWTdb
TGCDatabase * m_EWTdb[TGCIdBase::MaxSideType][TGCId::NumberOfEndcapSector]
Definition: TGCCableASDToPP.h:71
TGCIdBase::ST
@ ST
Definition: TGCIdBase.h:33
MuonTGC_Cabling::TGCCableASDToPP::m_FWTdb
TGCDatabase * m_FWTdb[TGCIdBase::MaxSideType][TGCId::NumberOfForwardSector]
Definition: TGCCableASDToPP.h:64
TGCIdBase::isTriplet
bool isTriplet(void) const
Definition: TGCIdBase.cxx:58
MuonTGC_Cabling::TGCChannelId
Definition: TGCChannelId.h:15
TGCIdBase::Forward
@ Forward
Definition: TGCIdBase.h:39
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
MuonTGC_Cabling::TGCCableASDToPP::m_FWIdb
TGCDatabase * m_FWIdb[TGCIdBase::MaxSideType][TGCId::NumberOfInnerSector]
Definition: TGCCableASDToPP.h:66
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
MuonTGC_Cabling::TGCChannelPPIn
Definition: TGCChannelPPIn.h:14
TGCChannelPPIn.h
MuonTGC_Cabling::TGCCableASDToPP::getChannel
virtual TGCChannelId * getChannel(const TGCChannelId *channelId, bool orChannel=false) const
Definition: TGCCableASDToPP.cxx:292
MuonTGC_Cabling::TGCChannelASDOut
Definition: TGCChannelASDOut.h:14
TGCIdBase::isWire
bool isWire(void) const
Definition: TGCIdBase.cxx:57
TGCIdBase::MaxSideType
@ MaxSideType
Definition: TGCIdBase.h:32
TGCDatabaseASDToPP.h
TGCIdBase::isStrip
bool isStrip(void) const
Definition: TGCIdBase.cxx:56
TGCIdBase::getId
int getId(void) const
Definition: TGCIdBase.cxx:48
MuonTGC_Cabling::TGCCableASDToPP::s_stripForward
static const int s_stripForward[]
Definition: TGCCableASDToPP.h:76
TGCIdBase::SI
@ SI
Definition: TGCIdBase.h:33
TGCIdBase::WD
@ WD
Definition: TGCIdBase.h:33
MuonTGC_Cabling::TGCCableASDToPP::m_FSTdb
TGCDatabase * m_FSTdb[TGCIdBase::MaxSideType][TGCId::NumberOfForwardSector]
Definition: TGCCableASDToPP.h:65
MuonTGC_Cabling::TGCCableASDToPP::initialize
void initialize(const std::string &filename)
Definition: TGCCableASDToPP.cxx:62