ATLAS Offline Software
Loading...
Searching...
No Matches
MuonTGC_Cabling::TGCChannelSLBIn Class Reference

#include <TGCChannelSLBIn.h>

Inheritance diagram for MuonTGC_Cabling::TGCChannelSLBIn:
Collaboration diagram for MuonTGC_Cabling::TGCChannelSLBIn:

Public Types

enum  CellType {
  NoCellType = -1 , CellTrig = 0 , CellA = 1 , CellB = 2 ,
  CellC = 3 , CellD = 4 , MaxCellType
}
enum class  ChannelIdType {
  NoChannelIdType , ASDIn , ASDOut , PPIn ,
  PPOut , SLBIn , SLBOut , HPBIn
}
enum class  IdType { NoIdType , Channel , Module , MaxIdType }
enum  SideType { NoSideType = -1 , Aside , Cside , MaxSideType }
enum  ModuleType {
  NoModuleType = -1 , WD , SD , WT ,
  ST , WI , SI , MaxModuleType
}
enum  SignalType { NoSignalType = -1 , Wire , Strip , MaxSignalType }
enum  MultipletType {
  NoMultipletType = -1 , Doublet , Triplet , Inner ,
  MaxChamberType
}
enum  RegionType { NoRegionType = -1 , Endcap , Forward , MaxRegionType }

Public Member Functions

 TGCChannelSLBIn (TGCId::SideType side, TGCId::ModuleType module, TGCId::RegionType region, int sector, int id, int channel)
virtual ~TGCChannelSLBIn ()=default
virtual std::unique_ptr< TGCModuleIdgetModule () const override
virtual bool isValid () const override
virtual CellType getCellType () const
virtual int getChannelInCell () const
virtual int getChannelInSLB () const
virtual void setChannel (int channel) override
virtual bool operator== (const TGCChannelId &channelId) const
ChannelIdType getChannelIdType () const
int getLayer () const
int getBlock () const
int getChannel () const
virtual int getGasGap () const
void setChannelIdType (ChannelIdType type)
void setLayer (int layer)
virtual void setBlock (int block)
bool isBackward () const
IdType getIdType () const
SideType getSideType () const
ModuleType getModuleType () const
SignalType getSignalType () const
MultipletType getMultipletType () const
RegionType getRegionType () const
int getSectorInReadout () const
virtual int getSectorInOctant () const
virtual int getSectorModule () const
int getStation () const
int getOctant () const
virtual int getSector () const
int getChamber () const
int getId () const
bool isAside () const
bool isCside () const
bool isStrip () const
bool isWire () const
bool isTriplet () const
bool isDoublet () const
bool isInner () const
bool isForward () const
bool isEndcap () const
void setSideType (SideType side)
void setModuleType (ModuleType module)
void setSignalType (SignalType signal)
void setMultipletType (MultipletType multiplet)
void setRegionType (RegionType region)
virtual void setStation (int vstation)
virtual void setOctant (int voctant)
virtual void setSector (int vsector)
virtual void setChamber (int chamber)
void setId (int id)

Static Public Member Functions

static int convertChannelInCell (int channel)
static CellType convertCellType (int channel)
static int convertChannelInSLB (TGCId::ModuleType moduleType, CellType cellType, int channel)
static int convertChannel (TGCId::ModuleType moduleType, CellType cellType, int channelInSLB)
static int getLengthOfCell (CellType cellType)
static int getOffsetOfCell (CellType cellType)
static int getLengthOfSLB (TGCId::ModuleType moduleType, CellType cellType)
static int getAdjacentOfCell (CellType cellType)
static int getAdjacentOfSLB (TGCId::ModuleType moduleType, CellType cellType)

Static Public Attributes

static constexpr int NUM_STATIONS = 4
 in ChannelId
static constexpr int NUM_LAYERS
static constexpr int NUM_OCTANT = 8
static constexpr int NUM_ENDCAP_SECTOR = 48
static constexpr int NUM_FORWARD_SECTOR = 24
static constexpr int NUM_INNER_SECTOR = 24
static constexpr int N_RODS = 12

Protected Member Functions

void setIdType (IdType idtype)
void setReadoutSector (int sector)
void setSectorModule (int sectorModule)

Protected Attributes

ChannelIdType m_channelType {ChannelIdType::NoChannelIdType}
int m_layer {-1}
int m_block {-1}
int m_channel {-1}
SideType m_side {NoSideType}
ModuleType m_module {NoModuleType}
SignalType m_signal {NoSignalType}
MultipletType m_multiplet {NoMultipletType}
RegionType m_region {NoRegionType}
int m_station {-1}
int m_octant {-1}
int m_sector {-1}
int m_chamber {-1}
int m_id {-1}

Private Member Functions

 TGCChannelSLBIn ()

Private Attributes

CellType m_cellType
int m_channelInCell = 0
int m_channelInSLB = 0
IdType m_idType {IdType::NoIdType}

Static Private Attributes

static const int s_lengthCell [] = {40, 36, 36, 44, 44}
static const int s_offsetCell [] = {0, 40, 76, 112, 156}
static const int s_lengthWD [] = {40, 36, 36, 44, 44}
static const int s_lengthSD [] = {40, 32, 32, 32, 32}
static const int s_lengthWT [] = {40, 36, 36, 36, 36}
static const int s_lengthST [] = {40, 32, 32, 32, 32}
static const int s_adjacentCell [] = {0, 2, 2, 6, 6}
static const int s_adjacentWD [] = {0, 2, 2, 6, 6}
static const int s_adjacentSD [] = {0, 0, 0, 0, 0}
static const int s_adjacentWT [] = {0, 2, 2, 2, 2}
static const int s_adjacentST [] = {0, 0, 0, 0, 0}

Detailed Description

Definition at line 12 of file TGCChannelSLBIn.h.

Member Enumeration Documentation

◆ CellType

◆ ChannelIdType

Enumerator
NoChannelIdType 
ASDIn 
ASDOut 
PPIn 
PPOut 
SLBIn 
SLBOut 
HPBIn 

Definition at line 19 of file TGCChannelId.h.

19 {
20 NoChannelIdType,
21 ASDIn,
22 ASDOut,
23 PPIn,
24 PPOut,
25 SLBIn,
26 SLBOut,
27 HPBIn
28 };

◆ IdType

enum class MuonTGC_Cabling::TGCId::IdType
stronginherited
Enumerator
NoIdType 
Channel 
Module 
MaxIdType 

Definition at line 12 of file TGCId.h.

12{ NoIdType, Channel, Module, MaxIdType };
Identifier32::value_type Channel

◆ ModuleType

Enumerator
NoModuleType 
WD 
SD 
WT 
ST 
WI 
SI 
MaxModuleType 

Definition at line 47 of file TGCId.h.

◆ MultipletType

Enumerator
NoMultipletType 
Doublet 
Triplet 
Inner 
MaxChamberType 

Definition at line 58 of file TGCId.h.

◆ RegionType

Enumerator
NoRegionType 
Endcap 
Forward 
MaxRegionType 

Definition at line 65 of file TGCId.h.

◆ SideType

Enumerator
NoSideType 
Aside 
Cside 
MaxSideType 

Definition at line 46 of file TGCId.h.

◆ SignalType

Enumerator
NoSignalType 
Wire 
Strip 
MaxSignalType 

Definition at line 57 of file TGCId.h.

Constructor & Destructor Documentation

◆ TGCChannelSLBIn() [1/2]

MuonTGC_Cabling::TGCChannelSLBIn::TGCChannelSLBIn ( TGCId::SideType side,
TGCId::ModuleType module,
TGCId::RegionType region,
int sector,
int id,
int channel )

Definition at line 27 of file TGCChannelSLBIn.cxx.

32 setSideType(vside);
33 setModuleType(vmodule);
34 setRegionType(vregion);
35 setSector(vsector);
36 setId(vid);
38}
TGCChannelId(ChannelIdType type=ChannelIdType::NoChannelIdType)
virtual void setChannel(int channel) override
void setSideType(SideType side)
Definition TGCId.h:194
void setRegionType(RegionType region)
Definition TGCId.h:198
void setId(int id)
Definition TGCId.h:206
virtual void setSector(int vsector)
Definition TGCId.cxx:127
void setModuleType(ModuleType module)
Definition TGCId.cxx:39

◆ ~TGCChannelSLBIn()

virtual MuonTGC_Cabling::TGCChannelSLBIn::~TGCChannelSLBIn ( )
virtualdefault

◆ TGCChannelSLBIn() [2/2]

MuonTGC_Cabling::TGCChannelSLBIn::TGCChannelSLBIn ( )
inlineprivate

Definition at line 74 of file TGCChannelSLBIn.h.

74{}

Member Function Documentation

◆ convertCellType()

TGCChannelSLBIn::CellType MuonTGC_Cabling::TGCChannelSLBIn::convertCellType ( int channel)
static

Definition at line 156 of file TGCChannelSLBIn.cxx.

156 {
157 if (channel >= getOffsetOfCell(CellTrig) &&
159 return CellTrig;
160 }
161 if (channel >= getOffsetOfCell(CellA) &&
163 return CellA;
164 }
165 if (channel >= getOffsetOfCell(CellB) &&
167 return CellB;
168 }
169 if (channel >= getOffsetOfCell(CellC) &&
171 return CellC;
172 }
173 if (channel >= getOffsetOfCell(CellD) &&
175 return CellD;
176 }
177 return NoCellType;
178}
static int getLengthOfCell(CellType cellType)
static int getOffsetOfCell(CellType cellType)

◆ convertChannel()

int MuonTGC_Cabling::TGCChannelSLBIn::convertChannel ( TGCId::ModuleType moduleType,
CellType cellType,
int channelInSLB )
static

Definition at line 191 of file TGCChannelSLBIn.cxx.

192 {
193 const int adjacentSLB = getAdjacentOfSLB(moduleType, cellType);
194 if (adjacentSLB == -1) {
195 throw std::out_of_range(
196 "adjacentSLB is -1 in TGCChannelSLBIn::convertChannel");
197 }
198 int offset = getAdjacentOfCell(cellType) - adjacentSLB;
199 return getOffsetOfCell(cellType) + offset + channelInSLB;
200}
static int getAdjacentOfSLB(TGCId::ModuleType moduleType, CellType cellType)
static int getAdjacentOfCell(CellType cellType)

◆ convertChannelInCell()

int MuonTGC_Cabling::TGCChannelSLBIn::convertChannelInCell ( int channel)
static

Definition at line 132 of file TGCChannelSLBIn.cxx.

132 {
133 if (channel >= getOffsetOfCell(CellTrig) &&
136 }
137 if (channel >= getOffsetOfCell(CellA) &&
139 return channel - getOffsetOfCell(CellA);
140 }
141 if (channel >= getOffsetOfCell(CellB) &&
143 return channel - getOffsetOfCell(CellB);
144 }
145 if (channel >= getOffsetOfCell(CellC) &&
147 return channel - getOffsetOfCell(CellC);
148 }
149 if (channel >= getOffsetOfCell(CellD) &&
151 return channel - getOffsetOfCell(CellD);
152 }
153 return -1;
154}

◆ convertChannelInSLB()

int MuonTGC_Cabling::TGCChannelSLBIn::convertChannelInSLB ( TGCId::ModuleType moduleType,
CellType cellType,
int channel )
static

Definition at line 180 of file TGCChannelSLBIn.cxx.

181 {
182 const int adjacentSLB = getAdjacentOfSLB(moduleType, cellType);
183 if (adjacentSLB == -1) {
184 throw std::out_of_range(
185 "adjacentSLB is -1 in TGCChannelSLBIn::convertChannelInSLB");
186 }
187 int offset = getAdjacentOfCell(cellType) - adjacentSLB;
188 return channel - offset;
189}

◆ getAdjacentOfCell()

int MuonTGC_Cabling::TGCChannelSLBIn::getAdjacentOfCell ( CellType cellType)
static

Definition at line 105 of file TGCChannelSLBIn.cxx.

105 {
106 checkCellType(cellType, __func__);
107 return s_adjacentCell[cellType];
108}

◆ getAdjacentOfSLB()

int MuonTGC_Cabling::TGCChannelSLBIn::getAdjacentOfSLB ( TGCId::ModuleType moduleType,
CellType cellType )
static

Definition at line 110 of file TGCChannelSLBIn.cxx.

111 {
112 checkCellType(cellType, __func__);
113 switch (moduleType) {
114 case TGCId::WD:
115 return s_adjacentWD[cellType];
116 case TGCId::SD:
117 return s_adjacentSD[cellType];
118 case TGCId::WT:
119 return s_adjacentWT[cellType];
120 case TGCId::ST:
121 return s_adjacentST[cellType];
122 case TGCId::WI:
123 return s_adjacentST[cellType];
124 case TGCId::SI:
125 return s_adjacentST[cellType];
126 default:
127 break;
128 }
129 return -1;
130}

◆ getBlock()

int MuonTGC_Cabling::TGCChannelId::getBlock ( ) const
inherited

Definition at line 32 of file TGCChannelId.cxx.

32 {
33 return m_block;
34}

◆ getCellType()

virtual CellType MuonTGC_Cabling::TGCChannelSLBIn::getCellType ( ) const
inlinevirtual

Definition at line 49 of file TGCChannelSLBIn.h.

◆ getChamber()

int MuonTGC_Cabling::TGCId::getChamber ( ) const
inlineinherited

Definition at line 159 of file TGCId.h.

159 {
160 return m_chamber;
161}

◆ getChannel()

int MuonTGC_Cabling::TGCChannelId::getChannel ( ) const
inherited

Definition at line 35 of file TGCChannelId.cxx.

35 {
36 return m_channel;
37}

◆ getChannelIdType()

TGCChannelId::ChannelIdType MuonTGC_Cabling::TGCChannelId::getChannelIdType ( ) const
inherited

Definition at line 26 of file TGCChannelId.cxx.

26 {
27 return m_channelType;
28}

◆ getChannelInCell()

int MuonTGC_Cabling::TGCChannelSLBIn::getChannelInCell ( ) const
virtual

Definition at line 202 of file TGCChannelSLBIn.cxx.

202 {
203 return m_channelInCell;
204}

◆ getChannelInSLB()

int MuonTGC_Cabling::TGCChannelSLBIn::getChannelInSLB ( ) const
virtual

Definition at line 206 of file TGCChannelSLBIn.cxx.

206 {
207 return m_channelInSLB;
208}

◆ getGasGap()

int MuonTGC_Cabling::TGCChannelId::getGasGap ( ) const
virtualinherited

Definition at line 39 of file TGCChannelId.cxx.

39 {
40 if (getLayer() == 0 || getLayer() == 3 || getLayer() == 5 ||
41 getLayer() == 7) {
42 return 1;
43 }
44 if (getLayer() == 1 || getLayer() == 4 || getLayer() == 6 ||
45 getLayer() == 8) {
46 return 2;
47 }
48 if (getLayer() == 2) {
49 return 3;
50 }
51 return -1;
52}

◆ getId()

int MuonTGC_Cabling::TGCId::getId ( ) const
inlineinherited

Definition at line 162 of file TGCId.h.

162 {
163 return m_id;
164}

◆ getIdType()

TGCId::IdType MuonTGC_Cabling::TGCId::getIdType ( ) const
inlineinherited

Definition at line 131 of file TGCId.h.

131 {
132 return m_idType;
133}

◆ getLayer()

int MuonTGC_Cabling::TGCChannelId::getLayer ( ) const
inherited

Definition at line 29 of file TGCChannelId.cxx.

29 {
30 return m_layer;
31}

◆ getLengthOfCell()

int MuonTGC_Cabling::TGCChannelSLBIn::getLengthOfCell ( CellType cellType)
static

Definition at line 73 of file TGCChannelSLBIn.cxx.

73 {
74 checkCellType(cellType, __func__);
75 return s_lengthCell[cellType];
76}

◆ getLengthOfSLB()

int MuonTGC_Cabling::TGCChannelSLBIn::getLengthOfSLB ( TGCId::ModuleType moduleType,
CellType cellType )
static

Definition at line 83 of file TGCChannelSLBIn.cxx.

84 {
85 checkCellType(cellType, __func__);
86 switch (moduleType) {
87 case TGCId::WD:
88 return s_lengthWD[cellType];
89 case TGCId::SD:
90 return s_lengthSD[cellType];
91 case TGCId::WT:
92 return s_lengthWT[cellType];
93 case TGCId::ST:
94 return s_lengthST[cellType];
95 case TGCId::WI:
96 return s_lengthST[cellType];
97 case TGCId::SI:
98 return s_lengthST[cellType];
99 default:
100 break;
101 }
102 return -1;
103}

◆ getModule()

std::unique_ptr< TGCModuleId > MuonTGC_Cabling::TGCChannelSLBIn::getModule ( ) const
overridevirtual

Reimplemented from MuonTGC_Cabling::TGCChannelId.

Definition at line 40 of file TGCChannelSLBIn.cxx.

40 {
41 return std::make_unique<TGCModuleSLB>(
43}
ModuleType getModuleType() const
Definition TGCId.h:137
RegionType getRegionType() const
Definition TGCId.h:146
virtual int getSector() const
Definition TGCId.h:156
SideType getSideType() const
Definition TGCId.h:134
int getId() const
Definition TGCId.h:162

◆ getModuleType()

TGCId::ModuleType MuonTGC_Cabling::TGCId::getModuleType ( ) const
inlineinherited

Definition at line 137 of file TGCId.h.

137 {
138 return m_module;
139}
ModuleType m_module
Definition TGCId.h:116

◆ getMultipletType()

TGCId::MultipletType MuonTGC_Cabling::TGCId::getMultipletType ( ) const
inlineinherited

Definition at line 143 of file TGCId.h.

143 {
144 return m_multiplet;
145}
MultipletType m_multiplet
Definition TGCId.h:118

◆ getOctant()

int MuonTGC_Cabling::TGCId::getOctant ( ) const
inlineinherited

Definition at line 153 of file TGCId.h.

153 {
154 return m_octant;
155}

◆ getOffsetOfCell()

int MuonTGC_Cabling::TGCChannelSLBIn::getOffsetOfCell ( CellType cellType)
static

Definition at line 78 of file TGCChannelSLBIn.cxx.

78 {
79 checkCellType(cellType, __func__);
80 return s_offsetCell[cellType];
81}

◆ getRegionType()

TGCId::RegionType MuonTGC_Cabling::TGCId::getRegionType ( ) const
inlineinherited

Definition at line 146 of file TGCId.h.

146 {
147 return m_region;
148}
RegionType m_region
Definition TGCId.h:119

◆ getSector()

int MuonTGC_Cabling::TGCId::getSector ( ) const
inlinevirtualinherited

Reimplemented in MuonTGC_Cabling::TGCChannelASDIn.

Definition at line 156 of file TGCId.h.

156 {
157 return m_sector;
158}

◆ getSectorInOctant()

int MuonTGC_Cabling::TGCId::getSectorInOctant ( ) const
virtualinherited

Definition at line 13 of file TGCId.cxx.

13 {
14 if (isInner()) {
16 }
17 if (isEndcap()) {
19 }
20 if (isForward()) {
22 }
23 return -1;
24}
bool isEndcap() const
Definition TGCId.h:190
bool isForward() const
Definition TGCId.h:187
static constexpr int NUM_INNER_SECTOR
Definition TGCId.h:43
static constexpr int NUM_ENDCAP_SECTOR
Definition TGCId.h:41
bool isInner() const
Definition TGCId.h:184
static constexpr int NUM_OCTANT
Definition TGCId.h:40
static constexpr int NUM_FORWARD_SECTOR
Definition TGCId.h:42

◆ getSectorInReadout()

int MuonTGC_Cabling::TGCId::getSectorInReadout ( ) const
inherited

Definition at line 26 of file TGCId.cxx.

26 {
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}
static constexpr int N_RODS
Definition TGCId.h:44

◆ getSectorModule()

int MuonTGC_Cabling::TGCId::getSectorModule ( ) const
virtualinherited

Definition at line 144 of file TGCId.cxx.

144 {
145 if (m_sector == -1) {
146 return -1;
147 }
148
149 static const int moduleEndcap[6] = {0, 1, 3, 4, 6, 7};
150 static const int moduleForward[3] = {2, 5, 8};
151 static const int moduleEI[3] = {9, 10, 11};
152 static const int moduleFI[3] = {12, 13, 14};
153
154 if (isEndcap()) {
155 if (isInner()) {
156 return moduleEI[getSectorInOctant()];
157 }
158 return moduleEndcap[getSectorInOctant()];
159 }
160 if (isForward()) {
161 if (isInner()) {
162 return moduleFI[getSectorInOctant()];
163 }
164 return moduleForward[getSectorInOctant()];
165 }
166 return -1;
167}
virtual int getSectorInOctant() const
Definition TGCId.cxx:13

◆ getSideType()

TGCId::SideType MuonTGC_Cabling::TGCId::getSideType ( ) const
inlineinherited

Definition at line 134 of file TGCId.h.

134 {
135 return m_side;
136}

◆ getSignalType()

TGCId::SignalType MuonTGC_Cabling::TGCId::getSignalType ( ) const
inlineinherited

Definition at line 140 of file TGCId.h.

140 {
141 return m_signal;
142}
SignalType m_signal
Definition TGCId.h:117

◆ getStation()

int MuonTGC_Cabling::TGCId::getStation ( ) const
inlineinherited

Definition at line 150 of file TGCId.h.

150 {
151 return m_station;
152}

◆ isAside()

bool MuonTGC_Cabling::TGCId::isAside ( ) const
inlineinherited

Definition at line 166 of file TGCId.h.

166 {
167 return (m_side == Aside);
168}

◆ isBackward()

bool MuonTGC_Cabling::TGCChannelId::isBackward ( ) const
inherited

Definition at line 89 of file TGCChannelId.cxx.

89 {
90 if (isEndcap()) {
91 if (!isInner()) {
92 if (isAside()) {
93 return (m_sector % 2 == 1);
94 } else {
95 return (m_sector % 2 == 0);
96 }
97 } else {
98 // EI
99 // Special case of EI11
100 if (m_sector == 15) {
101 if (isAside()) {
102 return false;
103 } else {
104 return true;
105 }
106 } else if (m_sector == 16) {
107 if (isAside()) {
108 return true;
109 } else {
110 return false;
111 }
112 } else {
113 // A-m_side phi0 F: phi1 F: phi2 B
114 // C-m_side phi0 B: phi1 B: phi2 F
115 if (isAside()) {
116 return (m_sector % 3 == 2);
117 } else {
118 return (m_sector % 3 != 2);
119 }
120 }
121 }
122 } else {
123 if (isAside()) {
124 return true; // all Backward
125 } else {
126 return false; // all Forward
127 }
128 }
129}
bool isAside() const
Definition TGCId.h:166

◆ isCside()

bool MuonTGC_Cabling::TGCId::isCside ( ) const
inlineinherited

Definition at line 169 of file TGCId.h.

169 {
170 return (m_side == Cside);
171}

◆ isDoublet()

bool MuonTGC_Cabling::TGCId::isDoublet ( ) const
inlineinherited

Definition at line 181 of file TGCId.h.

181 {
182 return (m_multiplet == Doublet);
183}

◆ isEndcap()

bool MuonTGC_Cabling::TGCId::isEndcap ( ) const
inlineinherited

Definition at line 190 of file TGCId.h.

190 {
191 return (m_region == Endcap);
192}

◆ isForward()

bool MuonTGC_Cabling::TGCId::isForward ( ) const
inlineinherited

Definition at line 187 of file TGCId.h.

187 {
188 return (m_region == Forward);
189}

◆ isInner()

bool MuonTGC_Cabling::TGCId::isInner ( ) const
inlineinherited

Definition at line 184 of file TGCId.h.

184 {
185 return (m_multiplet == Inner);
186}

◆ isStrip()

bool MuonTGC_Cabling::TGCId::isStrip ( ) const
inlineinherited

Definition at line 172 of file TGCId.h.

172 {
173 return (m_signal == Strip);
174}

◆ isTriplet()

bool MuonTGC_Cabling::TGCId::isTriplet ( ) const
inlineinherited

Definition at line 178 of file TGCId.h.

178 {
179 return (m_multiplet == Triplet);
180}

◆ isValid()

bool MuonTGC_Cabling::TGCChannelSLBIn::isValid ( ) const
overridevirtual

Reimplemented from MuonTGC_Cabling::TGCChannelId.

Definition at line 45 of file TGCChannelSLBIn.cxx.

45 {
52 (getOctant() < 8) && (getId() >= 0) && (getChannel() >= 0) &&
54 (m_channelInSLB >= 0)) {
55 return true;
56 }
57 return false;
58}
virtual CellType getCellType() const
static int getLengthOfSLB(TGCId::ModuleType moduleType, CellType cellType)
int getOctant() const
Definition TGCId.h:153

◆ isWire()

bool MuonTGC_Cabling::TGCId::isWire ( ) const
inlineinherited

Definition at line 175 of file TGCId.h.

175 {
176 return (m_signal == Wire);
177}

◆ operator==()

bool MuonTGC_Cabling::TGCChannelId::operator== ( const TGCChannelId & channelId) const
virtualinherited

Definition at line 9 of file TGCChannelId.cxx.

9 {
10 if ((this->getChannelIdType() == channelId.getChannelIdType()) &&
11 (this->getSideType() == channelId.getSideType()) &&
12 (this->getRegionType() == channelId.getRegionType()) &&
13 (this->getSignalType() == channelId.getSignalType()) &&
14 (this->getModuleType() == channelId.getModuleType()) &&
15 (this->getSector() == channelId.getSector()) &&
16 (this->getLayer() == channelId.getLayer()) &&
17 (this->getChamber() == channelId.getChamber()) &&
18 (this->getId() == channelId.getId()) &&
19 (this->getBlock() == channelId.getBlock()) &&
20 (this->getChannel() == channelId.getChannel())) {
21 return true;
22 }
23 return false;
24}
ChannelIdType getChannelIdType() const

◆ setBlock()

void MuonTGC_Cabling::TGCChannelId::setBlock ( int block)
virtualinherited

Definition at line 81 of file TGCChannelId.cxx.

81 {
82 m_block = block;
83}

◆ setChamber()

void MuonTGC_Cabling::TGCId::setChamber ( int chamber)
inlinevirtualinherited

Definition at line 202 of file TGCId.h.

202 {
204}

◆ setChannel()

void MuonTGC_Cabling::TGCChannelSLBIn::setChannel ( int channel)
overridevirtual

Reimplemented from MuonTGC_Cabling::TGCChannelId.

Definition at line 210 of file TGCChannelSLBIn.cxx.

210 {
211 TGCChannelId::setChannel(vchannel);
212 m_cellType = convertCellType(vchannel);
216}
virtual void setChannel(int channel)
static int convertChannelInSLB(TGCId::ModuleType moduleType, CellType cellType, int channel)
static int convertChannelInCell(int channel)
static CellType convertCellType(int channel)

◆ setChannelIdType()

void MuonTGC_Cabling::TGCChannelId::setChannelIdType ( ChannelIdType type)
inherited

Definition at line 54 of file TGCChannelId.cxx.

54 {
55 m_channelType = idtype;
56}

◆ setId()

void MuonTGC_Cabling::TGCId::setId ( int id)
inlineinherited

Definition at line 206 of file TGCId.h.

◆ setIdType()

void MuonTGC_Cabling::TGCId::setIdType ( IdType idtype)
inlineprotectedinherited

Definition at line 210 of file TGCId.h.

210 {
211 m_idType = idtype;
212}

◆ setLayer()

void MuonTGC_Cabling::TGCChannelId::setLayer ( int layer)
inherited

Definition at line 58 of file TGCChannelId.cxx.

58 {
60 if (m_layer >= 0 && m_layer <= 2) {
62 setStation(0);
63 }
64 if (m_layer >= 3 && m_layer <= 4) {
66 setStation(1);
67 }
68 if (m_layer >= 5 && m_layer <= 6) {
70 setStation(2);
71 }
72 if (m_layer >= 7 && m_layer <= 8) {
74 setStation(3);
75 if (m_sector != -1) {
76 m_octant = m_sector / 3;
77 }
78 }
79}
std::vector< short > v_layer
virtual void setStation(int vstation)
Definition TGCId.cxx:111
void setMultipletType(MultipletType multiplet)
Definition TGCId.cxx:89

◆ setModuleType()

void MuonTGC_Cabling::TGCId::setModuleType ( ModuleType module)
inherited

Definition at line 39 of file TGCId.cxx.

39 {
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}
void setSignalType(SignalType signal)
Definition TGCId.cxx:67

◆ setMultipletType()

void MuonTGC_Cabling::TGCId::setMultipletType ( MultipletType multiplet)
inherited

Definition at line 89 of file TGCId.cxx.

89 {
90 this->m_multiplet = v_multiplet;
91 if (m_multiplet == Inner && m_signal == Wire) {
92 m_module = WI;
93 }
94 if (m_multiplet == Inner && m_signal == Strip) {
95 m_module = SI;
96 }
97 if (m_multiplet == Doublet && m_signal == Wire) {
98 m_module = WD;
99 }
100 if (m_multiplet == Doublet && m_signal == Strip) {
101 m_module = SD;
102 }
103 if (m_multiplet == Triplet && m_signal == Wire) {
104 m_module = WT;
105 }
106 if (m_multiplet == Triplet && m_signal == Strip) {
107 m_module = ST;
108 }
109}

◆ setOctant()

void MuonTGC_Cabling::TGCId::setOctant ( int voctant)
virtualinherited

Definition at line 140 of file TGCId.cxx.

140 {
141 m_octant = v_octant;
142}

◆ setReadoutSector()

void MuonTGC_Cabling::TGCId::setReadoutSector ( int sector)
protectedinherited

◆ setRegionType()

void MuonTGC_Cabling::TGCId::setRegionType ( RegionType region)
inlineinherited

Definition at line 198 of file TGCId.h.

198 {
199 m_region = region;
200}

◆ setSector()

void MuonTGC_Cabling::TGCId::setSector ( int vsector)
virtualinherited

Reimplemented in MuonTGC_Cabling::TGCChannelASDIn, and MuonTGC_Cabling::TGCModuleId.

Definition at line 127 of file TGCId.cxx.

127 {
128 m_sector = v_sector;
129 if (m_region == Endcap) {
130 if (m_multiplet == Inner) {
132 } else {
134 }
135 } else if (m_region == Forward) {
137 }
138}

◆ setSectorModule()

void MuonTGC_Cabling::TGCId::setSectorModule ( int sectorModule)
protectedinherited

Definition at line 170 of file TGCId.cxx.

170 {
171 if (m_octant < 0) {
172 return;
173 }
174
175 const int MaxModuleInOctant = 15;
176 static const int regionId[MaxModuleInOctant] = {0, 0, 1, 0, 0, 1, 0, 0,
177 1, 2, 2, 2, 3, 3, 3};
178 static const int sectorId[MaxModuleInOctant] = {0, 1, 0, 2, 3, 1, 4, 5,
179 2, 0, 1, 2, 0, 1, 2};
180
181 if (sectorModule < 0 || sectorModule >= MaxModuleInOctant) {
182 return;
183 }
184
185 if (regionId[sectorModule] == 0) {
187 setSector(sectorId[sectorModule] +
189
190 } else if (regionId[sectorModule] == 1) {
192 setSector(sectorId[sectorModule] +
194 } else {
196 if (regionId[sectorModule] == 2) {
198 }
199 if (regionId[sectorModule] == 3) {
201 }
202 setSector(sectorId[sectorModule] +
204 }
205}

◆ setSideType()

void MuonTGC_Cabling::TGCId::setSideType ( SideType side)
inlineinherited

Definition at line 194 of file TGCId.h.

194 {
195 m_side = side;
196}

◆ setSignalType()

void MuonTGC_Cabling::TGCId::setSignalType ( SignalType signal)
inherited

Definition at line 67 of file TGCId.cxx.

67 {
68 m_signal = v_signal;
69 if (m_multiplet == Inner && m_signal == Wire) {
70 m_module = WI;
71 }
72 if (m_multiplet == Inner && m_signal == Strip) {
73 m_module = SI;
74 }
75 if (m_multiplet == Doublet && m_signal == Wire) {
76 m_module = WD;
77 }
78 if (m_multiplet == Doublet && m_signal == Strip) {
79 m_module = SD;
80 }
81 if (m_multiplet == Triplet && m_signal == Wire) {
82 m_module = WT;
83 }
84 if (m_multiplet == Triplet && m_signal == Strip) {
85 m_module = ST;
86 }
87}

◆ setStation()

void MuonTGC_Cabling::TGCId::setStation ( int vstation)
virtualinherited

Definition at line 111 of file TGCId.cxx.

111 {
112 m_station = v_station;
113 if (m_station == 0) {
115 }
116 if (m_station == 1) {
118 }
119 if (m_station == 2) {
121 }
122 if (m_station == 3) {
124 }
125}

Member Data Documentation

◆ m_block

int MuonTGC_Cabling::TGCChannelId::m_block {-1}
protectedinherited

Definition at line 59 of file TGCChannelId.h.

59{-1};

◆ m_cellType

CellType MuonTGC_Cabling::TGCChannelSLBIn::m_cellType
private

Definition at line 58 of file TGCChannelSLBIn.h.

◆ m_chamber

int MuonTGC_Cabling::TGCId::m_chamber {-1}
protectedinherited

Definition at line 124 of file TGCId.h.

124{-1};

◆ m_channel

int MuonTGC_Cabling::TGCChannelId::m_channel {-1}
protectedinherited

Definition at line 60 of file TGCChannelId.h.

60{-1};

◆ m_channelInCell

int MuonTGC_Cabling::TGCChannelSLBIn::m_channelInCell = 0
private

Definition at line 59 of file TGCChannelSLBIn.h.

◆ m_channelInSLB

int MuonTGC_Cabling::TGCChannelSLBIn::m_channelInSLB = 0
private

Definition at line 60 of file TGCChannelSLBIn.h.

◆ m_channelType

ChannelIdType MuonTGC_Cabling::TGCChannelId::m_channelType {ChannelIdType::NoChannelIdType}
protectedinherited

◆ m_id

int MuonTGC_Cabling::TGCId::m_id {-1}
protectedinherited

Definition at line 125 of file TGCId.h.

125{-1};

◆ m_idType

IdType MuonTGC_Cabling::TGCId::m_idType {IdType::NoIdType}
privateinherited

Definition at line 128 of file TGCId.h.

◆ m_layer

int MuonTGC_Cabling::TGCChannelId::m_layer {-1}
protectedinherited

Definition at line 58 of file TGCChannelId.h.

58{-1};

◆ m_module

ModuleType MuonTGC_Cabling::TGCId::m_module {NoModuleType}
protectedinherited

Definition at line 116 of file TGCId.h.

◆ m_multiplet

MultipletType MuonTGC_Cabling::TGCId::m_multiplet {NoMultipletType}
protectedinherited

Definition at line 118 of file TGCId.h.

◆ m_octant

int MuonTGC_Cabling::TGCId::m_octant {-1}
protectedinherited

Definition at line 122 of file TGCId.h.

122{-1};

◆ m_region

RegionType MuonTGC_Cabling::TGCId::m_region {NoRegionType}
protectedinherited

Definition at line 119 of file TGCId.h.

◆ m_sector

int MuonTGC_Cabling::TGCId::m_sector {-1}
protectedinherited

Definition at line 123 of file TGCId.h.

123{-1};

◆ m_side

SideType MuonTGC_Cabling::TGCId::m_side {NoSideType}
protectedinherited

Definition at line 115 of file TGCId.h.

115{NoSideType};

◆ m_signal

SignalType MuonTGC_Cabling::TGCId::m_signal {NoSignalType}
protectedinherited

Definition at line 117 of file TGCId.h.

◆ m_station

int MuonTGC_Cabling::TGCId::m_station {-1}
protectedinherited

Definition at line 121 of file TGCId.h.

121{-1};

◆ N_RODS

int MuonTGC_Cabling::TGCId::N_RODS = 12
staticconstexprinherited

Definition at line 44 of file TGCId.h.

◆ NUM_ENDCAP_SECTOR

int MuonTGC_Cabling::TGCId::NUM_ENDCAP_SECTOR = 48
staticconstexprinherited

Definition at line 41 of file TGCId.h.

◆ NUM_FORWARD_SECTOR

int MuonTGC_Cabling::TGCId::NUM_FORWARD_SECTOR = 24
staticconstexprinherited

Definition at line 42 of file TGCId.h.

◆ NUM_INNER_SECTOR

int MuonTGC_Cabling::TGCId::NUM_INNER_SECTOR = 24
staticconstexprinherited

Definition at line 43 of file TGCId.h.

◆ NUM_LAYERS

int MuonTGC_Cabling::TGCId::NUM_LAYERS
staticconstexprinherited
Initial value:
=
9

Definition at line 38 of file TGCId.h.

◆ NUM_OCTANT

int MuonTGC_Cabling::TGCId::NUM_OCTANT = 8
staticconstexprinherited

Definition at line 40 of file TGCId.h.

◆ NUM_STATIONS

int MuonTGC_Cabling::TGCId::NUM_STATIONS = 4
staticconstexprinherited

in ChannelId

Definition at line 37 of file TGCId.h.

◆ s_adjacentCell

const int MuonTGC_Cabling::TGCChannelSLBIn::s_adjacentCell = {0, 2, 2, 6, 6}
staticprivate

Definition at line 68 of file TGCChannelSLBIn.h.

◆ s_adjacentSD

const int MuonTGC_Cabling::TGCChannelSLBIn::s_adjacentSD = {0, 0, 0, 0, 0}
staticprivate

Definition at line 70 of file TGCChannelSLBIn.h.

◆ s_adjacentST

const int MuonTGC_Cabling::TGCChannelSLBIn::s_adjacentST = {0, 0, 0, 0, 0}
staticprivate

Definition at line 72 of file TGCChannelSLBIn.h.

◆ s_adjacentWD

const int MuonTGC_Cabling::TGCChannelSLBIn::s_adjacentWD = {0, 2, 2, 6, 6}
staticprivate

Definition at line 69 of file TGCChannelSLBIn.h.

◆ s_adjacentWT

const int MuonTGC_Cabling::TGCChannelSLBIn::s_adjacentWT = {0, 2, 2, 2, 2}
staticprivate

Definition at line 71 of file TGCChannelSLBIn.h.

◆ s_lengthCell

const int MuonTGC_Cabling::TGCChannelSLBIn::s_lengthCell = {40, 36, 36, 44, 44}
staticprivate

Definition at line 62 of file TGCChannelSLBIn.h.

◆ s_lengthSD

const int MuonTGC_Cabling::TGCChannelSLBIn::s_lengthSD = {40, 32, 32, 32, 32}
staticprivate

Definition at line 65 of file TGCChannelSLBIn.h.

◆ s_lengthST

const int MuonTGC_Cabling::TGCChannelSLBIn::s_lengthST = {40, 32, 32, 32, 32}
staticprivate

Definition at line 67 of file TGCChannelSLBIn.h.

◆ s_lengthWD

const int MuonTGC_Cabling::TGCChannelSLBIn::s_lengthWD = {40, 36, 36, 44, 44}
staticprivate

Definition at line 64 of file TGCChannelSLBIn.h.

◆ s_lengthWT

const int MuonTGC_Cabling::TGCChannelSLBIn::s_lengthWT = {40, 36, 36, 36, 36}
staticprivate

Definition at line 66 of file TGCChannelSLBIn.h.

◆ s_offsetCell

const int MuonTGC_Cabling::TGCChannelSLBIn::s_offsetCell = {0, 40, 76, 112, 156}
staticprivate

Definition at line 63 of file TGCChannelSLBIn.h.


The documentation for this class was generated from the following files: