#include <TGCSector.h>
|
| | TGCSector (TGCArguments *, int idIn, TGCRegionType type, TGCForwardBackwardType forwardBackward, const TGCDatabaseManager *db, std::shared_ptr< const LVL1TGC::TGCTMDB > tmdb, std::shared_ptr< const LVL1TGC::TGCNSW > nsw, std::shared_ptr< const LVL1TGC::TGCBIS78 > bis78) |
| | TGCSector () |
| virtual | ~TGCSector () |
| bool | hasHit () const |
| void | clearNumberOfHit () |
| int | distributeSignal (const TGCASDOut *asdOut) |
| TGCPatchPanel * | getPP (int type, int index) const |
| TGCSlaveBoard * | getSB (int type, int index) const |
| TGCHighPtBoard * | getHPB (int type, int index) const |
| TGCSectorLogic * | getSL () |
| unsigned int | getNumberOfPP (int type) const |
| unsigned int | getNumberOfSB (int type) const |
| unsigned int | getNumberOfHPB (int type) const |
| TGCRegionType | getRegionType () const |
| int | getId () const |
| void | dumpModule () |
| LVL1TGC::TGCSide | getSideId () const |
| int | getOctantId () const |
| int | getModuleId () const |
| TGCArguments * | tgcArgs () |
| const TGCArguments * | tgcArgs () const |
Definition at line 30 of file TGCSector.h.
◆ TGCHighPtBoardType
| Enumerator |
|---|
| WHPB | |
| SHPB | |
| NumberOfHighPtBoardType | |
Definition at line 33 of file TGCSector.h.
@ NumberOfHighPtBoardType
◆ TGCPatchPanelType
| Enumerator |
|---|
| NOPP | |
| WTPP | |
| WDPP | |
| STPP | |
| SDPP | |
| WIPP | |
| SIPP | |
| NumberOfPatchPanelType | |
Definition at line 34 of file TGCSector.h.
◆ TGCSector() [1/3]
Definition at line 110 of file TGCSector.cxx.
120{
125
128 for( i=0;
i<=
SDPP;
i+=1) {
130 }
132 } else {
133
137 }
138 }
139
140 const TGCConnectionPPToSL* PPToSL =
db->getConnectionPPToSL(
m_regionType);
141
143
144
146
148
149
151
152
154 }
155
156
163 }
164}
void connectPPToSB(const TGCConnectionPPToSB *connection)
LVL1TGC::TGCSide m_sideId
std::shared_ptr< const LVL1TGC::TGCBIS78 > m_BIS78
void setModule(const TGCConnectionPPToSL *connection)
TGCRegionType m_regionType
std::shared_ptr< const LVL1TGC::TGCTMDB > m_TMDB
void connectSBToHPB(const TGCConnectionSBToHPB *connection)
const TGCDatabaseManager * m_dbMgr
TGCForwardBackwardType m_forwardBackward
const TGCConnectionASDToPP * m_ASDToPP[NumberOfPatchPanelType]
std::shared_ptr< const LVL1TGC::TGCNSW > m_NSW
void connectHPBToSL(const TGCConnectionHPBToSL *connection)
void connectAdjacentHPB()
TGCSide
The sides of TGC (A- or C-side)
◆ TGCSector() [2/3]
| LVL1TGCTrigger::TGCSector::TGCSector |
( |
| ) |
|
Definition at line 90 of file TGCSector.cxx.
97{
100 m_PP[iPatchPanelType].clear();
101 }
103 m_SB[iSlaveBoardType].clear();
104 }
106 m_HPB[iHighPtBoardType].clear();
107 }
108}
std::vector< TGCHighPtBoard * > m_HPB[NumberOfHighPtBoardType]
std::vector< TGCPatchPanel * > m_PP[NumberOfPatchPanelType]
std::vector< TGCSlaveBoard * > m_SB[NumberOfSlaveBoardType]
◆ TGCSector() [3/3]
| LVL1TGCTrigger::TGCSector::TGCSector |
( |
const TGCSector & | right | ) |
|
|
privatedelete |
◆ ~TGCSector()
| LVL1TGCTrigger::TGCSector::~TGCSector |
( |
| ) |
|
|
virtual |
Definition at line 379 of file TGCSector.cxx.
380{
381
383 for (
unsigned int j=0; j<
m_PP[
i].size(); j++) {
384 if (
m_PP[i][j] !=
nullptr)
delete m_PP[
i][j];
385 }
387 }
388
390 for (
unsigned int j=0; j <
m_SB[
i].size(); j+=1) {
391 if(
m_SB[i][j] !=
nullptr)
delete m_SB[
i][j];
392 }
394 }
395
397 for(
unsigned int j=0; j <
m_HPB[
i].size(); j+=1) {
399 }
401 }
404}
◆ clearNumberOfHit()
| void LVL1TGCTrigger::TGCSector::clearNumberOfHit |
( |
| ) |
|
|
inline |
◆ connectAdjacentHPB()
| void LVL1TGCTrigger::TGCSector::connectAdjacentHPB |
( |
| ) |
|
|
private |
Definition at line 359 of file TGCSector.cxx.
360{
363
367 }
368 break;
372 }
373 break;
374 default:
375 break;
376 }
377}
◆ connectAdjacentPP()
| void LVL1TGCTrigger::TGCSector::connectAdjacentPP |
( |
| ) |
|
|
private |
Definition at line 295 of file TGCSector.cxx.
296{
297 for (
unsigned int iPP = 1; iPP <
m_PP[
WDPP].size(); iPP++) {
300 }
301
302 for (
unsigned int iPP = 1; iPP <
m_PP[
WTPP].size(); iPP++) {
305 }
306
307 for (
unsigned int iPP = 1; iPP <
m_PP[
STPP].size(); iPP++) {
310 }
311
312 for (
unsigned int iPP = 1; iPP <
m_PP[
SDPP].size(); iPP++) {
315 }
316
317 for (
int i=0;
i<=
SDPP;
i++) {
318 for (TGCPatchPanel* ppasic :
m_PP[i]) {
319 ppasic->connect();
320 }
321 }
322}
◆ connectHPBToSL()
Definition at line 346 of file TGCSector.cxx.
347{
349
350
351 for (
unsigned int iHPB = 0; iHPB <
m_HPB[
WHPB].size(); iHPB++){
352 m_SL->setWireHighPtBoard(connection->getSLPortToHPB(
WHPB,iHPB),
m_HPB[
WHPB].at(iHPB));
353 }
354 for (
unsigned int iHPB = 0; iHPB <
m_HPB[
SHPB].size(); iHPB++) {
356 }
357}
◆ connectPPToSB()
Definition at line 256 of file TGCSector.cxx.
257{
258 int iPort;
259 int startType, endType;
261 startType =0;
263 } else {
266 }
267
268
269
270 for (
int i=startType;
i <= endType;
i++) {
271#ifdef TGCDEBUG
272 std::cerr << "connectionPPToSB :"
275 <<
" #PP=" <<
m_PP[
i].size()
276 <<
" #SB=" <<
m_SB[
i].size()
277 << std::endl;
278#endif
279 for(
unsigned int iPP = 0; iPP <
m_PP[
i].size(); iPP++) {
280 for ( iPort = 0; iPort < connection->getNumberOfPort(); iPort += 1) {
281 m_PP[
i][iPP]->setIdSlaveBoard(iPort,connection->getSBIdToPP(i,iPort,iPP));
282 for (
unsigned int iSB = 0; iSB <
m_SB[
i].size(); iSB++) {
283 if (
m_PP[i][iPP]->getIdSlaveBoard(iPort) ==
m_SB[i][iSB]->
getId()) {
284 m_SB[
i][iSB]->setPatchPanel(
m_PP[i][iPP]);
285 break;
286 }
287 }
288 }
289 }
290 }
291
292}
◆ connectSBToHPB()
Definition at line 324 of file TGCSector.cxx.
325{
327 if ( i==
WISB )
continue;
328 if ( i==
SISB )
continue;
329
330 for (
unsigned int iSB = 0; iSB <
m_SB[
i].size(); iSB++) {
331 m_SB[
i][iSB]->setIdHighPtBoard(connection->getHPBIdToSB(i,iSB));
333 for (
unsigned int iHPB = 0; iHPB <
m_HPB[
type].size(); iHPB += 1){
334 if (
m_SB[i][iSB]->getIdHighPtBoard() ==
m_HPB[type].at(iHPB)->
getId()) {
336 m_HPB[
type].at(iHPB)->setDSB(connection->getHPBPortToSB(i,iSB),
m_SB[i][iSB]);
338 m_HPB[
type].at(iHPB)->setTSB(connection->getHPBPortToSB(i,iSB),
m_SB[i][iSB]);
339 break;
340 }
341 }
342 }
343 }
344}
◆ distributeSignal()
| int LVL1TGCTrigger::TGCSector::distributeSignal |
( |
const TGCASDOut * | asdOut | ) |
|
Definition at line 34 of file TGCSector.cxx.
35{
36 int idPP,conPP,chPP;
37
39
40 TGCReadoutIndex readoutIndex;
41 readoutIndex = ASDOut->GetTGCReadoutIndex();
42
43 int layer = readoutIndex.GetLayerNumber();
44 int rNumber = readoutIndex.GetRNumber();
45 int ch = ASDOut->GetHitID();
46
48 int notFound;
49 if (PPType<0){
50 notFound = -1;
51 } else {
52 notFound =
m_ASDToPP[PPType]->getConnection(
m_sideId,layer,rNumber,ch,&idPP,&conPP,&chPP);
53 }
54
55 if (
tgcArgs()->MSGLEVEL() <= MSG::DEBUG) {
57 if (!notFound) {
59 <<
"signalType= " << ((signalType ==
WIRE) ?
"Wire" :
"Strip")
60 <<" layer= " <<layer <<" rNumber= " <<rNumber <<" ch= "<< ch
61 <<"id(PP)= " <<idPP <<" connector(PP)= " <<conPP <<" ch(PP)= " <<chPP
63 }
64 }
65
66 if(!notFound){
67 m_PP[PPType][idPP]->setASDOut(chPP,conPP,ASDOut);
69 return 0;
70 }
71 return -1;
72}
int getPatchPanelType(TGCSignalType signal, int layer) const
IMessageSvc * getMessageSvc(bool quiet=false)
◆ dumpModule()
| void LVL1TGCTrigger::TGCSector::dumpModule |
( |
| ) |
|
Definition at line 406 of file TGCSector.cxx.
407{
410
413 std::cout <<
"numberOfPP(index in a type): " <<
m_PP[j].size() << std::endl;
414 for (TGCPatchPanel* ppasic :
m_PP[j]) {
415 std::cout << " Type:" << ppasic->getType();
416 std::cout << " Id:" << ppasic->getId();
419 }
420 }
421
424 std::cout <<
"numberOfSB(index in a type): " <<
m_SB[j].size() << std::endl;
425 for (
unsigned int i=0;
i <
m_SB[j].size();
i++) {
426 std::cout <<
" Type:" <<
m_SB[j][
i]->getType();
427 std::cout <<
" Id:" <<
m_SB[j][
i]->getId();
429 }
430 }
431
434 std::cout <<
"numberOfHPB(index in a type):" <<
m_HPB[j].size() << std::endl;
435 for(
unsigned int i=0;
i <
m_HPB[j].size();
i+=1) {
436 std::cout <<
" Type:" <<
m_HPB[j][
i]->getType();
437 std::cout <<
" Id:" <<
m_HPB[j][
i]->getId();
439 }
440 }
441
442 std::cout << "SectorLogic" << std::endl;
444 std::cout <<
"SL:" <<
m_SL << std::endl;
445 std::cout <<
" Id:" <<
m_SL->getId();
446 std::cout << " Region:";
448 std::cout << "Endcap" << std::endl;
449 }else{
450 std::cout << "Forward" << std::endl;
451 }
452 } else {
453 std::cout << "NO SL" << std::endl;
454 }
455}
◆ getBIS78()
| std::shared_ptr< const LVL1TGC::TGCBIS78 > LVL1TGCTrigger::TGCSector::getBIS78 |
( |
| ) |
const |
|
inlineprivate |
◆ getHPB()
| TGCHighPtBoard * LVL1TGCTrigger::TGCSector::getHPB |
( |
int | type, |
|
|
int | index ) const |
|
inline |
Definition at line 147 of file TGCSector.h.
148{
149 if ((type<0) || (index<0)) return 0;
151}
◆ getId()
| int LVL1TGCTrigger::TGCSector::getId |
( |
| ) |
const |
|
inline |
◆ getModuleId()
| int LVL1TGCTrigger::TGCSector::getModuleId |
( |
| ) |
const |
|
inline |
◆ getNSW()
| std::shared_ptr< const LVL1TGC::TGCNSW > LVL1TGCTrigger::TGCSector::getNSW |
( |
| ) |
const |
|
inlineprivate |
◆ getNumberOfHPB()
| unsigned int LVL1TGCTrigger::TGCSector::getNumberOfHPB |
( |
int | type | ) |
const |
|
inline |
Definition at line 164 of file TGCSector.h.
165{ if (type<0) return -1;
167}
◆ getNumberOfPP()
| unsigned int LVL1TGCTrigger::TGCSector::getNumberOfPP |
( |
int | type | ) |
const |
|
inline |
Definition at line 153 of file TGCSector.h.
154{
155 if (type<0) return -1;
157}
◆ getNumberOfSB()
| unsigned int LVL1TGCTrigger::TGCSector::getNumberOfSB |
( |
int | type | ) |
const |
|
inline |
Definition at line 159 of file TGCSector.h.
160{ if (type<0) return -1;
162}
◆ getOctantId()
| int LVL1TGCTrigger::TGCSector::getOctantId |
( |
| ) |
const |
|
inline |
◆ getPatchPanelType()
| int LVL1TGCTrigger::TGCSector::getPatchPanelType |
( |
TGCSignalType | signal, |
|
|
int | layer ) const |
|
private |
Definition at line 74 of file TGCSector.cxx.
75{
76 if((layer>=0)&&(layer<=2)){
79 } else if((layer>=3)&&(layer<=6)){
82 } else if (layer<=8) {
85 } else {
87 }
88}
◆ getPP()
| TGCPatchPanel * LVL1TGCTrigger::TGCSector::getPP |
( |
int | type, |
|
|
int | index ) const |
|
inline |
Definition at line 135 of file TGCSector.h.
136{
137 if ((type<0) || (index<0)) return 0;
139}
◆ getRegionType()
◆ getSB()
| TGCSlaveBoard * LVL1TGCTrigger::TGCSector::getSB |
( |
int | type, |
|
|
int | index ) const |
|
inline |
Definition at line 141 of file TGCSector.h.
142{
143 if ((type<0) || (index<0)) return 0;
145}
◆ getSideId()
◆ getSL()
◆ getTMDB()
| std::shared_ptr< const LVL1TGC::TGCTMDB > LVL1TGCTrigger::TGCSector::getTMDB |
( |
| ) |
const |
|
inlineprivate |
◆ hasHit()
| bool LVL1TGCTrigger::TGCSector::hasHit |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ setModule()
Definition at line 166 of file TGCSector.cxx.
167{
169
170 for (
int jpp=0; jpp <=
SDPP; jpp++) {
171 m_PP[jpp].resize(connection->getPPToSB()->getNumber(jpp));
172 for (
unsigned int i=0;
i <
m_PP[jpp].size();
i++) {
177 m_PP[jpp][
i]->setId(connection->getPPToSB()->getId(jpp,i));
178 m_PP[jpp][
i]->setType(jpp);
180 }
181 }
184 }
185
186
187 for (
int jsb=0; jsb <=
SDSB; jsb++) {
188 m_SB[jsb].resize(connection->getSBToHPB()->getNumber(jsb));
189 for (
unsigned int i=0;
i <
m_SB[jsb].size();
i++) {
190 if (jsb ==
WTSB) {
m_SB[jsb][
i] =
new TGCWireTripletSB(); }
191 else if (jsb ==
WDSB) {
m_SB[jsb][
i] =
new TGCWireDoubletSB(); }
192 else if (jsb ==
STSB) {
m_SB[jsb][
i] =
new TGCStripTripletSB();}
193 else if (jsb ==
SDSB) {
m_SB[jsb][
i] =
new TGCStripDoubletSB();}
194 m_SB[jsb][
i]->setId(connection->getSBToHPB()->getId(jsb,i));
195 m_SB[jsb][
i]->setType(jsb);
197 }
198 }
201 }
202
203
205 m_HPB[jhp].resize(connection->getHPBToSL()->getNumber(jhp));
206 for (
unsigned int i=0;
i <
m_HPB[jhp].size();
i++) {
207 if(jhp ==
WHPB)
m_HPB[jhp][
i] =
new TGCWireHighPtBoard;
208 if(jhp ==
SHPB)
m_HPB[jhp][
i] =
new TGCStripHighPtBoard;
209 m_HPB[jhp][
i]->setId(connection->getHPBToSL()->getId(jhp,i));
210 m_HPB[jhp][
i]->setType(jhp);
212 }
213 }
214
215
217 m_SL->getSSCController()->setNumberOfWireHighPtBoard(connection->getHPBToSL()->getNumber(
WHPB));
218 } else {
219
220 for (
int jpp=0; jpp <=
SDPP; jpp++) {
222 }
224 m_PP[jpp].resize(connection->getPPToSB()->getNumber(jpp));
225 for (
unsigned int i=0;
i <
m_PP[jpp].size();
i++) {
228 m_PP[jpp][
i]->setId(connection->getPPToSB()->getId(jpp,i));
229 m_PP[jpp][
i]->setType(jpp);
231 }
232 }
233
234
235 for (
int jsb=0; jsb<=
SDSB; jsb+=1) {
237 }
240 m_SB[jsb][0] =
new TGCInnerSB();
241 m_SB[jsb][0]->setType(jsb);
243 m_SB[jsb][0]->setId(0);
244 }
245
246
249 }
250
251
253 }
254}
class TGCPatchPanel TGCStripTripletPP
class TGCPatchPanel TGCStripInnerPP
class TGCPatchPanel TGCWireTripletPP
class TGCPatchPanel TGCWireInnerPP
class TGCPatchPanel TGCStripDoubletPP
class TGCPatchPanel TGCWireDoubletPP
◆ tgcArgs() [1/2]
◆ tgcArgs() [2/2]
| const TGCArguments * LVL1TGCTrigger::TGCSector::tgcArgs |
( |
| ) |
const |
|
inline |
◆ TGCTimingManager::startHighPtBoard
◆ TGCTimingManager::startPatchPanel
◆ TGCTimingManager::startSectorLogic
◆ TGCTimingManager::startSlaveBoard
◆ m_ASDToPP
◆ m_BIS78
◆ m_dbMgr
◆ m_forwardBackward
◆ m_HPB
◆ m_id
| int LVL1TGCTrigger::TGCSector::m_id {0} |
|
private |
◆ m_moduleId
| int LVL1TGCTrigger::TGCSector::m_moduleId |
|
private |
◆ m_NSW
◆ m_numberOfHit
| int LVL1TGCTrigger::TGCSector::m_numberOfHit |
|
private |
◆ m_octantId
| int LVL1TGCTrigger::TGCSector::m_octantId |
|
private |
◆ m_PP
◆ m_regionType
◆ m_SB
◆ m_sideId
◆ m_SL
◆ m_tgcArgs
◆ m_TMDB
The documentation for this class was generated from the following files: