ATLAS Offline Software
TGCSector.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "TrigT1TGC/TGCSector.h"
12 #include "TrigT1TGC/TGCASDOut.h"
17 #include "TrigT1TGC/TGCInnerSB.h"
23 
25 
26 #include <iostream>
27 
28 
29 namespace LVL1TGCTrigger {
30 
32 {
33  int idPP,conPP,chPP;
34 
35  TGCSignalType signalType = ASDOut->GetSignalType();
36 
37  TGCReadoutIndex readoutIndex;
38  readoutIndex = ASDOut->GetTGCReadoutIndex();
39 
40  int layer = readoutIndex.GetLayerNumber();
41  int rNumber = readoutIndex.GetRNumber();
42  int ch = ASDOut->GetHitID();
43 
44  int PPType = getPatchPanelType(signalType,layer);
45  int notFound;
46  if (PPType<0){
47  notFound = -1;
48  } else {
49  notFound = m_ASDToPP[PPType]->getConnection(m_sideId,layer,rNumber,ch,&idPP,&conPP,&chPP);
50  }
51 
52  if (tgcArgs()->MSGLEVEL() <= MSG::DEBUG) {
53  MsgStream log(Athena::getMessageSvc(), "LVL1TGCTrigger::TGCSector");
54  if (!notFound) {
55  log << MSG::DEBUG
56  << "signalType= " << ((signalType == WIRE) ? "Wire" : "Strip")
57  <<" layer= " <<layer <<" rNumber= " <<rNumber <<" ch= "<< ch
58  <<"id(PP)= " <<idPP <<" connector(PP)= " <<conPP <<" ch(PP)= " <<chPP
59  <<endmsg;
60  }
61  }
62 
63  if(!notFound){
64  m_PP[PPType][idPP]->setASDOut(chPP,conPP,ASDOut);
65  m_numberOfHit+=1;
66  return 0;
67  }
68  return -1;
69 }
70 
72 {
73  if((layer>=0)&&(layer<=2)){
74  if (signal == WIRE) return WTPP;
75  else return STPP;
76  } else if((layer>=3)&&(layer<=6)){
77  if (signal == WIRE) return WDPP;
78  else return SDPP;
79  } else if (layer<=8) {
80  if (signal == WIRE) return WIPP;
81  else return SIPP;
82  } else {
83  return NOPP;
84  }
85 }
86 
88 : m_regionType(TGCRegionType::FORWARD),
89  m_numberOfHit(0),
90  m_octantId(0), m_moduleId(0),
91  m_forwardBackward(ForwardSector),
92  m_SL(0), m_TMDB(0), m_NSW(0),m_BIS78(0),
93  m_tgcArgs(nullptr), m_dbMgr(nullptr)
94 {
95  for(unsigned int iPatchPanelType=0; iPatchPanelType<NumberOfPatchPanelType; iPatchPanelType++) {
96  m_ASDToPP[iPatchPanelType] = 0;
97  m_PP[iPatchPanelType].clear();
98  }
99  for(unsigned int iSlaveBoardType=0; iSlaveBoardType<NumberOfSlaveBoardType; iSlaveBoardType++) {
100  m_SB[iSlaveBoardType].clear();
101  }
102  for(unsigned int iHighPtBoardType=0; iHighPtBoardType<NumberOfHighPtBoardType; iHighPtBoardType++) {
103  m_HPB[iHighPtBoardType].clear();
104  }
105 }
106 
108  int idIn, TGCRegionType type,
109  TGCForwardBackwardType forwardBackward,
110  const TGCDatabaseManager* db,
111  std::shared_ptr<const LVL1TGC::TGCTMDB> tm,
112  std::shared_ptr<const LVL1TGC::TGCNSW> nsw,
113  std::shared_ptr<const LVL1TGC::TGCBIS78> bis78)
114  : m_id(idIn), m_regionType(type), m_numberOfHit(0),
115  m_TMDB(tm), m_NSW(nsw), m_BIS78(bis78),
116  m_tgcArgs(tgcargs), m_dbMgr(db)
117 {
118  m_sideId = static_cast<LVL1TGC::TGCSide>(idIn / NumberOfModule / NumberOfOctant);
120  m_moduleId = idIn%NumberOfModule;
121  m_forwardBackward = forwardBackward;
122 
123  int i;
124  if (m_moduleId < 9) {
125  for( i=0; i<=SDPP; i+=1) {
126  m_ASDToPP[i] = db->getConnectionASDToPP((TGCRegionType)m_regionType, i, forwardBackward);
127  }
128  for( i=WIPP; i<NumberOfPatchPanelType; i+=1) m_ASDToPP[i]=0;
129  } else {
130  // Inner Module
131  for( i=0; i<=SDPP; i+=1) m_ASDToPP[i]=0;
132  for( i=WIPP; i<NumberOfPatchPanelType; i+=1) {
133  m_ASDToPP[i] = db->getConnectionASDToPP((TGCRegionType)m_regionType, i, forwardBackward);
134  }
135  }
136 
137  const TGCConnectionPPToSL* PPToSL = db->getConnectionPPToSL(m_regionType);
138  // make PatchPanel Boards, Slave Boards, HighPt Boards, SectorLogic.
139  setModule(PPToSL);
140  // dumpModule();
141 
142  if (m_moduleId < 9) {
143  // set TMDB
144  m_SL->setTMDB(m_TMDB);
145 
146  // set NSW
147  m_SL->setNSW(m_NSW);
148 
149  // set BIS78
151  }
152 
153  // set connection between boards;
154  connectPPToSB(PPToSL->getPPToSB());
155  if (m_moduleId < 9) {
157  connectSBToHPB(PPToSL->getSBToHPB());
158  connectHPBToSL(PPToSL->getHPBToSL());
160  }
161 }
162 
164 {
165  if (m_moduleId <9) { // BW Sectors
166  // PP ASIC
167  for (int jpp=0; jpp <= SDPP; jpp++) {
168  m_PP[jpp].resize(connection->getPPToSB()->getNumber(jpp));
169  for (unsigned int i=0; i < m_PP[jpp].size(); i++) {
170  if (jpp==WTPP) { m_PP[jpp][i] = new TGCWireTripletPP(tgcArgs()); }
171  else if(jpp==WDPP) { m_PP[jpp][i] = new TGCWireDoubletPP(tgcArgs()); }
172  else if(jpp==STPP) { m_PP[jpp][i] = new TGCStripTripletPP(tgcArgs());}
173  else if(jpp==SDPP) { m_PP[jpp][i] = new TGCStripDoubletPP(tgcArgs());}
174  m_PP[jpp][i]->setId(connection->getPPToSB()->getId(jpp,i));
175  m_PP[jpp][i]->setType(jpp);
176  m_PP[jpp][i]->setRegion(m_regionType);
177  }
178  }
179  for (int jpp=WIPP; jpp<NumberOfPatchPanelType; jpp++) {
180  m_PP[jpp].clear();
181  }
182 
183  // SLB
184  for (int jsb=0; jsb <= SDSB; jsb++) {
185  m_SB[jsb].resize(connection->getSBToHPB()->getNumber(jsb));
186  for (unsigned int i=0; i < m_SB[jsb].size(); i++) {
187  if (jsb == WTSB) { m_SB[jsb][i] = new TGCWireTripletSB(); }
188  else if (jsb == WDSB) { m_SB[jsb][i] = new TGCWireDoubletSB(); }
189  else if (jsb == STSB) { m_SB[jsb][i] = new TGCStripTripletSB();}
190  else if (jsb == SDSB) { m_SB[jsb][i] = new TGCStripDoubletSB();}
191  m_SB[jsb][i]->setId(connection->getSBToHPB()->getId(jsb,i));
192  m_SB[jsb][i]->setType(jsb);
193  m_SB[jsb][i]->setRegion(m_regionType);
194  }
195  }
196  for (int jsb=WISB; jsb < NumberOfSlaveBoardType; jsb++) {
197  m_SB[jsb].clear();
198  }
199 
200  // HPT
201  for (int jhp=0; jhp<NumberOfHighPtBoardType; jhp++) {
202  m_HPB[jhp].resize(connection->getHPBToSL()->getNumber(jhp));
203  for (unsigned int i=0; i < m_HPB[jhp].size(); i++) {
204  if(jhp == WHPB) m_HPB[jhp][i] = new TGCWireHighPtBoard;
205  if(jhp == SHPB) m_HPB[jhp][i] = new TGCStripHighPtBoard;
206  m_HPB[jhp][i]->setId(connection->getHPBToSL()->getId(jhp,i));
207  m_HPB[jhp][i]->setType(jhp);
208  m_HPB[jhp][i]->setRegion(m_regionType);
209  }
210  }
211 
212  // Sector Logic
215  } else { // Inner Small Wheel
216  // PP ASIC
217  for (int jpp=0; jpp <= SDPP; jpp++) {
218  m_PP[jpp].clear();
219  }
220  for (int jpp=WIPP; jpp < NumberOfPatchPanelType; jpp++) {
221  m_PP[jpp].resize(connection->getPPToSB()->getNumber(jpp));
222  for (unsigned int i=0; i < m_PP[jpp].size(); i++) {
223  if (jpp == WIPP) { m_PP[jpp][i] = new TGCWireInnerPP(tgcArgs()); }
224  else if (jpp == SIPP) { m_PP[jpp][i] = new TGCStripInnerPP(tgcArgs()); }
225  m_PP[jpp][i]->setId(connection->getPPToSB()->getId(jpp,i));
226  m_PP[jpp][i]->setType(jpp);
227  m_PP[jpp][i]->setRegion(m_regionType);
228  }
229  }
230 
231  // SLB
232  for (int jsb=0; jsb<=SDSB; jsb+=1) {
233  m_SB[jsb].clear();
234  }
235  for (int jsb=WISB; jsb<NumberOfSlaveBoardType; jsb++) {
236  m_SB[jsb].resize(1);
237  m_SB[jsb][0] = new TGCInnerSB();
238  m_SB[jsb][0]->setType(jsb);
239  m_SB[jsb][0]->setRegion(m_regionType);
240  m_SB[jsb][0]->setId(0);
241  }
242 
243  // HPT
244  for(int jhp=0; jhp<NumberOfHighPtBoardType; jhp+=1){
245  m_HPB[jhp].clear();
246  }
247 
248  // no specific Sector Logic
249  m_SL = 0;
250  }
251 }
252 
254 {
255  int iPort;
256  int startType, endType;
257  if (m_moduleId <9) {
258  startType =0;
259  endType = SDPP;
260  } else {
261  startType = WIPP;
262  endType = SIPP;
263  }
264 
265  // set a Slave Board ID to connect for each Patch Panel.
266  // find the Slave Board and give a pointer of the Patch Panel to it.
267  for (int i=startType; i <= endType; i++) {
268 #ifdef TGCDEBUG
269  std::cerr << "connectionPPToSB :"
270  << " module:" << m_moduleId
271  << " type: " << i
272  << " #PP=" << m_PP[i].size()
273  << " #SB=" << m_SB[i].size()
274  << std::endl;
275 #endif
276  for(unsigned int iPP = 0; iPP < m_PP[i].size(); iPP++) {
277  for ( iPort = 0; iPort < connection->getNumberOfPort(); iPort += 1) {
278  m_PP[i][iPP]->setIdSlaveBoard(iPort,connection->getSBIdToPP(i,iPort,iPP));
279  for (unsigned int iSB = 0; iSB < m_SB[i].size(); iSB++) {
280  if (m_PP[i][iPP]->getIdSlaveBoard(iPort) == m_SB[i][iSB]->getId()) {
281  m_SB[i][iSB]->setPatchPanel(m_PP[i][iPP]);
282  break;
283  }
284  } // m_SB loop
285  } // Port loop
286  } // m_PP loop
287  } // type loop
288 
289 }
290 
291 
293 {
294  for (unsigned int iPP = 1; iPP < m_PP[WDPP].size(); iPP++) {
295  m_PP[WDPP][iPP-1]->setAdjacentPP(1,m_PP[WDPP][iPP]);
296  m_PP[WDPP][iPP]->setAdjacentPP(0,m_PP[WDPP][iPP-1]);
297  }
298 
299  for (unsigned int iPP = 1; iPP < m_PP[WTPP].size(); iPP++) {
300  m_PP[WTPP][iPP-1]->setAdjacentPP(1,m_PP[WTPP][iPP]);
301  m_PP[WTPP][iPP]->setAdjacentPP(0,m_PP[WTPP][iPP-1]);
302  }
303 
304  for (unsigned int iPP = 1; iPP < m_PP[STPP].size(); iPP++) {
305  m_PP[STPP][iPP-1]->setAdjacentPP(1,m_PP[STPP][iPP]);
306  m_PP[STPP][iPP]->setAdjacentPP(0,m_PP[STPP][iPP-1]);
307  }
308 
309  for (unsigned int iPP = 1; iPP < m_PP[SDPP].size(); iPP++) {
310  m_PP[SDPP][iPP-1]->setAdjacentPP(1,m_PP[SDPP][iPP]);
311  m_PP[SDPP][iPP]->setAdjacentPP(0,m_PP[SDPP][iPP-1]);
312  }
313 
314  for (int i=0; i<=SDPP; i++) {
315  for (TGCPatchPanel* ppasic : m_PP[i]) {
316  ppasic->connect();
317  }
318  }
319 }
320 
322 {
323  for (int i=0; i < NumberOfSlaveBoardType; i++) {
324  if ( i==WISB ) continue; // Inner m_SB is not connected to m_HPB
325  if ( i==SISB ) continue; // Inner m_SB is not connected to m_HPB
326 
327  for (unsigned int iSB = 0; iSB < m_SB[i].size(); iSB++) {
328  m_SB[i][iSB]->setIdHighPtBoard(connection->getHPBIdToSB(i,iSB));
329  int type = i/2; // ! assume HighPtBoardType=SlaveBoardType/2
330  for (unsigned int iHPB = 0; iHPB < m_HPB[type].size(); iHPB += 1){
331  if ( m_SB[i][iSB]->getIdHighPtBoard() == m_HPB[type].at(iHPB)->getId()) {
332  if((i==WDSB)||(i==SDSB))
333  m_HPB[type].at(iHPB)->setDSB(connection->getHPBPortToSB(i,iSB),m_SB[i][iSB]);
334  else if((i==WTSB)||(i==STSB))
335  m_HPB[type].at(iHPB)->setTSB(connection->getHPBPortToSB(i,iSB),m_SB[i][iSB]);
336  break;
337  }
338  }
339  }
340  }
341 }
342 
344 {
345  if (!m_SL) return;
346 
347  // set pointers of HighPtBoard to connect to SectorLogic
348  for (unsigned int iHPB = 0; iHPB < m_HPB[WHPB].size(); iHPB++){
349  m_SL->setWireHighPtBoard(connection->getSLPortToHPB(WHPB,iHPB), m_HPB[WHPB].at(iHPB));
350  }
351  for (unsigned int iHPB = 0; iHPB < m_HPB[SHPB].size(); iHPB++) {
352  m_SL->setStripHighPtBoard(m_HPB[SHPB].at(iHPB));
353  }
354 }
355 
357 {
358  switch(m_regionType){
360  // assume there are only two WireHighPtBoards.
361  if((m_HPB[WHPB][1]) && (m_HPB[WHPB][0])){
362  m_HPB[WHPB][0]->setAdjacentHPB(1,m_HPB[WHPB][1]);
363  m_HPB[WHPB][1]->setAdjacentHPB(0,m_HPB[WHPB][0]);
364  }
365  break;
367  if(m_HPB[WHPB][0]){
368  m_HPB[WHPB][0]->setAdjacentHPB(1,0);
369  }
370  break;
371  default:
372  break;
373  }
374 }
375 
377 {
378  // Don't delete m_ASDToPP! 22 May 2001 (MT, KH)
379  for (int i=0; i < NumberOfPatchPanelType; i++) {
380  for (unsigned int j=0; j<m_PP[i].size(); j++) {
381  if (m_PP[i][j] != nullptr) delete m_PP[i][j];
382  }
383  m_PP[i].clear();
384  }
385 
386  for (int i=0; i < NumberOfSlaveBoardType; i++) {
387  for (unsigned int j=0; j < m_SB[i].size(); j+=1) {
388  if(m_SB[i][j] != nullptr) delete m_SB[i][j];
389  }
390  m_SB[i].clear();
391  }
392 
393  for(int i=0; i<NumberOfHighPtBoardType; i+=1){
394  for(unsigned int j=0; j < m_HPB[i].size(); j+=1) {
395  if(m_HPB[i][j] != nullptr) delete m_HPB[i][j];
396  }
397  m_HPB[i].clear();
398  }
399  if (m_SL) delete m_SL;
400  m_SL = 0;
401 }
402 
404 {
405  std::cout << "Side:" << m_sideId << " Octant:" << m_octantId
406  << " ModuleId:" << m_moduleId << std::endl;
407 
408  std::cout << "PatchPanel NumberOfPatchPanelType: " << NumberOfPatchPanelType << std::endl;
409  for (int j=0; j < NumberOfPatchPanelType; j++) {
410  std::cout << "numberOfPP(index in a type): " << m_PP[j].size() << std::endl;
411  for (TGCPatchPanel* ppasic : m_PP[j]) {
412  std::cout << " Type:" << ppasic->getType();
413  std::cout << " Id:" << ppasic->getId();
414  std::cout << " Region:" << (ppasic->getRegion()==TGCRegionType::FORWARD ? "FWD" : "END");
415  std::cout << ((ppasic->getRegion() == TGCRegionType::ENDCAP) ? ":Endcap" : ":Forward") << std::endl;
416  }
417  }
418 
419  std::cout << "SlaveBoard NumberOfSlaveBoardType: " << NumberOfSlaveBoardType << std::endl;
420  for (int j=0; j < NumberOfSlaveBoardType; j++) {
421  std::cout << "numberOfSB(index in a type): " << m_SB[j].size() << std::endl;
422  for (unsigned int i=0; i < m_SB[j].size(); i++) { // index in a type
423  std::cout << " Type:" << m_SB[j][i]->getType();
424  std::cout << " Id:" << m_SB[j][i]->getId();
425  std::cout << " Region: " << ((m_SB[j][i]->getRegion() == TGCRegionType::ENDCAP) ? "Endcap" : "Forward") << std::endl;
426  }
427  }
428 
429  std::cout << "HighPtBoard NumberOfHighPtBoardType:" << NumberOfHighPtBoardType << std::endl;
430  for(int j=0; j<NumberOfHighPtBoardType; j+=1){
431  std::cout << "numberOfHPB(index in a type):" << m_HPB[j].size() << std::endl;
432  for(unsigned int i=0; i < m_HPB[j].size(); i+=1) {
433  std::cout << " Type:" << m_HPB[j][i]->getType();
434  std::cout << " Id:" << m_HPB[j][i]->getId();
435  std::cout << " Region:" << (m_HPB[j][i]->getRegion()==TGCRegionType::ENDCAP ? "Endcap" : "Forward") << std::endl;
436  }
437  }
438 
439  std::cout << "SectorLogic" << std::endl;
440  if (m_SL) {
441  std::cout << "SL:" << m_SL << std::endl;
442  std::cout << " Id:" << m_SL->getId();
443  std::cout << " Region:";
445  std::cout << "Endcap" << std::endl;
446  }else{
447  std::cout << "Forward" << std::endl;
448  }
449  } else {
450  std::cout << "NO SL" << std::endl;
451  }
452 }
453 
454 } // namespace LVL1TGCTrigger
LVL1TGCTrigger::TGCRegionType::ENDCAP
@ ENDCAP
LVL1TGCTrigger::TGCSector::STPP
@ STPP
Definition: TGCSector.h:36
LVL1TGCTrigger::TGCSector::m_SL
TGCSectorLogic * m_SL
Definition: TGCSector.h:118
LVL1TGCTrigger::TGCSectorLogic::getRegion
TGCRegionType getRegion() const
Definition: TGCSectorLogic.h:62
TGCASDOut.h
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
TGCStripDoubletSB.h
TGCStripHighPtBoard.h
LVL1TGCTrigger::SISB
@ SISB
Definition: TGCNumbering.h:57
LVL1TGCTrigger::NumberOfSlaveBoardType
@ NumberOfSlaveBoardType
Definition: TGCNumbering.h:57
getMessageSvc.h
singleton-like access to IMessageSvc via open function and helper
LVL1TGCTrigger::TGCSector::NOPP
@ NOPP
Definition: TGCSector.h:35
TGCConnectionHPBToSL.h
LVL1TGCTrigger::TGCConnectionPPToSB::getSBIdToPP
int getSBIdToPP(int type, int port, int index) const
Definition: TGCConnectionPPToSB.h:34
LVL1TGCTrigger::TGCWireHighPtBoard
Definition: TGCWireHighPtBoard.h:14
LVL1TGCTrigger::TGCWireTripletPP
class TGCPatchPanel TGCWireTripletPP
Definition: TGCPatchPanel.h:22
TGCConnectionPPToSB.h
CaloCondBlobAlgs_fillNoiseFromASCII.db
db
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:43
LVL1TGCTrigger::TGCSector::getId
int getId() const
Definition: TGCSector.h:174
LVL1TGCTrigger::TGCSector::WTPP
@ WTPP
Definition: TGCSector.h:36
LVL1TGCTrigger::TGCConnectionPPToSL::getSBToHPB
const TGCConnectionSBToHPB * getSBToHPB() const
Definition: TGCConnectionPPToSL.h:26
LVL1TGCTrigger::TGCSector::getPatchPanelType
int getPatchPanelType(TGCSignalType signal, int layer) const
Definition: TGCSector.cxx:71
TGCSector.h
LVL1TGCTrigger::TGCConnectionPPToSB
Definition: TGCConnectionPPToSB.h:15
LVL1TGCTrigger::TGCStripTripletSB
Definition: TGCStripTripletSB.h:13
LVL1TGCTrigger::SDSB
@ SDSB
Definition: TGCNumbering.h:57
LVL1TGCTrigger::TGCSector::connectPPToSB
void connectPPToSB(const TGCConnectionPPToSB *connection)
Definition: TGCSector.cxx:253
LVL1TGCTrigger::TGCSectorLogic::setBIS78
void setBIS78(std::shared_ptr< const LVL1TGC::TGCBIS78 > bis78)
Definition: TGCSectorLogic.cxx:110
LVL1TGCTrigger::TGCRegionType::FORWARD
@ FORWARD
LVL1TGCTrigger::TGCStripTripletPP
class TGCPatchPanel TGCStripTripletPP
Definition: TGCPatchPanel.h:24
LVL1TGCTrigger::TGCSector::m_dbMgr
const TGCDatabaseManager * m_dbMgr
Definition: TGCSector.h:124
TGCDatabaseManager.h
LVL1TGCTrigger::TGCForwardBackwardType
TGCForwardBackwardType
Definition: TGCNumbering.h:59
TGCWireDoubletSB.h
LVL1TGCTrigger::TGCWireDoubletPP
class TGCPatchPanel TGCWireDoubletPP
Definition: TGCPatchPanel.h:23
LVL1TGCTrigger::TGCSectorLogic::setNSW
void setNSW(std::shared_ptr< const LVL1TGC::TGCNSW > nsw)
Definition: TGCSectorLogic.cxx:104
LVL1TGCTrigger::TGCSector::m_forwardBackward
TGCForwardBackwardType m_forwardBackward
Definition: TGCSector.h:111
LVL1TGCTrigger::TGCConnectionHPBToSL
Definition: TGCConnectionHPBToSL.h:15
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
LVL1TGCTrigger::TGCSector::m_TMDB
std::shared_ptr< const LVL1TGC::TGCTMDB > m_TMDB
Definition: TGCSector.h:119
LVL1TGCTrigger::TGCConnectionPPToSL
Definition: TGCConnectionPPToSL.h:16
TGCSlaveBoard.h
LVL1TGCTrigger::TGCSector::m_octantId
int m_octantId
Definition: TGCSector.h:108
LVL1TGCTrigger::TGCSector::m_id
int m_id
Definition: TGCSector.h:104
LVL1TGCTrigger::TGCASDOut::GetTGCReadoutIndex
const TGCReadoutIndex & GetTGCReadoutIndex() const
Definition: TGCASDOut.h:33
LVL1TGCTrigger::TGCSector::TGCSector
TGCSector()
Definition: TGCSector.cxx:87
LVL1TGCTrigger::TGCSector::WDPP
@ WDPP
Definition: TGCSector.h:36
LVL1TGCTrigger::TGCConnectionSBToHPB::getHPBIdToSB
int getHPBIdToSB(int type, int index) const
Definition: TGCConnectionSBToHPB.h:44
LVL1TGCTrigger::TGCSector::connectHPBToSL
void connectHPBToSL(const TGCConnectionHPBToSL *connection)
Definition: TGCSector.cxx:343
LVL1TGCTrigger::TGCConnectionPPToSB::getNumberOfPort
int getNumberOfPort() const
Definition: TGCConnectionPPToSB.h:26
LVL1TGCTrigger::TGCSectorLogic::getSSCController
TGCSSCController * getSSCController()
Definition: TGCSectorLogic.h:69
Cut::signal
@ signal
Definition: SUSYToolsAlg.cxx:67
LVL1TGCTrigger::TGCSector::SIPP
@ SIPP
Definition: TGCSector.h:36
LVL1TGCTrigger::NumberOfOctant
const int NumberOfOctant
Definition: TGCElectronicsSystem.h:19
LVL1TGCTrigger::TGCReadoutIndex::GetLayerNumber
int GetLayerNumber() const
Definition: TGCReadoutIndex.h:58
LVL1TGCTrigger::WDSB
@ WDSB
Definition: TGCNumbering.h:57
LVL1TGCTrigger::TGCSector::tgcArgs
TGCArguments * tgcArgs()
Definition: TGCSector.h:80
TGCInnerSB.h
LVL1TGCTrigger::TGCSector::dumpModule
void dumpModule()
Definition: TGCSector.cxx:403
LVL1TGCTrigger::TGCSector::m_HPB
std::vector< TGCHighPtBoard * > m_HPB[NumberOfHighPtBoardType]
Definition: TGCSector.h:116
LVL1TGCTrigger::TGCSectorLogic::setTMDB
void setTMDB(std::shared_ptr< const LVL1TGC::TGCTMDB > tmdb)
Definition: TGCSectorLogic.cxx:98
LVL1TGCTrigger::TGCASDOut::GetSignalType
TGCSignalType GetSignalType() const
Definition: TGCASDOut.h:34
lumiFormat.i
int i
Definition: lumiFormat.py:85
TGCWireHighPtBoard.h
LVL1TGCTrigger::TGCSector::m_sideId
LVL1TGC::TGCSide m_sideId
Definition: TGCSector.h:106
LVL1TGCTrigger::WTSB
@ WTSB
Definition: TGCNumbering.h:57
LVL1TGCTrigger::TGCSector::m_PP
std::vector< TGCPatchPanel * > m_PP[NumberOfPatchPanelType]
Definition: TGCSector.h:114
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
LVL1TGCTrigger::TGCASDOut
Definition: TGCASDOut.h:12
FORWARD
#define FORWARD
Definition: ALFA_SvdCalc.h:34
LVL1TGCTrigger::TGCSector::m_moduleId
int m_moduleId
Definition: TGCSector.h:109
LVL1TGCTrigger::TGCBoardConnection::getNumber
int getNumber(const unsigned int type) const
Definition: TGCBoardConnection.h:33
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LVL1TGCTrigger::TGCSectorLogic::setWireHighPtBoard
void setWireHighPtBoard(int port, TGCHighPtBoard *highPtBoard)
Definition: TGCSectorLogic.cxx:116
LVL1TGCTrigger::TGCSector::setModule
void setModule(const TGCConnectionPPToSL *connection)
Definition: TGCSector.cxx:163
LVL1TGCTrigger::WIRE
@ WIRE
Definition: TGCNumbering.h:52
LVL1TGCTrigger::STSB
@ STSB
Definition: TGCNumbering.h:57
LVL1TGCTrigger::WISB
@ WISB
Definition: TGCNumbering.h:57
TGCReadoutIndex.h
TGCWireTripletSB.h
LVL1TGCTrigger::TGCBoardConnection::getId
int getId(const unsigned int type, const unsigned int board) const
Definition: TGCBoardConnection.h:41
LVL1TGCTrigger::TGCStripDoubletPP
class TGCPatchPanel TGCStripDoubletPP
Definition: TGCPatchPanel.h:25
TGCSectorLogic.h
LVL1TGCTrigger
Definition: LVL1TGCTrigger.cxx:47
LVL1TGCTrigger::TGCConnectionSBToHPB::getHPBPortToSB
int getHPBPortToSB(int type, int index) const
Definition: TGCConnectionSBToHPB.h:33
LVL1TGCTrigger::TGCSector::WIPP
@ WIPP
Definition: TGCSector.h:36
LVL1TGCTrigger::TGCConnectionSBToHPB
Definition: TGCConnectionSBToHPB.h:14
LVL1TGCTrigger::TGCDatabaseManager
Definition: TGCDatabaseManager.h:39
LVL1TGCTrigger::TGCInnerSB
Definition: TGCInnerSB.h:13
LVL1TGCTrigger::TGCSector::connectSBToHPB
void connectSBToHPB(const TGCConnectionSBToHPB *connection)
Definition: TGCSector.cxx:321
LVL1TGCTrigger::TGCSector::SDPP
@ SDPP
Definition: TGCSector.h:36
LVL1TGCTrigger::TGCSector::~TGCSector
virtual ~TGCSector()
Definition: TGCSector.cxx:376
LVL1TGCTrigger::TGCSector::m_ASDToPP
const TGCConnectionASDToPP * m_ASDToPP[NumberOfPatchPanelType]
Definition: TGCSector.h:112
LVL1TGCTrigger::TGCReadoutIndex::GetRNumber
int GetRNumber() const
Definition: TGCReadoutIndex.h:57
LVL1TGCTrigger::TGCPatchPanel
Definition: TGCPatchPanel.h:38
LVL1TGCTrigger::TGCConnectionPPToSL::getHPBToSL
const TGCConnectionHPBToSL * getHPBToSL() const
Definition: TGCConnectionPPToSL.h:27
LVL1TGCTrigger::TGCArguments
Definition: TGCArguments.h:12
LVL1TGCTrigger::TGCSector::m_SB
std::vector< TGCSlaveBoard * > m_SB[NumberOfSlaveBoardType]
Definition: TGCSector.h:115
LVL1TGCTrigger::TGCSectorLogic
Definition: TGCSectorLogic.h:42
LVL1TGCTrigger::TGCSector::WHPB
@ WHPB
Definition: TGCSector.h:34
LVL1TGCTrigger::TGCSignalType
TGCSignalType
Definition: TGCNumbering.h:51
LVL1TGCTrigger::TGCSector::SHPB
@ SHPB
Definition: TGCSector.h:34
LVL1TGCTrigger::TGCSSCController::setNumberOfWireHighPtBoard
void setNumberOfWireHighPtBoard(int iData)
Definition: TGCSSCController.h:23
LVL1TGCTrigger::TGCSector::m_regionType
TGCRegionType m_regionType
Definition: TGCSector.h:105
LVL1TGCTrigger::TGCStripInnerPP
class TGCPatchPanel TGCStripInnerPP
Definition: TGCPatchPanel.h:27
LVL1TGCTrigger::TGCRegionType
TGCRegionType
Definition: TGCNumbering.h:49
LVL1TGCTrigger::TGCConnectionPPToSL::getPPToSB
const TGCConnectionPPToSB * getPPToSB() const
Definition: TGCConnectionPPToSL.h:25
LVL1TGCTrigger::TGCWireTripletSB
Definition: TGCWireTripletSB.h:13
LVL1TGCTrigger::TGCSectorLogic::setStripHighPtBoard
void setStripHighPtBoard(TGCHighPtBoard *highPtBoard)
Definition: TGCSectorLogic.cxx:122
TGCConnectionASDToPP.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1TGCTrigger::TGCSector::connectAdjacentPP
void connectAdjacentPP()
Definition: TGCSector.cxx:292
TGCConnectionPPToSL.h
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
LVL1TGCTrigger::TGCStripDoubletSB
Definition: TGCStripDoubletSB.h:12
LVL1TGCTrigger::TGCWireInnerPP
class TGCPatchPanel TGCWireInnerPP
Definition: TGCPatchPanel.h:26
LVL1TGCTrigger::TGCReadoutIndex
Definition: TGCReadoutIndex.h:13
LVL1TGCTrigger::NumberOfModule
const int NumberOfModule
Definition: TGCElectronicsSystem.h:20
LVL1TGC::TGCSide
TGCSide
The sides of TGC (A- or C-side)
Definition: TGCNumbering.h:13
LVL1TGCTrigger::TGCASDOut::GetHitID
int GetHitID() const
Definition: TGCASDOut.h:35
LVL1TGCTrigger::TGCSector::distributeSignal
int distributeSignal(const TGCASDOut *asdOut)
Definition: TGCSector.cxx:31
LVL1TGCTrigger::TGCSector::NumberOfHighPtBoardType
@ NumberOfHighPtBoardType
Definition: TGCSector.h:34
LVL1TGCTrigger::TGCSector::connectAdjacentHPB
void connectAdjacentHPB()
Definition: TGCSector.cxx:356
LVL1TGCTrigger::TGCSector::m_NSW
std::shared_ptr< const LVL1TGC::TGCNSW > m_NSW
Definition: TGCSector.h:120
LVL1TGCTrigger::TGCSector::m_BIS78
std::shared_ptr< const LVL1TGC::TGCBIS78 > m_BIS78
Definition: TGCSector.h:121
LVL1TGCTrigger::ForwardSector
@ ForwardSector
Definition: TGCNumbering.h:59
LVL1TGCTrigger::TGCConnectionHPBToSL::getSLPortToHPB
int getSLPortToHPB(int type, int index) const
Definition: TGCConnectionHPBToSL.h:31
LVL1TGCTrigger::TGCStripHighPtBoard
Definition: TGCStripHighPtBoard.h:17
TGCPatchPanel.h
TGCHighPtBoard.h
LVL1TGCTrigger::TGCSectorLogic::getId
int getId() const
Definition: TGCSectorLogic.h:172
LVL1TGCTrigger::TGCWireDoubletSB
Definition: TGCWireDoubletSB.h:11
LVL1TGCTrigger::TGCConnectionASDToPP::getConnection
int getConnection(const int sideId, const int layer, const int chamber, const int line, int *pp, int *connector, int *channel) const
Definition: TGCConnectionASDToPP.cxx:20
LVL1TGCTrigger::TGCSector::NumberOfPatchPanelType
@ NumberOfPatchPanelType
Definition: TGCSector.h:37
LVL1TGCTrigger::TGCSector::m_numberOfHit
int m_numberOfHit
Definition: TGCSector.h:107