ATLAS Offline Software
TGCCableSSWToROD.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 
11 
12 namespace MuonTGC_Cabling {
13 
14 // Constructor & Destructor
16  : TGCCable(TGCCable::SSWToROD)
17 {
18  m_database = new TGCDatabaseSLBToROD(filename,"SSW ALL");
19 }
20 
22  : TGCCable(TGCCable::SSWToROD),
23  m_database(nullptr)
24 {
25 }
26 
28  : TGCCable(TGCCable::SSWToROD),
29  m_database(nullptr)
30 {
31  TGCDatabaseSLBToROD* mypointer = dynamic_cast<TGCDatabaseSLBToROD*>(right.m_database);
32  if(mypointer) m_database = new TGCDatabaseSLBToROD(*mypointer);
33  else m_database = nullptr;
34 }
35 
37 {
38  if (this != &right) {
39  delete m_database;
40  TGCDatabaseSLBToROD* mypointer = dynamic_cast<TGCDatabaseSLBToROD*>(right.m_database);
41  if(mypointer) m_database = new TGCDatabaseSLBToROD(*mypointer);
42  else m_database = nullptr;
43  }
44  return *this;
45 }
46 
48 {
49  delete m_database;
50 }
51 
52 
54  if(moduleId){
55  if(moduleId->getModuleIdType()==TGCModuleId::SSW)
56  return getModuleOut(moduleId);
57  if(moduleId->getModuleIdType()==TGCModuleId::ROD)
58  return getModuleIn(moduleId);
59  }
60  return nullptr;
61 }
62 
64  if(!rod->isValid()) return nullptr;
65 
66  const TGCIdBase::SideType rodSideType = rod->getSideType();
67  const int rodReadoutSector = rod->getReadoutSector();
68 
69  TGCModuleMap* mapId = nullptr;
70  const int MaxEntry = m_database->getMaxEntry();
71  for(int i=0; i<MaxEntry; i++){
72  int id = m_database->getEntry(i,0);
73  int block = m_database->getEntry(i,1);
74  TGCModuleSSW* ssw = new TGCModuleSSW(rodSideType,
75  rodReadoutSector,
76  id);
77  if(mapId==nullptr) mapId = new TGCModuleMap();
78  mapId->insert(block,ssw);
79  }
80  return mapId;
81 }
82 
84  if(!ssw->isValid()) return nullptr;
85 
86  const int sswId = ssw->getId();
87 
88  TGCModuleMap* mapId = nullptr;
89  const int MaxEntry = m_database->getMaxEntry();
90  for(int i=0; i<MaxEntry; i++){
91  if(m_database->getEntry(i,0)==sswId){
92  int block = m_database->getEntry(i,1);
94  ssw->getReadoutSector());
95  mapId = new TGCModuleMap();
96  mapId->insert(block,rod);
97  break;
98  }
99  }
100  return mapId;
101 }
102 
103 } //end of namespace
TGCCableSSWToROD.h
MuonTGC_Cabling::TGCCableSSWToROD::getModuleOut
virtual TGCModuleMap * getModuleOut(const TGCModuleId *ssw) const
Definition: TGCCableSSWToROD.cxx:83
MuonTGC_Cabling::TGCModuleId::getModuleIdType
ModuleIdType getModuleIdType(void) const
Definition: TGCModuleId.h:28
MuonTGC_Cabling::TGCModuleId::ROD
@ ROD
Definition: TGCModuleId.h:17
TGCModuleSSW.h
MuonTGC_Cabling::TGCCableSSWToROD::operator=
TGCCableSSWToROD & operator=(const TGCCableSSWToROD &)
Definition: TGCCableSSWToROD.cxx:36
TGCModuleROD.h
MuonTGC_Cabling::TGCModuleMap
Definition: TGCModuleMap.h:16
MuonTGC_Cabling::TGCCableSSWToROD
Definition: TGCCableSSWToROD.h:18
TGCIdBase.h
MuonTGC_Cabling::TGCModuleId::SSW
@ SSW
Definition: TGCModuleId.h:17
MuonTGC_Cabling::TGCDatabase::getEntry
virtual int getEntry(int entry, int column) const
Definition: TGCDatabase.cxx:28
MuonTGC_Cabling::TGCCableSSWToROD::getModule
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const
Definition: TGCCableSSWToROD.cxx:53
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
MuonTGC_Cabling::TGCCableSSWToROD::TGCCableSSWToROD
TGCCableSSWToROD(void)
Definition: TGCCableSSWToROD.cxx:21
TGCIdBase::getSideType
SideType getSideType(void) const
Definition: TGCIdBase.cxx:37
MuonTGC_Cabling::TGCCable
Definition: TGCCable.h:16
RunTileMonitoring.rod
rod
Definition: RunTileMonitoring.py:134
MuonTGC_Cabling::TGCModuleROD
Definition: TGCModuleROD.h:14
MuonTGC_Cabling::TGCCableSSWToROD::m_database
TGCDatabase * m_database
Definition: TGCCableSSWToROD.h:33
MuonTGC_Cabling::TGCModuleMap::insert
void insert(int connector, TGCModuleId *moduleId)
Definition: TGCModuleMap.cxx:34
TGCDatabaseSLBToROD.h
MuonTGC_Cabling::TGCDatabaseSLBToROD
Definition: TGCDatabaseSLBToROD.h:14
MuonTGC_Cabling::TGCModuleSSW
Definition: TGCModuleSSW.h:14
MuonTGC_Cabling::TGCCableSSWToROD::~TGCCableSSWToROD
virtual ~TGCCableSSWToROD(void)
Definition: TGCCableSSWToROD.cxx:47
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
MuonTGC_Cabling::TGCId::getReadoutSector
int getReadoutSector(void) const
Definition: TGCId.h:56
TGCIdBase::SideType
SideType
Definition: TGCIdBase.h:31
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
MuonTGC_Cabling::TGCCableSSWToROD::getModuleIn
virtual TGCModuleMap * getModuleIn(const TGCModuleId *rod) const
Definition: TGCCableSSWToROD.cxx:63