ATLAS Offline Software
Trigger
TrigT1
TrigT1TGC
src
TGCSSCControllerOut.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrigT1TGC/TGCSSCControllerOut.h
"
6
#include <iostream>
7
8
namespace
LVL1TGCTrigger
{
9
10
const
int
TGCSSCControllerOut::s_chamber
[
NumberOfRegionType
][LVL1TGC::kNMaxSSC]
11
= {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
12
{ 0, 0, 0, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4 }
13
};
14
15
TGCSSCControllerOut::TGCSSCControllerOut
(
TGCRegionType
region):
16
m_regionType(region)
17
{
18
for
(
int
i
=0;
i
<
MaxNumberOfChamberInR
;
i
++ ){
19
for
(
int
j=0; j<
MaxNumberOfPhiInSSC
; j++) {
20
m_phi
[
i
][j] =0;
21
m_dPhi
[
i
][j] = 0;
22
m_ptPhi
[
i
][j] =0;
23
m_hitPhi
[
i
][j] =
false
;
24
}
25
}
26
27
for
(
size_t
i
=0;
i
< LVL1TGC::kNMaxSSC;
i
++ ){
28
m_r
[
i
] = 0;
29
m_dR
[
i
] = 0;
30
m_ptR
[
i
] = 0;
31
m_hitR
[
i
] =
false
;
32
}
33
}
34
35
bool
TGCSSCControllerOut::hasHit
(
int
ssc,
bool
ored)
const
36
{
37
for
(
int
phiposInSSC = 0; phiposInSSC <
MaxNumberOfPhiInSSC
; phiposInSSC++){
38
if
(!ored){
39
if
(
m_hitR
[ssc]&&
m_hitPhi
[
getChamberNumber
(ssc)][phiposInSSC])
return
true
;
40
}
else
if
(
hasChamberBoundary
(ssc)){
41
int
idx
=
getOredChamberNumber
(ssc);
42
if
(
m_hitR
[ssc] && (
idx
>=0) &&
43
m_hitPhi
[
idx
][phiposInSSC])
return
true
;
44
}
45
}
46
return
false
;
47
}
48
49
bool
TGCSSCControllerOut::hasHit
(
int
ssc,
int
phiposInSSC,
bool
ored)
const
50
{
51
if
(!ored){
52
if
(
m_hitR
[ssc]&&
m_hitPhi
[
getChamberNumber
(ssc)][phiposInSSC])
return
true
;
53
}
else
if
(
hasChamberBoundary
(ssc)){
54
int
idx
=
getOredChamberNumber
(ssc);
55
if
(
m_hitR
[ssc] && (
idx
>=0) &&
56
m_hitPhi
[
idx
][phiposInSSC])
return
true
;
57
}
58
return
false
;
59
}
60
61
void
TGCSSCControllerOut::print
()
const
62
{
63
#ifdef TGCCOUT
64
int
i
,j,
k
;
65
std::cout<<std::endl;
66
std::cout<<
"TGCSSCControllerOut::print() begin"
<<std::endl;
67
68
for
( j=0; j<
getNumberOfChamberInR
(); j+=1)
69
for
(
k
=0;
k
<
MaxNumberOfPhiInSSC
;
k
++)
70
if
(
m_hitPhi
[j][
k
]) std::cout<<
"#Chamber= "
<< j <<
" Phi"
<<
k
71
<<
" phi= "
<<
m_phi
[j][
k
]<<
" dPhi= "
<<
m_dPhi
[j][
k
]
72
<<
" H/L= "
<<
m_ptPhi
[j][
k
]<<std::endl;
73
74
for
(
i
=0;
i
<
getNumberOfSubSectorCluster
();
i
+=1)
75
if
(
m_hitR
[
i
]) std::cout<<
"#SSC= "
<<
i
76
<<
" r= "
<<
m_r
[
i
]<<
" dR= "
<<
m_dR
[
i
]
77
<<
" H/L= "
<<
m_ptR
[
i
]<<std::endl;
78
79
std::cout<<
"TGCSSCControllerOut::print() end"
<<std::endl;
80
#endif
81
}
82
83
void
TGCSSCControllerOut::clear
()
84
{
85
int
i
, j;
86
for
(
i
=0;
i
<
getNumberOfChamberInR
();
i
+=1)
87
for
( j=0; j<
MaxNumberOfPhiInSSC
; j++)
88
m_hitPhi
[
i
][j]=
false
;
89
90
for
(
i
=0;
i
<
getNumberOfSubSectorCluster
();
i
+=1)
91
m_hitR
[
i
]=
false
;
92
}
93
94
95
}
//end of namespace bracket
LVL1TGCTrigger::TGCSSCControllerOut::MaxNumberOfPhiInSSC
@ MaxNumberOfPhiInSSC
Definition:
TGCSSCControllerOut.h:15
LVL1TGCTrigger::TGCSSCControllerOut::print
void print() const
Definition:
TGCSSCControllerOut.cxx:61
LVL1TGCTrigger::NumberOfRegionType
const int NumberOfRegionType
Definition:
TGCNumbering.h:55
LVL1TGCTrigger::TGCSSCControllerOut::m_dR
int m_dR[LVL1TGC::kNMaxSSC]
Definition:
TGCSSCControllerOut.h:65
LVL1TGCTrigger::TGCSSCControllerOut::hasHit
bool hasHit(int ssc, bool ored=false) const
Definition:
TGCSSCControllerOut.cxx:35
TGCSSCControllerOut.h
LVL1TGCTrigger::TGCSSCControllerOut::m_ptR
int m_ptR[LVL1TGC::kNMaxSSC]
Definition:
TGCSSCControllerOut.h:66
LVL1TGCTrigger::TGCSSCControllerOut::clear
void clear()
Definition:
TGCSSCControllerOut.cxx:83
LVL1TGCTrigger::TGCSSCControllerOut::m_r
int m_r[LVL1TGC::kNMaxSSC]
Definition:
TGCSSCControllerOut.h:64
LVL1TGCTrigger::TGCSSCControllerOut::hasChamberBoundary
bool hasChamberBoundary(int ssc) const
Definition:
TGCSSCControllerOut.h:71
lumiFormat.i
int i
Definition:
lumiFormat.py:85
LVL1TGCTrigger::TGCSSCControllerOut::m_hitPhi
bool m_hitPhi[MaxNumberOfChamberInR][MaxNumberOfPhiInSSC]
Definition:
TGCSSCControllerOut.h:62
LVL1TGCTrigger::TGCSSCControllerOut::getNumberOfChamberInR
int getNumberOfChamberInR() const
Definition:
TGCSSCControllerOut.h:112
LVL1TGCTrigger::TGCSSCControllerOut::getChamberNumber
int getChamberNumber(int ssc) const
Definition:
TGCSSCControllerOut.h:106
LVL1TGCTrigger
Definition:
LVL1TGCTrigger.cxx:47
LVL1TGCTrigger::TGCSSCControllerOut::TGCSSCControllerOut
TGCSSCControllerOut(TGCRegionType region=TGCRegionType::ENDCAP)
Definition:
TGCSSCControllerOut.cxx:15
LVL1TGCTrigger::TGCSSCControllerOut::MaxNumberOfChamberInR
@ MaxNumberOfChamberInR
Definition:
TGCSSCControllerOut.h:16
LVL1TGCTrigger::TGCSSCControllerOut::getNumberOfSubSectorCluster
int getNumberOfSubSectorCluster() const
Definition:
TGCSSCControllerOut.h:118
LVL1TGCTrigger::TGCSSCControllerOut::s_chamber
static const int s_chamber[NumberOfRegionType][LVL1TGC::kNMaxSSC]
Definition:
TGCSSCControllerOut.h:55
LVL1TGCTrigger::TGCSSCControllerOut::getOredChamberNumber
int getOredChamberNumber(int ssc) const
Definition:
TGCSSCControllerOut.h:93
LVL1TGCTrigger::TGCSSCControllerOut::m_hitR
bool m_hitR[LVL1TGC::kNMaxSSC]
Definition:
TGCSSCControllerOut.h:67
LVL1TGCTrigger::TGCRegionType
TGCRegionType
Definition:
TGCNumbering.h:49
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition:
LArNewCalib_DelayDump_OFC_Cali.py:69
LVL1TGCTrigger::TGCSSCControllerOut::m_ptPhi
int m_ptPhi[MaxNumberOfChamberInR][MaxNumberOfPhiInSSC]
Definition:
TGCSSCControllerOut.h:61
LVL1TGCTrigger::TGCSSCControllerOut::m_dPhi
int m_dPhi[MaxNumberOfChamberInR][MaxNumberOfPhiInSSC]
Definition:
TGCSSCControllerOut.h:60
fitman.k
k
Definition:
fitman.py:528
LVL1TGCTrigger::TGCSSCControllerOut::m_phi
int m_phi[MaxNumberOfChamberInR][MaxNumberOfPhiInSSC]
Definition:
TGCSSCControllerOut.h:59
Generated on Sun Dec 22 2024 21:19:30 for ATLAS Offline Software by
1.8.18