ATLAS Offline Software
TGCCableHPBToSL.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
10 
11 namespace MuonTGC_Cabling {
12 
13 // Constructor & Destructor
15  : TGCCable(TGCCable::HPBToSL)
16 {
18  new TGCDatabasePPToSL(filename,"HPB EW");
20  new TGCDatabasePPToSL(filename,"HPB ES");
22  new TGCDatabasePPToSL(filename,"HPB FW");
24  new TGCDatabasePPToSL(filename,"HPB FS");
25  }
26 
28 {
33 }
34 
35 
37  if(moduleId){
38  if(moduleId->getModuleIdType()==TGCModuleId::HPB)
39  return getModuleOut(moduleId);
40  if(moduleId->getModuleIdType()==TGCModuleId::SL)
41  return getModuleIn(moduleId);
42  }
43  return nullptr;
44 }
45 
47  if(sl->isValid()==false) return nullptr;
48 
51 
52  TGCModuleMap* mapId = nullptr;
53  const int wireMaxEntry = wireP->getMaxEntry();
54  for(int i=0; i<wireMaxEntry; i++){
55  int id = wireP->getEntry(i,0);
56  int block = wireP->getEntry(i,1);
57  TGCModuleHPB* hpb = new TGCModuleHPB(sl->getSideType(),
59  sl->getRegionType(),
60  sl->getSector(),
61  id);
62  if(mapId==nullptr) mapId = new TGCModuleMap();
63  mapId->insert(block,hpb);
64  }
65 
66  const int stripMaxEntry = stripP->getMaxEntry();
67  for(int i=0; i<stripMaxEntry; i++){
68  int id = stripP->getEntry(i,0);
69  int block = stripP->getEntry(i,1);
70  TGCModuleHPB* hpb = new TGCModuleHPB(sl->getSideType(),
72  sl->getRegionType(),
73  sl->getSector(),
74  id);
75  if(mapId==nullptr) mapId = new TGCModuleMap();
76  mapId->insert(block,hpb);
77  }
78 
79  return mapId;
80 }
81 
82 
84  if(hpb->isValid()==false) return nullptr;
85 
86  const int hpbId = hpb->getId();
87 
88  TGCDatabase* databaseP =m_database[hpb->getRegionType()][hpb->getSignalType()];
89 
90  TGCModuleMap* mapId = nullptr;
91  const int MaxEntry = databaseP->getMaxEntry();
92  for(int i=0; i<MaxEntry; i++){
93  if(databaseP->getEntry(i,0)==hpbId)
94  {
95  int block = databaseP->getEntry(i,1);
96  TGCModuleSL* sl = new TGCModuleSL(hpb->getSideType(),
97  hpb->getRegionType(),
98  hpb->getSector());
99 
100  mapId = new TGCModuleMap();
101  mapId->insert(block,sl);
102  break;
103  }
104  }
105 
106  return mapId;
107 }
108 
109 } //end of namespace
TGCModuleSL.h
MuonTGC_Cabling::TGCModuleId::getModuleIdType
ModuleIdType getModuleIdType(void) const
Definition: TGCModuleId.h:28
TGCIdBase::getRegionType
RegionType getRegionType(void) const
Definition: TGCIdBase.cxx:41
TGCIdBase::Endcap
@ Endcap
Definition: TGCIdBase.h:39
TGCIdBase::Wire
@ Wire
Definition: TGCIdBase.h:35
TGCIdBase::Strip
@ Strip
Definition: TGCIdBase.h:35
MuonTGC_Cabling::TGCModuleMap
Definition: TGCModuleMap.h:16
MuonTGC_Cabling::TGCModuleSL
Definition: TGCModuleSL.h:14
MuonTGC_Cabling::TGCCableHPBToSL::m_database
TGCDatabase * m_database[TGCIdBase::MaxRegionType][TGCIdBase::MaxSignalType]
Definition: TGCCableHPBToSL.h:33
TGCIdBase::getSector
virtual int getSector(void) const
Definition: TGCIdBase.cxx:45
MuonTGC_Cabling::TGCCableHPBToSL::getModuleIn
virtual TGCModuleMap * getModuleIn(const TGCModuleId *sl) const
Definition: TGCCableHPBToSL.cxx:46
MuonTGC_Cabling::TGCDatabase
Definition: TGCDatabase.h:15
MuonTGC_Cabling::TGCModuleHPB
Definition: TGCModuleHPB.h:14
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
Definition: TGCCable.h:13
MuonTGC_Cabling::TGCDatabase::getMaxEntry
virtual int getMaxEntry(void) const
Definition: TGCDatabase.cxx:36
TGCIdBase::getSideType
SideType getSideType(void) const
Definition: TGCIdBase.cxx:37
MuonTGC_Cabling::TGCCable
Definition: TGCCable.h:16
MuonTGC_Cabling::TGCCableHPBToSL::~TGCCableHPBToSL
virtual ~TGCCableHPBToSL(void)
Definition: TGCCableHPBToSL.cxx:27
MuonTGC_Cabling::TGCCableHPBToSL::getModuleOut
virtual TGCModuleMap * getModuleOut(const TGCModuleId *hpt) const
Definition: TGCCableHPBToSL.cxx:83
MuonTGC_Cabling::TGCCableHPBToSL::TGCCableHPBToSL
TGCCableHPBToSL(void)
Definition: TGCCableHPBToSL.h:30
MuonTGC_Cabling::TGCModuleId::SL
@ SL
Definition: TGCModuleId.h:17
TGCDatabasePPToSL.h
TGCIdBase::getSignalType
SignalType getSignalType(void) const
Definition: TGCIdBase.cxx:39
MuonTGC_Cabling::TGCModuleId::HPB
@ HPB
Definition: TGCModuleId.h:17
MuonTGC_Cabling::TGCModuleMap::insert
void insert(int connector, TGCModuleId *moduleId)
Definition: TGCModuleMap.cxx:34
TGCCableHPBToSL.h
TGCIdBase::Forward
@ Forward
Definition: TGCIdBase.h:39
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
MuonTGC_Cabling::TGCDatabasePPToSL
Definition: TGCDatabasePPToSL.h:14
MuonTGC_Cabling::TGCCableHPBToSL::getModule
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const
Definition: TGCCableHPBToSL.cxx:36
MuonTGC_Cabling::TGCModuleId
Definition: TGCModuleId.h:14
TGCIdBase::getId
int getId(void) const
Definition: TGCIdBase.cxx:48
MuonTGC_Cabling::TGCModuleId::isValid
virtual bool isValid(void) const
Definition: TGCModuleId.h:32
TGCModuleHPB.h