ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
TrigT1TGC
TrigT1TGC
TGCSector.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TGCSector_h
6
#define TGCSector_h
7
8
9
#include "
TrigT1TGC/TGCTimingManager.h
"
10
#include "
TrigT1TGC/TGCTMDB.h
"
11
#include "
TrigT1TGC/TGCNSW.h
"
12
#include "
TrigT1TGC/TGCBIS78.h
"
13
#include <memory>
14
15
namespace
LVL1TGCTrigger
{
16
class
TGCArguments
;
17
class
TGCDatabaseManager
;
18
class
TGCConnectionPPToSL
;
19
class
TGCConnectionHPBToSL
;
20
class
TGCConnectionPPToSB
;
21
class
TGCConnectionASDToPP
;
22
class
TGCConnectionSBToHPB
;
23
class
TGCASDOut
;
24
class
TGCPatchPanel
;
25
class
TGCSlaveBoard
;
26
class
TGCHighPtBoard
;
27
class
TGCSectorLogic
;
28
29
30
class
TGCSector
31
{
32
public
:
33
enum
TGCHighPtBoardType
{
WHPB
=0,
SHPB
,
NumberOfHighPtBoardType
};
34
enum
TGCPatchPanelType
{
NOPP
=-1,
35
WTPP
=0,
WDPP
,
STPP
,
SDPP
,
WIPP
,
SIPP
,
36
NumberOfPatchPanelType
};
37
38
public
:
39
TGCSector
(
TGCArguments
*,
40
int
idIn,
41
TGCRegionType
type
,
42
TGCForwardBackwardType
forwardBackward,
43
const
TGCDatabaseManager
* db,
44
std::shared_ptr<const LVL1TGC::TGCTMDB> tmdb,
45
std::shared_ptr<const LVL1TGC::TGCNSW> nsw,
46
std::shared_ptr<const LVL1TGC::TGCBIS78> bis78);
47
48
TGCSector
();
49
50
private
:
51
// copy constructor and assignement operator are hidden.
52
TGCSector
(
const
TGCSector
& right) =
delete
;
53
TGCSector
&
operator =
(
const
TGCSector
& right) =
delete
;
54
55
public
:
56
virtual
~TGCSector
();
57
58
bool
hasHit
()
const
;
59
void
clearNumberOfHit
();
60
int
distributeSignal
(
const
TGCASDOut
* asdOut);
61
62
TGCPatchPanel
*
getPP
(
int
type
,
int
index
)
const
;
63
TGCSlaveBoard
*
getSB
(
int
type
,
int
index
)
const
;
64
TGCHighPtBoard
*
getHPB
(
int
type
,
int
index
)
const
;
65
TGCSectorLogic
*
getSL
() {
return
m_SL
; }
66
67
unsigned
int
getNumberOfPP
(
int
type
)
const
;
68
unsigned
int
getNumberOfSB
(
int
type
)
const
;
69
unsigned
int
getNumberOfHPB
(
int
type
)
const
;
70
71
TGCRegionType
getRegionType
()
const
;
72
int
getId
()
const
;
73
void
dumpModule
();
74
75
LVL1TGC::TGCSide
getSideId
()
const
{
return
m_sideId
; }
76
int
getOctantId
()
const
{
return
m_octantId
; }
77
int
getModuleId
()
const
{
return
m_moduleId
; }
78
79
TGCArguments
*
tgcArgs
() {
return
m_tgcArgs
; }
80
const
TGCArguments
*
tgcArgs
()
const
{
return
m_tgcArgs
; }
81
82
private
:
83
std::shared_ptr<const LVL1TGC::TGCTMDB>
getTMDB
()
const
{
return
m_TMDB
; }
84
std::shared_ptr<const LVL1TGC::TGCNSW>
getNSW
()
const
{
return
m_NSW
; }
85
std::shared_ptr<const LVL1TGC::TGCBIS78>
getBIS78
()
const
{
return
m_BIS78
; }
86
87
int
getPatchPanelType
(
TGCSignalType
signal,
int
layer)
const
;
88
89
90
void
setModule
(
const
TGCConnectionPPToSL
* connection);
91
void
connectPPToSB
(
const
TGCConnectionPPToSB
* connection);
92
void
connectSBToHPB
(
const
TGCConnectionSBToHPB
* connection);
93
void
connectHPBToSL
(
const
TGCConnectionHPBToSL
* connection);
94
void
connectAdjacentPP
();
95
void
connectAdjacentHPB
();
96
97
friend
void
TGCTimingManager::startPatchPanel
(
TGCSector
* sector,
TGCDatabaseManager
* db);
98
friend
void
TGCTimingManager::startSlaveBoard
(
TGCSector
* sector);
99
friend
void
TGCTimingManager::startHighPtBoard
(
TGCSector
* sector);
100
friend
void
TGCTimingManager::startSectorLogic
(
TGCSector
* sector);
101
102
private
:
103
int
m_id
{0};
104
TGCRegionType
m_regionType
;
105
LVL1TGC::TGCSide
m_sideId
{
LVL1TGC::TGCSide::ASIDE
};
106
int
m_numberOfHit
;
107
int
m_octantId
;
108
int
m_moduleId
;
109
110
TGCForwardBackwardType
m_forwardBackward
;
111
const
TGCConnectionASDToPP
*
m_ASDToPP
[
NumberOfPatchPanelType
];
112
113
std::vector<TGCPatchPanel*>
m_PP
[
NumberOfPatchPanelType
];
114
std::vector<TGCSlaveBoard*>
m_SB
[
NumberOfSlaveBoardType
];
115
std::vector<TGCHighPtBoard*>
m_HPB
[
NumberOfHighPtBoardType
];
116
117
TGCSectorLogic
*
m_SL
;
118
std::shared_ptr<const LVL1TGC::TGCTMDB>
m_TMDB
;
119
std::shared_ptr<const LVL1TGC::TGCNSW>
m_NSW
;
120
std::shared_ptr<const LVL1TGC::TGCBIS78>
m_BIS78
;
121
122
TGCArguments
*
m_tgcArgs
;
123
const
TGCDatabaseManager
*
m_dbMgr
;
124
};
125
126
inline
127
bool
TGCSector::hasHit
()
const
128
{
129
return
(
m_numberOfHit
>0);
130
}
131
inline
132
void
TGCSector::clearNumberOfHit
()
133
{
m_numberOfHit
= 0;}
134
inline
135
TGCPatchPanel
*
TGCSector::getPP
(
int
type
,
int
index
)
const
136
{
137
if
((
type
<0) || (
index
<0))
return
0;
138
return
m_PP
[
type
].at(
index
);
139
}
140
inline
141
TGCSlaveBoard
*
TGCSector::getSB
(
int
type
,
int
index
)
const
142
{
143
if
((
type
<0) || (
index
<0))
return
0;
144
return
m_SB
[
type
].at(
index
);
145
}
146
inline
147
TGCHighPtBoard
*
TGCSector::getHPB
(
int
type
,
int
index
)
const
148
{
149
if
((
type
<0) || (
index
<0))
return
0;
150
return
m_HPB
[
type
].at(
index
);
151
}
152
inline
153
unsigned
int
TGCSector::getNumberOfPP
(
int
type
)
const
154
{
155
if
(
type
<0)
return
-1;
156
return
m_PP
[
type
].size();
157
}
158
inline
159
unsigned
int
TGCSector::getNumberOfSB
(
int
type
)
const
160
{
if
(
type
<0)
return
-1;
161
return
m_SB
[
type
].size();
162
}
163
inline
164
unsigned
int
TGCSector::getNumberOfHPB
(
int
type
)
const
165
{
if
(
type
<0)
return
-1;
166
return
m_HPB
[
type
].size();
167
}
168
inline
169
TGCRegionType
TGCSector::getRegionType
()
const
170
{
return
m_regionType
;}
171
172
inline
173
int
TGCSector::getId
()
const
174
{
return
m_id
;}
175
176
inline
TGCSector::TGCPatchPanelType
operator++
(
TGCSector::TGCPatchPanelType
&
rs
,
int
)
177
{
178
return
rs
=
static_cast<
TGCSector::TGCPatchPanelType
>
(
rs
+ 1);
179
}
180
181
}
//end of namespace bracket
182
183
#endif
rs
static Double_t rs
Definition
LArPhysWaveHECTool.cxx:37
TGCBIS78.h
TGCNSW.h
TGCTMDB.h
TGCTimingManager.h
LVL1TGCTrigger::TGCASDOut
Definition
TGCASDOut.h:12
LVL1TGCTrigger::TGCArguments
Definition
TGCArguments.h:12
LVL1TGCTrigger::TGCConnectionASDToPP
Definition
TGCConnectionASDToPP.h:12
LVL1TGCTrigger::TGCConnectionHPBToSL
Definition
TGCConnectionHPBToSL.h:16
LVL1TGCTrigger::TGCConnectionPPToSB
Definition
TGCConnectionPPToSB.h:15
LVL1TGCTrigger::TGCConnectionPPToSL
Definition
TGCConnectionPPToSL.h:16
LVL1TGCTrigger::TGCConnectionSBToHPB
Definition
TGCConnectionSBToHPB.h:15
LVL1TGCTrigger::TGCDatabaseManager
Definition
TGCDatabaseManager.h:39
LVL1TGCTrigger::TGCHighPtBoard
Definition
TGCHighPtBoard.h:34
LVL1TGCTrigger::TGCPatchPanel
Definition
TGCPatchPanel.h:38
LVL1TGCTrigger::TGCSectorLogic
Definition
TGCSectorLogic.h:41
LVL1TGCTrigger::TGCSector::TGCSector
TGCSector()
Definition
TGCSector.cxx:90
LVL1TGCTrigger::TGCSector::m_HPB
std::vector< TGCHighPtBoard * > m_HPB[NumberOfHighPtBoardType]
Definition
TGCSector.h:115
LVL1TGCTrigger::TGCSector::connectPPToSB
void connectPPToSB(const TGCConnectionPPToSB *connection)
Definition
TGCSector.cxx:256
LVL1TGCTrigger::TGCSector::getNSW
std::shared_ptr< const LVL1TGC::TGCNSW > getNSW() const
Definition
TGCSector.h:84
LVL1TGCTrigger::TGCSector::getNumberOfSB
unsigned int getNumberOfSB(int type) const
Definition
TGCSector.h:159
LVL1TGCTrigger::TGCSector::m_sideId
LVL1TGC::TGCSide m_sideId
Definition
TGCSector.h:105
LVL1TGCTrigger::TGCSector::m_BIS78
std::shared_ptr< const LVL1TGC::TGCBIS78 > m_BIS78
Definition
TGCSector.h:120
LVL1TGCTrigger::TGCSector::m_tgcArgs
TGCArguments * m_tgcArgs
Definition
TGCSector.h:122
LVL1TGCTrigger::TGCSector::TGCSector
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)
Definition
TGCSector.cxx:110
LVL1TGCTrigger::TGCSector::getHPB
TGCHighPtBoard * getHPB(int type, int index) const
Definition
TGCSector.h:147
LVL1TGCTrigger::TGCSector::m_id
int m_id
Definition
TGCSector.h:103
LVL1TGCTrigger::TGCSector::tgcArgs
TGCArguments * tgcArgs()
Definition
TGCSector.h:79
LVL1TGCTrigger::TGCSector::setModule
void setModule(const TGCConnectionPPToSL *connection)
Definition
TGCSector.cxx:166
LVL1TGCTrigger::TGCSector::m_PP
std::vector< TGCPatchPanel * > m_PP[NumberOfPatchPanelType]
Definition
TGCSector.h:113
LVL1TGCTrigger::TGCSector::getRegionType
TGCRegionType getRegionType() const
Definition
TGCSector.h:169
LVL1TGCTrigger::TGCSector::TGCPatchPanelType
TGCPatchPanelType
Definition
TGCSector.h:34
LVL1TGCTrigger::TGCSector::WTPP
@ WTPP
Definition
TGCSector.h:35
LVL1TGCTrigger::TGCSector::SIPP
@ SIPP
Definition
TGCSector.h:35
LVL1TGCTrigger::TGCSector::WDPP
@ WDPP
Definition
TGCSector.h:35
LVL1TGCTrigger::TGCSector::WIPP
@ WIPP
Definition
TGCSector.h:35
LVL1TGCTrigger::TGCSector::NOPP
@ NOPP
Definition
TGCSector.h:34
LVL1TGCTrigger::TGCSector::NumberOfPatchPanelType
@ NumberOfPatchPanelType
Definition
TGCSector.h:36
LVL1TGCTrigger::TGCSector::SDPP
@ SDPP
Definition
TGCSector.h:35
LVL1TGCTrigger::TGCSector::STPP
@ STPP
Definition
TGCSector.h:35
LVL1TGCTrigger::TGCSector::getSL
TGCSectorLogic * getSL()
Definition
TGCSector.h:65
LVL1TGCTrigger::TGCSector::clearNumberOfHit
void clearNumberOfHit()
Definition
TGCSector.h:132
LVL1TGCTrigger::TGCSector::getNumberOfHPB
unsigned int getNumberOfHPB(int type) const
Definition
TGCSector.h:164
LVL1TGCTrigger::TGCSector::m_SL
TGCSectorLogic * m_SL
Definition
TGCSector.h:117
LVL1TGCTrigger::TGCSector::getOctantId
int getOctantId() const
Definition
TGCSector.h:76
LVL1TGCTrigger::TGCSector::dumpModule
void dumpModule()
Definition
TGCSector.cxx:406
LVL1TGCTrigger::TGCSector::TGCHighPtBoardType
TGCHighPtBoardType
Definition
TGCSector.h:33
LVL1TGCTrigger::TGCSector::SHPB
@ SHPB
Definition
TGCSector.h:33
LVL1TGCTrigger::TGCSector::NumberOfHighPtBoardType
@ NumberOfHighPtBoardType
Definition
TGCSector.h:33
LVL1TGCTrigger::TGCSector::WHPB
@ WHPB
Definition
TGCSector.h:33
LVL1TGCTrigger::TGCSector::m_regionType
TGCRegionType m_regionType
Definition
TGCSector.h:104
LVL1TGCTrigger::TGCSector::tgcArgs
const TGCArguments * tgcArgs() const
Definition
TGCSector.h:80
LVL1TGCTrigger::TGCSector::hasHit
bool hasHit() const
Definition
TGCSector.h:127
LVL1TGCTrigger::TGCSector::getTMDB
std::shared_ptr< const LVL1TGC::TGCTMDB > getTMDB() const
Definition
TGCSector.h:83
LVL1TGCTrigger::TGCSector::m_TMDB
std::shared_ptr< const LVL1TGC::TGCTMDB > m_TMDB
Definition
TGCSector.h:118
LVL1TGCTrigger::TGCSector::~TGCSector
virtual ~TGCSector()
Definition
TGCSector.cxx:379
LVL1TGCTrigger::TGCSector::connectSBToHPB
void connectSBToHPB(const TGCConnectionSBToHPB *connection)
Definition
TGCSector.cxx:324
LVL1TGCTrigger::TGCSector::m_dbMgr
const TGCDatabaseManager * m_dbMgr
Definition
TGCSector.h:123
LVL1TGCTrigger::TGCSector::TGCSector
TGCSector(const TGCSector &right)=delete
LVL1TGCTrigger::TGCSector::m_numberOfHit
int m_numberOfHit
Definition
TGCSector.h:106
LVL1TGCTrigger::TGCSector::m_moduleId
int m_moduleId
Definition
TGCSector.h:108
LVL1TGCTrigger::TGCSector::m_SB
std::vector< TGCSlaveBoard * > m_SB[NumberOfSlaveBoardType]
Definition
TGCSector.h:114
LVL1TGCTrigger::TGCSector::m_octantId
int m_octantId
Definition
TGCSector.h:107
LVL1TGCTrigger::TGCSector::getSB
TGCSlaveBoard * getSB(int type, int index) const
Definition
TGCSector.h:141
LVL1TGCTrigger::TGCSector::getPP
TGCPatchPanel * getPP(int type, int index) const
Definition
TGCSector.h:135
LVL1TGCTrigger::TGCSector::distributeSignal
int distributeSignal(const TGCASDOut *asdOut)
Definition
TGCSector.cxx:34
LVL1TGCTrigger::TGCSector::getSideId
LVL1TGC::TGCSide getSideId() const
Definition
TGCSector.h:75
LVL1TGCTrigger::TGCSector::m_forwardBackward
TGCForwardBackwardType m_forwardBackward
Definition
TGCSector.h:110
LVL1TGCTrigger::TGCSector::operator=
TGCSector & operator=(const TGCSector &right)=delete
LVL1TGCTrigger::TGCSector::m_ASDToPP
const TGCConnectionASDToPP * m_ASDToPP[NumberOfPatchPanelType]
Definition
TGCSector.h:111
LVL1TGCTrigger::TGCSector::connectAdjacentPP
void connectAdjacentPP()
Definition
TGCSector.cxx:295
LVL1TGCTrigger::TGCSector::m_NSW
std::shared_ptr< const LVL1TGC::TGCNSW > m_NSW
Definition
TGCSector.h:119
LVL1TGCTrigger::TGCSector::connectHPBToSL
void connectHPBToSL(const TGCConnectionHPBToSL *connection)
Definition
TGCSector.cxx:346
LVL1TGCTrigger::TGCSector::getPatchPanelType
int getPatchPanelType(TGCSignalType signal, int layer) const
Definition
TGCSector.cxx:74
LVL1TGCTrigger::TGCSector::getId
int getId() const
Definition
TGCSector.h:173
LVL1TGCTrigger::TGCSector::getBIS78
std::shared_ptr< const LVL1TGC::TGCBIS78 > getBIS78() const
Definition
TGCSector.h:85
LVL1TGCTrigger::TGCSector::connectAdjacentHPB
void connectAdjacentHPB()
Definition
TGCSector.cxx:359
LVL1TGCTrigger::TGCSector::getNumberOfPP
unsigned int getNumberOfPP(int type) const
Definition
TGCSector.h:153
LVL1TGCTrigger::TGCSector::getModuleId
int getModuleId() const
Definition
TGCSector.h:77
LVL1TGCTrigger::TGCSlaveBoard
Definition
TGCSlaveBoard.h:22
LVL1TGCTrigger::TGCTimingManager::startPatchPanel
void startPatchPanel(TGCSector *sector, TGCDatabaseManager *db=0)
Definition
TGCTimingManager.cxx:33
LVL1TGCTrigger::TGCTimingManager::startHighPtBoard
void startHighPtBoard(TGCSector *sector)
Definition
TGCTimingManager.cxx:72
LVL1TGCTrigger::TGCTimingManager::startSectorLogic
void startSectorLogic(TGCSector *sector)
Definition
TGCTimingManager.cxx:87
LVL1TGCTrigger::TGCTimingManager::startSlaveBoard
void startSlaveBoard(TGCSector *sector)
Definition
TGCTimingManager.cxx:54
LVL1TGCTrigger
Definition
LVL1TGCTrigger.cxx:48
LVL1TGCTrigger::TGCForwardBackwardType
TGCForwardBackwardType
Definition
TGCNumbering.h:59
LVL1TGCTrigger::TGCSignalType
TGCSignalType
Definition
TGCNumbering.h:51
LVL1TGCTrigger::TGCRegionType
TGCRegionType
Definition
TGCNumbering.h:49
LVL1TGCTrigger::operator++
TGCHBChip operator++(TGCHBChip &rs, int)
Definition
TGCHighPtBoard.h:28
LVL1TGCTrigger::NumberOfSlaveBoardType
@ NumberOfSlaveBoardType
Definition
TGCNumbering.h:57
LVL1TGC::TGCSide
TGCSide
The sides of TGC (A- or C-side).
Definition
TGCNumbering.h:13
LVL1TGC::ASIDE
@ ASIDE
Definition
TGCNumbering.h:14
index
Definition
index.py:1
type
Generated on
for ATLAS Offline Software by
1.17.0