Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TGCId.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 namespace MuonTGC_Cabling {
8 
10  m_idType = vtype;
11 }
12 
14  if(isInner()){
16  }
17  if(isEndcap()){
19  }
20  if(isForward()){
22  }
23  return -1;
24 }
25 
27  if(isInner()){
28  return getSector() % (NUM_INNER_SECTOR/N_RODS);
29  }
30  if(isEndcap()){
31  return getSector() % (NUM_ENDCAP_SECTOR/N_RODS);
32  }
33  if(isForward()){
34  return getSector() % (NUM_FORWARD_SECTOR/N_RODS);
35  }
36  return -1;
37 }
38 
40  m_module=v_module;
41  if(m_module==WI){
44  }
45  if(m_module==SI){
48  }
49  if(m_module==WD){
52  }
53  if(m_module==SD){
56  }
57  if(m_module==WT){
60  }
61  if(m_module==ST){
64  }
65 }
66 
68  m_signal = v_signal;
75 }
76 
78  this->m_multiplet = v_multiplet;
85 }
86 
87 void TGCId::setStation(int v_station) {
88  m_station = v_station;
93 }
94 
95 void TGCId::setSector(int v_sector) {
96  m_sector = v_sector;
97  if(m_region==Endcap) {
98  if(m_multiplet==Inner) {
100  } else {
102  }
103  } else if(m_region==Forward) {
105  }
106 }
107 
108 void TGCId::setOctant(int v_octant) {
109  m_octant = v_octant;
110 }
111 
112 int TGCId::getSectorModule(void) const {
113  if(m_sector==-1) return -1;
114 
115  static const int moduleEndcap[6]={ 0, 1, 3, 4, 6, 7};
116  static const int moduleForward[3]={ 2, 5, 8};
117  static const int moduleEI[3]={ 9, 10, 11};
118  static const int moduleFI[3]={ 12, 13, 14};
119 
120  if(isEndcap()){
121  if(isInner()) return moduleEI[getSectorInOctant()];
122  return moduleEndcap[getSectorInOctant()];
123  }
124  if(isForward()){
125  if(isInner()) return moduleFI[getSectorInOctant()];
126  return moduleForward[getSectorInOctant()];
127  }
128  return -1;
129 }
130 
131 // before this method, set m_octant.
132 void TGCId::setSectorModule(int sectorModule) {
133  if(m_octant <0) return;
134 
135  const int MaxModuleInOctant = 15;
136  static const int regionId[MaxModuleInOctant] ={
137  0, 0, 1, 0, 0, 1, 0, 0, 1, 2, 2, 2, 3, 3, 3
138  } ;
139  static const int sectorId[MaxModuleInOctant] ={
140  0, 1, 0, 2, 3, 1, 4, 5, 2, 0, 1, 2, 0, 1, 2
141  };
142 
143  if(sectorModule< 0 || sectorModule>=MaxModuleInOctant) return;
144 
145  if(regionId[sectorModule]==0){
147  setSector(sectorId[sectorModule] + m_octant*(NUM_ENDCAP_SECTOR/NUM_OCTANT));
148 
149  } else if(regionId[sectorModule]==1){
151  setSector(sectorId[sectorModule] + m_octant*(NUM_FORWARD_SECTOR/NUM_OCTANT));
152  } else {
154  if(regionId[sectorModule]==2){ setRegionType(Endcap); }
155  if(regionId[sectorModule]==3){ setRegionType(Forward); }
156  setSector(sectorId[sectorModule] + m_octant*(NUM_INNER_SECTOR/NUM_OCTANT));
157  }
158 }
159 
160 
161 } // end of namespace
MuonTGC_Cabling::TGCId::m_station
int m_station
Definition: TGCId.h:110
MuonTGC_Cabling::TGCId::isEndcap
bool isEndcap() const
Definition: TGCId.h:141
MuonTGC_Cabling::TGCId::setRegionType
void setRegionType(RegionType region)
Definition: TGCId.h:147
MuonTGC_Cabling::TGCId::SI
@ SI
Definition: TGCId.h:47
MuonTGC_Cabling::TGCId::m_idType
IdType m_idType
Definition: TGCId.h:117
MuonTGC_Cabling::TGCId::m_module
ModuleType m_module
Definition: TGCId.h:105
MuonTGC_Cabling::TGCId::setMultipletType
void setMultipletType(MultipletType multiplet)
Definition: TGCId.cxx:77
ST
Definition: Electrons.cxx:41
MuonTGC_Cabling::TGCId::N_RODS
static constexpr int N_RODS
Definition: TGCId.h:43
MuonTGC_Cabling::TGCId::setSignalType
void setSignalType(SignalType signal)
Definition: TGCId.cxx:67
MuonTGC_Cabling::TGCId::setSector
virtual void setSector(int vsector)
Definition: TGCId.cxx:95
MuonTGC_Cabling::TGCId::setModuleType
void setModuleType(ModuleType module)
Definition: TGCId.cxx:39
MuonTGC_Cabling::TGCId::SignalType
SignalType
Definition: TGCId.h:49
MuonTGC_Cabling::TGCId::ModuleType
ModuleType
Definition: TGCId.h:47
MuonTGC_Cabling::TGCId::setSectorModule
void setSectorModule(int sectorModule)
Definition: TGCId.cxx:132
MuonTGC_Cabling::TGCId::NUM_INNER_SECTOR
static constexpr int NUM_INNER_SECTOR
Definition: TGCId.h:42
MuonTGC_Cabling::TGCId::getSectorInOctant
virtual int getSectorInOctant() const
Definition: TGCId.cxx:13
MuonTGC_Cabling::TGCId::isForward
bool isForward() const
Definition: TGCId.h:140
TGCId.h
MuonTGC_Cabling::TGCId::SD
@ SD
Definition: TGCId.h:47
MuonTGC_Cabling::TGCId::NUM_FORWARD_SECTOR
static constexpr int NUM_FORWARD_SECTOR
Definition: TGCId.h:41
MuonTGC_Cabling::TGCId::NUM_OCTANT
static constexpr int NUM_OCTANT
Definition: TGCId.h:39
MuonTGC_Cabling::TGCId::TGCId
TGCId(IdType vtype=IdType::NoIdType)
Definition: TGCId.cxx:9
MuonTGC_Cabling::TGCId::m_region
RegionType m_region
Definition: TGCId.h:108
MuonTGC_Cabling::TGCId::Doublet
@ Doublet
Definition: TGCId.h:51
MuonTGC_Cabling::TGCId::getSectorInReadout
int getSectorInReadout(void) const
Definition: TGCId.cxx:26
MuonTGC_Cabling::TGCId::m_sector
int m_sector
Definition: TGCId.h:112
MuonTGC_Cabling::TGCId::WT
@ WT
Definition: TGCId.h:47
MuonTGC_Cabling
Definition: TGCCable.h:13
MuonTGC_Cabling::TGCId::setStation
virtual void setStation(int vstation)
Definition: TGCId.cxx:87
MuonTGC_Cabling::TGCId::Strip
@ Strip
Definition: TGCId.h:49
MuonTGC_Cabling::TGCId::MultipletType
MultipletType
Definition: TGCId.h:51
MuonTGC_Cabling::TGCId::WD
@ WD
Definition: TGCId.h:47
MuonTGC_Cabling::TGCId::Inner
@ Inner
Definition: TGCId.h:51
MuonTGC_Cabling::TGCId::Endcap
@ Endcap
Definition: TGCId.h:53
MuonTGC_Cabling::TGCId::WI
@ WI
Definition: TGCId.h:47
MuonTGC_Cabling::TGCId::m_multiplet
MultipletType m_multiplet
Definition: TGCId.h:107
MuonTGC_Cabling::TGCId::ST
@ ST
Definition: TGCId.h:47
MuonTGC_Cabling::TGCId::getSector
virtual int getSector() const
Definition: TGCId.h:129
MuonTGC_Cabling::TGCId::isInner
bool isInner() const
Definition: TGCId.h:139
MuonTGC_Cabling::TGCId::NUM_ENDCAP_SECTOR
static constexpr int NUM_ENDCAP_SECTOR
Definition: TGCId.h:40
MuonTGC_Cabling::TGCId::Wire
@ Wire
Definition: TGCId.h:49
MuonTGC_Cabling::TGCId::Triplet
@ Triplet
Definition: TGCId.h:51
MuonTGC_Cabling::TGCId::m_octant
int m_octant
Definition: TGCId.h:111
MuonTGC_Cabling::TGCId::Forward
@ Forward
Definition: TGCId.h:53
MuonTGC_Cabling::TGCId::m_signal
SignalType m_signal
Definition: TGCId.h:106
MuonTGC_Cabling::TGCId::setOctant
virtual void setOctant(int voctant)
Definition: TGCId.cxx:108
MuonTGC_Cabling::TGCId::IdType
IdType
Definition: TGCId.h:12
MuonTGC_Cabling::TGCId::getSectorModule
virtual int getSectorModule() const
Definition: TGCId.cxx:112