ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MuonTGC_Cabling::TGCCableSLBToHPB Class Reference

#include <TGCCableSLBToHPB.h>

Inheritance diagram for MuonTGC_Cabling::TGCCableSLBToHPB:
Collaboration diagram for MuonTGC_Cabling::TGCCableSLBToHPB:

Public Types

enum  CableType {
  NoCableType =-1, InASD, ASDToPP, InPP,
  PPToSLB, InSLB, SLBToHPB, HPBToSL,
  SLBToSSW, SSWToROD, MaxCableType
}
 

Public Member Functions

 TGCCableSLBToHPB (const std::string &filename)
 
virtual ~TGCCableSLBToHPB (void)
 
virtual TGCChannelIdgetChannel (const TGCChannelId *channelId, bool orChannel=false) const
 
virtual TGCModuleMapgetModule (const TGCModuleId *moduleId) const
 
TGCChannelIdgetChannelInforHPB (const TGCChannelId *hpbin, TGCId::ModuleType moduleType, bool orChannel=false) const
 
CableType getCableType (void) const
 

Private Member Functions

 TGCCableSLBToHPB (void)
 
virtual TGCChannelIdgetChannelIn (const TGCChannelId *hpbin, bool orChannel=false) const
 
virtual TGCChannelIdgetChannelOut (const TGCChannelId *slbout, bool orChannel=false) const
 
virtual TGCModuleMapgetModuleIn (const TGCModuleId *hpb) const
 
virtual TGCModuleMapgetModuleInforHPB (const TGCModuleId *hpb, TGCId::ModuleType moduleType) const
 
virtual TGCModuleMapgetModuleOut (const TGCModuleId *slb) const
 

Private Attributes

TGCDatabasem_database [TGCId::MaxRegionType][TGCId::MaxModuleType] {}
 
CableType m_type
 

Detailed Description

Definition at line 18 of file TGCCableSLBToHPB.h.

Member Enumeration Documentation

◆ CableType

Enumerator
NoCableType 
InASD 
ASDToPP 
InPP 
PPToSLB 
InSLB 
SLBToHPB 
HPBToSL 
SLBToSSW 
SSWToROD 
MaxCableType 

Definition at line 18 of file TGCCable.h.

Constructor & Destructor Documentation

◆ TGCCableSLBToHPB() [1/2]

MuonTGC_Cabling::TGCCableSLBToHPB::TGCCableSLBToHPB ( const std::string &  filename)

Definition at line 16 of file TGCCableSLBToHPB.cxx.

18 {
20  new TGCDatabasePPToSL(filename,"SB EWT");
22  new TGCDatabasePPToSL(filename,"SB EWD");
24  new TGCDatabasePPToSL(filename,"SB EST");
26  new TGCDatabasePPToSL(filename,"SB ESD");
28  new TGCDatabasePPToSL(filename,"SB FWT");
30  new TGCDatabasePPToSL(filename,"SB FWD");
32  new TGCDatabasePPToSL(filename,"SB FST");
34  new TGCDatabasePPToSL(filename,"SB FSD");
35 }

◆ ~TGCCableSLBToHPB()

MuonTGC_Cabling::TGCCableSLBToHPB::~TGCCableSLBToHPB ( void  )
virtual

◆ TGCCableSLBToHPB() [2/2]

MuonTGC_Cabling::TGCCableSLBToHPB::TGCCableSLBToHPB ( void  )
inlineprivate

Definition at line 36 of file TGCCableSLBToHPB.h.

36 {}

Member Function Documentation

◆ getCableType()

CableType MuonTGC_Cabling::TGCCable::getCableType ( void  ) const
inlineinherited

Definition at line 30 of file TGCCable.h.

30 { return m_type; }

◆ getChannel()

TGCChannelId * MuonTGC_Cabling::TGCCableSLBToHPB::getChannel ( const TGCChannelId channelId,
bool  orChannel = false 
) const
virtual

Definition at line 49 of file TGCCableSLBToHPB.cxx.

50  {
51  if(channelId){
52  if(channelId->getChannelIdType()==TGCChannelId::ChannelIdType::SLBOut)
53  return getChannelOut(channelId,orChannel);
54  if(channelId->getChannelIdType()==TGCChannelId::ChannelIdType::HPBIn)
55  return getChannelIn(channelId,orChannel);
56  }
57  return nullptr;
58 }

◆ getChannelIn()

TGCChannelId * MuonTGC_Cabling::TGCCableSLBToHPB::getChannelIn ( const TGCChannelId hpbin,
bool  orChannel = false 
) const
privatevirtual

Reimplemented from MuonTGC_Cabling::TGCCable.

Definition at line 70 of file TGCCableSLBToHPB.cxx.

71  {
72  if(orChannel) return nullptr;
73  if(hpbin->isValid()==false) return nullptr;
74  TGCChannelSLBOut* slbout = nullptr;
75 
76  // HPB module
77  TGCModuleId* hpb = hpbin->getModule();
78  if(!hpb) return nullptr;
79 
80  // HPB -> SLB module connection
81  TGCModuleMap* mapId = getModule(hpb);
82  delete hpb;
83  if(!mapId) return nullptr;
84 
85  int numOfBlock = TGCChannelSLBOut::getNumberOfBlock(TGCId::WD);//SD
86  if(numOfBlock==0) {
87  delete mapId;
88  mapId = nullptr;
89  return nullptr;
90  }
91 
93  int slbInBlock = TGCChannelHPBIn::getSlbInBlock();
94 
95  // SLB module
96  TGCModuleId* slb = nullptr;
97  int blockInHPB = hpbin->getBlock();
98  int nSlb = hpbin->getChannel()/(numOfBlock*2); // half block
99  int port = blockInHPB*slbInBlock+nSlb;
100  const int size = mapId->size();
101  for(int i=0;i<size;i++){
102  if(mapId->connector(i)==port){
103  slb = mapId->popModuleId(i);
104  break;
105  }
106  }
107 
108  delete mapId;
109  if(!slb) return nullptr;
110 
111  // HPB ->SLB channel connection
112  int nInSlb = hpbin->getChannel()/(numOfBlock*2); // half block
113  int blockInSlb = nInSlb/2;
114  int nInBlock = nInSlb%2;
115  int channel = (chInBlock/2)*nInBlock;
116 
117  slbout = new TGCChannelSLBOut(slb->getSideType(),
118  slb->getModuleType(),
119  slb->getRegionType(),
120  slb->getSector(),
121  slb->getId(),
122  blockInSlb,
123  channel);
124 
125  delete slb;
126  return slbout;
127 }

◆ getChannelInforHPB()

TGCChannelId * MuonTGC_Cabling::TGCCableSLBToHPB::getChannelInforHPB ( const TGCChannelId hpbin,
TGCId::ModuleType  moduleType,
bool  orChannel = false 
) const

Definition at line 129 of file TGCCableSLBToHPB.cxx.

132 {
133  if(orChannel) return nullptr;
134  if(hpbin->isValid()==false) return nullptr;
135 
136  TGCChannelSLBOut* slbout = nullptr;
137 
138  // HPB module
139  TGCModuleId* hpb = hpbin->getModule();//This function is defined in TGCChannelHPBIn
140  //set current SideType,SignalType...
141  //ChannelID(HPBIn) is set in HPBIn constructor
142  if(!hpb) return nullptr;
143 
144  // HPB -> SLB module connection
145  TGCModuleMap* mapId = getModuleInforHPB(hpb,moduleType);
146  delete hpb;
147  if(!mapId) return nullptr;
148 
149  // need to check
150  int numOfBlock = TGCChannelSLBOut::getNumberOfBlock(moduleType);
151  if(numOfBlock==0) {
152  delete mapId;
153  mapId = nullptr;
154  return nullptr;
155  }
156 
157  int chInBlock = TGCChannelSLBOut::getChannelInBlock(moduleType);
158  int slbInBlock = 0;
159 
160  // SLB module
161  TGCModuleId* slb = nullptr;
162  int blockInHPB = 0;
163  int nSlb = 0; // half block
164  int port = 0; // input position for HPT
165 
166  // HPB ->SLB channel connection
167  int blockInSlb = 0;
168  int posInHpb = 0;
169  int channel = 0;
170  int size = 0;
171  switch(moduleType){
172 
173  case TGCId::WD:
174  case TGCId::SD:
175  slbInBlock = 3;
176  blockInHPB = hpbin->getBlock();
177  nSlb = hpbin->getChannel()/(numOfBlock*2);
178  port = blockInHPB*slbInBlock+nSlb;
179  size = mapId->size();
180  for(int i=0;i<size;i++){
181  if(mapId->connector(i)==port){
182  slb = mapId->popModuleId(i);
183  break;
184  }
185  }
186  blockInSlb = (hpbin->getChannel() - nSlb*(numOfBlock*2))/2;
187  posInHpb = (hpbin->getChannel() - (numOfBlock*2)*nSlb)%2;
188  channel = (chInBlock/2)*posInHpb;
189  break;
190 
191  case TGCId::WT:
192  slbInBlock = 2;
193  blockInHPB = hpbin->getBlock();
194  nSlb = hpbin->getChannel()/(numOfBlock*2);
195  port = blockInHPB*slbInBlock+nSlb;
196  size = mapId->size();
197  for(int i=0;i<size;i++){
198  if(mapId->connector(i)== -1*port){//triplet: - sign
199  slb = mapId->popModuleId(i);
200  break;
201  }
202  }
203  blockInSlb = (hpbin->getChannel() - nSlb*(numOfBlock*2))/2;
204  posInHpb = (hpbin->getChannel() - (numOfBlock*2)*nSlb)%2;
205  channel = (chInBlock/2)*posInHpb;
206  break;
207 
208  case TGCId::ST:
209  blockInHPB = hpbin->getBlock();
210  if(blockInHPB==0 && hpbin->getChannel()<numOfBlock) port=1;
211  else port=2;
212  size = mapId->size();
213  for(int i=0;i<size;i++){
214  if(mapId->connector(i)== -1*port){//triplet: - sign
215  slb = mapId->popModuleId(i);
216  break;
217  }
218  }
219  blockInSlb = (hpbin->getChannel())%numOfBlock;
220  if(blockInHPB == 1 && hpbin->getChannel() >= numOfBlock) blockInSlb = blockInSlb + numOfBlock/2;
221  channel = 0;
222  break;
223 
224  default:
225  break;
226 
227  }
228 
229  delete mapId; mapId = nullptr;
230  if(!slb) return nullptr;
231 
232  const int offset =6; // offset to get center of block
233  channel += offset;
234 
235  int SLBID = slb->getId();
236  if((chInBlock*blockInSlb+channel)>chInBlock*numOfBlock){
237  SLBID++;
238  channel = channel%chInBlock;
239  blockInSlb = 0;
240  } else if( channel > chInBlock){
241  channel = channel%chInBlock;
242  blockInSlb++;
243  }
244 
245  slbout = new TGCChannelSLBOut(slb->getSideType(),
246  moduleType,
247  slb->getRegionType(),
248  slb->getSector(),
249  SLBID,
250  blockInSlb,
251  channel );
252 
253  delete slb;
254  return slbout;
255 }

◆ getChannelOut()

TGCChannelId * MuonTGC_Cabling::TGCCableSLBToHPB::getChannelOut ( const TGCChannelId slbout,
bool  orChannel = false 
) const
privatevirtual

Reimplemented from MuonTGC_Cabling::TGCCable.

Definition at line 258 of file TGCCableSLBToHPB.cxx.

259  {
260  if(orChannel) return nullptr;
261  if(slbout->isValid()==false) return nullptr;
262  if(slbout->getMultipletType()==TGCId::Triplet) return nullptr;
263  TGCChannelHPBIn* hpbin = nullptr;
264 
265  // SLB module
266  TGCModuleId* slb = slbout->getModule();
267  if(!slb) return nullptr;
268 
269  // SLB -> HPB module connection
270  TGCModuleMap* mapId = getModule(slb);
271  delete slb;
272  if(!mapId) return nullptr;
273 
274  // HPB module
275  int port = mapId->connector(0);
276  TGCModuleId* hpb = mapId->popModuleId(0);
277  delete mapId;
278  if(!hpb) return nullptr;
279 
280  int chInBlock = TGCChannelSLBOut::getChannelInBlock(slbout->getModuleType());
281  if(chInBlock<=1) {
282  delete hpb;
283  hpb = nullptr;
284  return nullptr;
285  }
286  int slbInBlock = TGCChannelHPBIn::getSlbInBlock();
287 
288  // SLB ->HPB channel connection
289  int block = port/slbInBlock;
290  int hitId = (port%slbInBlock)*2+slbout->getBlock();
291  int pos = slbout->getChannel()/(chInBlock/2);
292  int channel = hitId*2 + pos;
293 
294  hpbin = new TGCChannelHPBIn(hpb->getSideType(),
295  hpb->getSignalType(),
296  hpb->getRegionType(),
297  hpb->getSector(),
298  hpb->getId(),
299  block,
300  channel);
301  delete hpb;
302 
303  return hpbin;
304 }

◆ getModule()

TGCModuleMap * MuonTGC_Cabling::TGCCableSLBToHPB::getModule ( const TGCModuleId moduleId) const
virtual

Definition at line 60 of file TGCCableSLBToHPB.cxx.

60  {
61  if(moduleId){
62  if(moduleId->getModuleIdType()==TGCModuleId::SLB)
63  return getModuleOut(moduleId);
64  if(moduleId->getModuleIdType()==TGCModuleId::HPB)
65  return getModuleIn(moduleId);
66  }
67  return nullptr;
68 }

◆ getModuleIn()

TGCModuleMap * MuonTGC_Cabling::TGCCableSLBToHPB::getModuleIn ( const TGCModuleId hpb) const
privatevirtual

Reimplemented from MuonTGC_Cabling::TGCCable.

Definition at line 306 of file TGCCableSLBToHPB.cxx.

306  {
307  if(hpb->isValid()==false) return nullptr;
308  const int hpbId = hpb->getId();
309 
312  if(hpb->getSignalType()==TGCId::Wire){
313  doublet = TGCId::WD;
314  triplet = TGCId::WT;
315  }
316  if(hpb->getSignalType()==TGCId::Strip){
317  doublet = TGCId::SD;
318  triplet = TGCId::ST;
319  }
320 
321  if(doublet==TGCId::NoModuleType || triplet==TGCId::NoModuleType) {
322  return nullptr;
323  }
324 
325  TGCDatabase* doubletP = m_database[hpb->getRegionType()][doublet];
326  TGCDatabase* tripletP = m_database[hpb->getRegionType()][triplet];
327 
328  TGCModuleMap* mapId = nullptr;
329  const int doubletMaxEntry = doubletP->getMaxEntry();
330  for(int i=0; i<doubletMaxEntry; i++){
331  if(doubletP->getEntry(i,1)==hpbId)
332  {
333  int id = doubletP->getEntry(i,0);
334  int block = doubletP->getEntry(i,2);
335  TGCModuleSLB* slb = new TGCModuleSLB(hpb->getSideType(),
336  doublet,
337  hpb->getRegionType(),
338  hpb->getSector(),
339  id);
340  if(mapId==nullptr) mapId = new TGCModuleMap();
341  mapId->insert(block,slb);
342  }
343  }
344  const int tripletMaxEntry = tripletP->getMaxEntry();
345  for(int i=0; i<tripletMaxEntry; i++){
346  if(tripletP->getEntry(i,1)==hpbId)
347  {
348  int id = tripletP->getEntry(i,0);
349  int block = -tripletP->getEntry(i,2);
350  TGCModuleSLB* slb = new TGCModuleSLB(hpb->getSideType(),
351  triplet,
352  hpb->getRegionType(),
353  hpb->getSector(),
354  id);
355  if(mapId==nullptr) mapId = new TGCModuleMap();
356  mapId->insert(block,slb);
357  }
358  }
359 
360  return mapId;
361 }

◆ getModuleInforHPB()

TGCModuleMap * MuonTGC_Cabling::TGCCableSLBToHPB::getModuleInforHPB ( const TGCModuleId hpb,
TGCId::ModuleType  moduleType 
) const
privatevirtual

Definition at line 363 of file TGCCableSLBToHPB.cxx.

364  {
365  if(hpb->isValid()==false) return nullptr;
366 
367  const int hpbId = hpb->getId();
368 
369  TGCDatabase* databaseP = m_database[hpb->getRegionType()][moduleType];
370 
371  TGCModuleMap* mapId = nullptr;
372  const int MaxEntry = databaseP->getMaxEntry();
373  for(int i=0; i<MaxEntry; i++){
374  if(databaseP->getEntry(i,1)==hpbId)
375  {
376  int id = databaseP->getEntry(i,0);
377  int block = -100;
378  switch(moduleType){
379  case TGCId::WD:
380  case TGCId::SD:
381  block = databaseP->getEntry(i,2);
382  break;
383 
384  case TGCId::WT:
385  case TGCId::ST:
386  block = -1*databaseP->getEntry(i,2);// check - sign
387  break;
388 
389  default:
390  break;
391  }
392  TGCModuleSLB* slb = new TGCModuleSLB(hpb->getSideType(),
393  moduleType,
394  hpb->getRegionType(),
395  hpb->getSector(),
396  id);
397  if(mapId==nullptr) mapId = new TGCModuleMap();
398  mapId->insert(block,slb);
399  }
400  }
401 
402  return mapId;
403 }

◆ getModuleOut()

TGCModuleMap * MuonTGC_Cabling::TGCCableSLBToHPB::getModuleOut ( const TGCModuleId slb) const
privatevirtual

Reimplemented from MuonTGC_Cabling::TGCCable.

Definition at line 405 of file TGCCableSLBToHPB.cxx.

405  {
406  if(slb->isValid()==false) return nullptr;
407 
408  const int slbId = slb->getId();
409 
410  TGCDatabase* databaseP =m_database[slb->getRegionType()][slb->getModuleType()];
411 
412  TGCModuleMap* mapId = nullptr;
413  const int MaxEntry = databaseP->getMaxEntry();
414  for(int i=0; i<MaxEntry; i++){
415  if(databaseP->getEntry(i,0)==slbId)
416  {
417  int id = databaseP->getEntry(i,1);
418  int block = databaseP->getEntry(i,2);
419  if(slb->getMultipletType()==TGCId::Triplet)
420  block *=-1;
421 
422  TGCModuleHPB* hpb = new TGCModuleHPB(slb->getSideType(),
423  slb->getSignalType(),
424  slb->getRegionType(),
425  slb->getSector(),
426  id);
427 
428  mapId = new TGCModuleMap();
429  mapId->insert(block,hpb);
430  break;
431  }
432  }
433 
434  return mapId;
435 }

Member Data Documentation

◆ m_database

TGCDatabase* MuonTGC_Cabling::TGCCableSLBToHPB::m_database[TGCId::MaxRegionType][TGCId::MaxModuleType] {}
private

Definition at line 44 of file TGCCableSLBToHPB.h.

◆ m_type

CableType MuonTGC_Cabling::TGCCable::m_type
privateinherited

Definition at line 43 of file TGCCable.h.


The documentation for this class was generated from the following files:
MuonTGC_Cabling::TGCCable::NoCableType
@ NoCableType
Definition: TGCCable.h:18
MuonTGC_Cabling::TGCCable::InASD
@ InASD
Definition: TGCCable.h:19
MuonTGC_Cabling::TGCCableSLBToHPB::m_database
TGCDatabase * m_database[TGCId::MaxRegionType][TGCId::MaxModuleType]
Definition: TGCCableSLBToHPB.h:44
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
MuonTGC_Cabling::TGCCableSLBToHPB::getModuleInforHPB
virtual TGCModuleMap * getModuleInforHPB(const TGCModuleId *hpb, TGCId::ModuleType moduleType) const
Definition: TGCCableSLBToHPB.cxx:363
MuonTGC_Cabling::TGCCable::PPToSLB
@ PPToSLB
Definition: TGCCable.h:19
MuonTGC_Cabling::TGCId::ModuleType
ModuleType
Definition: TGCId.h:47
MuonTGC_Cabling::TGCModuleId::SLB
@ SLB
Definition: TGCModuleId.h:16
MuonTGC_Cabling::TGCChannelSLBOut::getNumberOfBlock
static int getNumberOfBlock(TGCId::ModuleType moduleType)
Definition: TGCChannelSLBOut.cxx:72
MuonTGC_Cabling::TGCChannelId::ChannelIdType::HPBIn
@ HPBIn
MuonTGC_Cabling::TGCCable::TGCCable
TGCCable(CableType type=NoCableType)
Definition: TGCCable.h:24
MuonTGC_Cabling::TGCId::SD
@ SD
Definition: TGCId.h:47
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
MuonTGC_Cabling::TGCCable::ASDToPP
@ ASDToPP
Definition: TGCCable.h:19
MuonTGC_Cabling::TGCCable::InSLB
@ InSLB
Definition: TGCCable.h:19
lumiFormat.i
int i
Definition: lumiFormat.py:85
MuonTGC_Cabling::TGCCableSLBToHPB::getModule
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const
Definition: TGCCableSLBToHPB.cxx:60
MuonTGC_Cabling::TGCCable::MaxCableType
@ MaxCableType
Definition: TGCCable.h:21
MuonTGC_Cabling::TGCId::WT
@ WT
Definition: TGCId.h:47
MuonTGC_Cabling::TGCCable::m_type
CableType m_type
Definition: TGCCable.h:43
MuonTGC_Cabling::TGCDatabase::getMaxEntry
virtual int getMaxEntry(void) const
Definition: TGCDatabase.cxx:36
MuonTGC_Cabling::TGCCableSLBToHPB::getChannelIn
virtual TGCChannelId * getChannelIn(const TGCChannelId *hpbin, bool orChannel=false) const
Definition: TGCCableSLBToHPB.cxx:70
MuonTGC_Cabling::TGCId::Strip
@ Strip
Definition: TGCId.h:49
MuonTGC_Cabling::TGCCable::SLBToSSW
@ SLBToSSW
Definition: TGCCable.h:20
MuonTGC_Cabling::TGCId::WD
@ WD
Definition: TGCId.h:47
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
MuonTGC_Cabling::TGCId::Endcap
@ Endcap
Definition: TGCId.h:53
MuonTGC_Cabling::TGCModuleId::HPB
@ HPB
Definition: TGCModuleId.h:16
MuonTGC_Cabling::TGCId::NoModuleType
@ NoModuleType
Definition: TGCId.h:47
MuonTGC_Cabling::TGCChannelHPBIn::getSlbInBlock
static int getSlbInBlock(void)
Definition: TGCChannelHPBIn.cxx:70
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
MuonTGC_Cabling::TGCCable::HPBToSL
@ HPBToSL
Definition: TGCCable.h:20
MuonTGC_Cabling::TGCCable::SSWToROD
@ SSWToROD
Definition: TGCCable.h:20
MuonTGC_Cabling::TGCId::ST
@ ST
Definition: TGCId.h:47
MuonTGC_Cabling::TGCCableSLBToHPB::getChannelOut
virtual TGCChannelId * getChannelOut(const TGCChannelId *slbout, bool orChannel=false) const
Definition: TGCCableSLBToHPB.cxx:258
MuonTGC_Cabling::TGCCable::SLBToHPB
@ SLBToHPB
Definition: TGCCable.h:20
MuonTGC_Cabling::TGCCableSLBToHPB::getModuleOut
virtual TGCModuleMap * getModuleOut(const TGCModuleId *slb) const
Definition: TGCCableSLBToHPB.cxx:405
MuonTGC_Cabling::TGCCable::InPP
@ InPP
Definition: TGCCable.h:19
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
MuonTGC_Cabling::TGCCableSLBToHPB::getModuleIn
virtual TGCModuleMap * getModuleIn(const TGCModuleId *hpb) const
Definition: TGCCableSLBToHPB.cxx:306
MuonTGC_Cabling::TGCId::Wire
@ Wire
Definition: TGCId.h:49
MuonTGC_Cabling::TGCId::Triplet
@ Triplet
Definition: TGCId.h:51
MuonTGC_Cabling::TGCChannelSLBOut::getChannelInBlock
static int getChannelInBlock(TGCId::ModuleType moduleType)
Definition: TGCChannelSLBOut.cxx:104
MuonTGC_Cabling::TGCId::Forward
@ Forward
Definition: TGCId.h:53
MuonTGC_Cabling::TGCChannelId::ChannelIdType::SLBOut
@ SLBOut