ATLAS Offline Software
TGCId.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 namespace MuonTGC_Cabling
8 {
9 
10 int TGCId::getGasGap(void) const {
11  if(getLayer()==0||getLayer()==3||getLayer()==5||getLayer()==7)
12  return 1;
13  if(getLayer()==1||getLayer()==4||getLayer()==6||getLayer()==8)
14  return 2;
15  if(getLayer()==2)
16  return 3;
17  return -1;
18 }
19 
20 int TGCId::getSectorInOctant(void) const {
21  if(isInner()){
23  }
24  if(isEndcap()){
26  }
27  if(isForward()){
29  }
30  return -1;
31 }
32 
33 int TGCId::getSectorInReadout(void) const {
34  if(isInner()){
36  }
37  if(isEndcap()){
39  }
40  if(isForward()){
42  }
43  return -1;
44 }
45 
46 
48  m_side = v_side;
49 }
50 
52  m_module=v_module;
53  if(m_module==WI){
56  }
57  if(m_module==SI){
60  }
61  if(m_module==WD){
64  }
65  if(m_module==SD){
68  }
69  if(m_module==WT){
72  }
73  if(m_module==ST){
76  }
77 }
78 
80  m_signal = v_signal;
87 }
88 
90  this->m_multiplet = v_multiplet;
97 }
98 
100  m_region = v_region;
101 }
102 
103 void TGCId::setStation(int v_station) {
104  m_station = v_station;
109 }
110 
111 void TGCId::setReadoutSector(int v_sector) {
112  m_sectorRO = v_sector;
113 }
114 
115 void TGCId::setSector(int v_sector) {
116  m_sector = v_sector;
117  if(m_region==Endcap) {
118  if(m_multiplet==Inner) {
121  } else {
124  }
125  } else if(m_region==Forward) {
128  }
129 }
130 
131 void TGCId::setOctant(int v_octant) {
132  m_octant = v_octant;
133 }
134 
135 int TGCId::getSectorModule(void) const {
136  if(m_sector==-1) return -1;
137 
138  static const int moduleEndcap[6]={ 0, 1, 3, 4, 6, 7};
139  static const int moduleForward[3]={ 2, 5, 8};
140  static const int moduleEI[3]={ 9, 10, 11};
141  static const int moduleFI[3]={ 12, 13, 14};
142 
143  if(isEndcap()){
144  if(isInner()) return moduleEI[getSectorInOctant()];
145  return moduleEndcap[getSectorInOctant()];
146  }
147  if(isForward()){
148  if(isInner()) return moduleFI[getSectorInOctant()];
149  return moduleForward[getSectorInOctant()];
150  }
151  return -1;
152 }
153 
154 // before this method, set m_octant.
155 void TGCId::setSectorModule(int sectorModule) {
156  if(m_octant <0) return;
157 
158  const int MaxModuleInOctant = 15;
159  static const int regionId[MaxModuleInOctant] ={
160  0, 0, 1, 0, 0, 1, 0, 0, 1, 2, 2, 2, 3, 3, 3
161  } ;
162  static const int sectorId[MaxModuleInOctant] ={
163  0, 1, 0, 2, 3, 1, 4, 5, 2, 0, 1, 2, 0, 1, 2
164  };
165 
166  if(sectorModule< 0 || sectorModule>=MaxModuleInOctant) return;
167 
168  if(regionId[sectorModule]==0){
170  setSector(sectorId[sectorModule] + m_octant*(NumberOfEndcapSector/NumberOfOctant));
171 
172  } else if(regionId[sectorModule]==1){
174  setSector(sectorId[sectorModule] + m_octant*(NumberOfForwardSector/NumberOfOctant));
175  } else {
177  if(regionId[sectorModule]==2){ setRegionType(Endcap); }
178  if(regionId[sectorModule]==3){ setRegionType(Forward); }
179  setSector(sectorId[sectorModule] + m_octant*(NumberOfInnerSector/NumberOfOctant));
180  }
181 
182  }
183 
186  if(m_layer>=0&&m_layer<=2){
188  setStation(0);
189  }
190  if(m_layer>=3&&m_layer<=4){
192  setStation(1);
193  }
194  if(m_layer>=5&&m_layer<=6){
196  setStation(2);
197  }
198  if(m_layer>=7&&m_layer<=8){
200  setStation(3);
201  if(m_sector!=-1)
202  m_octant=m_sector/3;
203  }
204 }
205 
206 void TGCId::setChamber(int v_chamber) {
207  m_chamber = v_chamber;
208 }
209 
210 void TGCId::setId(int v_id) {
211  m_id=v_id;
212 }
213 
214 void TGCId::setBlock(int v_block) {
215  m_block=v_block;
216 }
217 
218 void TGCId::setChannel(int v_channel) {
219  m_channel=v_channel;
220 }
221 
222 void TGCId::setEvent(int v_event) {
223  m_event=v_event;
224 }
225 
226 void TGCId::setBunch(int v_bunch) {
227  m_bunch=v_bunch;
228 }
229 
230 } // end of namespace
TGCIdBase::m_bunch
int m_bunch
Definition: TGCIdBase.h:130
MuonTGC_Cabling::TGCId::setRegionType
void setRegionType(RegionType region)
Definition: TGCId.cxx:99
MuonTGC_Cabling::TGCId::NumberOfReadoutSector
@ NumberOfReadoutSector
Definition: TGCId.h:49
TGCIdBase::m_chamber
int m_chamber
Definition: TGCIdBase.h:125
TGCIdBase::Endcap
@ Endcap
Definition: TGCIdBase.h:39
TGCIdBase::isInner
bool isInner(void) const
Definition: TGCIdBase.cxx:60
TGCIdBase::Wire
@ Wire
Definition: TGCIdBase.h:35
TGCIdBase::m_multiplet
MultipletType m_multiplet
Definition: TGCIdBase.h:119
TGCIdBase::Inner
@ Inner
Definition: TGCIdBase.h:37
MuonTGC_Cabling::TGCId::setMultipletType
void setMultipletType(MultipletType multiplet)
Definition: TGCId.cxx:89
TGCIdBase::Strip
@ Strip
Definition: TGCIdBase.h:35
ST
Definition: Electrons.cxx:41
MuonTGC_Cabling::TGCId::setSignalType
void setSignalType(SignalType signal)
Definition: TGCId.cxx:79
TGCIdBase::WT
@ WT
Definition: TGCIdBase.h:33
MuonTGC_Cabling::TGCId::setId
void setId(int id)
Definition: TGCId.cxx:210
MuonTGC_Cabling::TGCId::setModuleType
void setModuleType(ModuleType module)
Definition: TGCId.cxx:51
MuonTGC_Cabling::TGCId::setSectorModule
void setSectorModule(int sectorModule)
Definition: TGCId.cxx:155
MuonTGC_Cabling::TGCId::setChamber
void setChamber(int chamber)
Definition: TGCId.cxx:206
TGCIdBase::SD
@ SD
Definition: TGCIdBase.h:33
MuonTGC_Cabling::TGCId::setBlock
void setBlock(int block)
Definition: TGCId.cxx:214
TGCIdBase::m_octant
int m_octant
Definition: TGCIdBase.h:122
TGCIdBase::m_sector
int m_sector
Definition: TGCIdBase.h:123
MuonTGC_Cabling::TGCId::setSideType
void setSideType(SideType side)
Definition: TGCId.cxx:47
TGCIdBase::m_signal
SignalType m_signal
Definition: TGCIdBase.h:118
MuonTGC_Cabling::TGCId::setSector
virtual void setSector(int sector)
Definition: TGCId.cxx:115
TGCId.h
TGCIdBase::getSector
virtual int getSector(void) const
Definition: TGCIdBase.cxx:45
TGCIdBase::getLayer
int getLayer(void) const
Definition: TGCIdBase.cxx:46
MuonTGC_Cabling::TGCId::NumberOfEndcapSector
@ NumberOfEndcapSector
Definition: TGCId.h:53
TGCIdBase::WI
@ WI
Definition: TGCIdBase.h:33
MuonTGC_Cabling::TGCId::getSectorInOctant
virtual int getSectorInOctant(void) const
Definition: TGCId.cxx:20
MuonTGC_Cabling::TGCId::getGasGap
virtual int getGasGap(void) const
Definition: TGCId.cxx:10
TGCIdBase::m_module
ModuleType m_module
Definition: TGCIdBase.h:117
MuonTGC_Cabling::TGCId::setEvent
void setEvent(int event)
Definition: TGCId.cxx:222
MuonTGC_Cabling::TGCId::getSectorInReadout
int getSectorInReadout(void) const
Definition: TGCId.cxx:33
TGCIdBase::ModuleType
ModuleType
Definition: TGCIdBase.h:33
MuonTGC_Cabling
Definition: TGCCable.h:13
TGCIdBase::isEndcap
bool isEndcap(void) const
Definition: TGCIdBase.cxx:62
MuonTGC_Cabling::TGCId::NumberOfInnerSector
@ NumberOfInnerSector
Definition: TGCId.h:52
MuonTGC_Cabling::TGCId::NumberOfForwardSector
@ NumberOfForwardSector
Definition: TGCId.h:51
TGCIdBase::m_layer
int m_layer
Definition: TGCIdBase.h:124
MuonTGC_Cabling::TGCId::setReadoutSector
void setReadoutSector(int sector)
Definition: TGCId.cxx:111
TGCIdBase::Doublet
@ Doublet
Definition: TGCIdBase.h:37
TGCIdBase::RegionType
RegionType
Definition: TGCIdBase.h:39
TGCIdBase::m_station
int m_station
Definition: TGCIdBase.h:121
MuonTGC_Cabling::TGCId::getSectorModule
virtual int getSectorModule(void) const
Definition: TGCId.cxx:135
TGCIdBase::m_event
int m_event
Definition: TGCIdBase.h:129
TGCIdBase::ST
@ ST
Definition: TGCIdBase.h:33
MuonTGC_Cabling::TGCId::setOctant
void setOctant(int octant)
Definition: TGCId.cxx:131
TGCIdBase::m_side
SideType m_side
Definition: TGCIdBase.h:116
TGCIdBase::m_id
int m_id
Definition: TGCIdBase.h:126
TGCIdBase::m_block
int m_block
Definition: TGCIdBase.h:127
TGCIdBase::Forward
@ Forward
Definition: TGCIdBase.h:39
TGCIdBase::m_region
RegionType m_region
Definition: TGCIdBase.h:120
TGCIdBase::SideType
SideType
Definition: TGCIdBase.h:31
TGCIdBase::SignalType
SignalType
Definition: TGCIdBase.h:35
TGCIdBase::Triplet
@ Triplet
Definition: TGCIdBase.h:37
TGCIdBase::m_channel
int m_channel
Definition: TGCIdBase.h:128
TGCIdBase::isForward
bool isForward(void) const
Definition: TGCIdBase.cxx:61
MuonTGC_Cabling::TGCId::NumberOfOctant
@ NumberOfOctant
Definition: TGCId.h:48
MuonTGC_Cabling::TGCId::setBunch
void setBunch(int bunch)
Definition: TGCId.cxx:226
MuonTGC_Cabling::TGCId::setStation
void setStation(int station)
Definition: TGCId.cxx:103
TGCIdBase::SI
@ SI
Definition: TGCIdBase.h:33
MuonTGC_Cabling::TGCId::setChannel
virtual void setChannel(int channel)
Definition: TGCId.cxx:218
TGCIdBase::WD
@ WD
Definition: TGCIdBase.h:33
MuonTGC_Cabling::TGCId::setLayer
void setLayer(int layer)
Definition: TGCId.cxx:184
TGCIdBase::MultipletType
MultipletType
Definition: TGCIdBase.h:37
v_layer
std::vector< short > v_layer
Definition: LArNoiseBursts.cxx:72
MuonTGC_Cabling::TGCId::m_sectorRO
int m_sectorRO
Definition: TGCId.h:86