ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArGeoModel
LArHV
src
HECHVModule.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
LArHV/HECHVModule.h
"
6
#include "
LArHV/HECHVManager.h
"
7
#include "
LArHV/HECHVDescriptor.h
"
8
#include "
LArHV/HECHVSubgap.h
"
9
10
class
HECHVModule::Clockwork
{
11
public
:
12
Clockwork
(
const
HECHVManager
* managerPtr
13
,
const
HECHVModule
* modulePtr
14
,
unsigned
int
side
15
,
unsigned
int
phi
16
,
unsigned
int
sampling)
17
:
manager
(managerPtr)
18
,
iSide
(side)
19
,
iPhi
(
phi
)
20
,
iSampling
(sampling)
21
{
22
for
(
unsigned
iSubgap=0; iSubgap<4; ++iSubgap) {
23
subgaps
[iSubgap] =
new
HECHVSubgap
(modulePtr,iSubgap);
24
}
25
}
26
~Clockwork
()
27
{
28
for
(
unsigned
iSubgap=0; iSubgap<4; ++iSubgap) {
29
delete
subgaps
[iSubgap];
30
}
31
}
32
33
const
HECHVManager
*
manager
;
34
unsigned
int
iSide
;
35
unsigned
int
iPhi
;
36
unsigned
int
iSampling
;
37
38
const
HECHVSubgap
*
subgaps
[4]{};
39
};
40
41
HECHVModule::HECHVModule
(
const
HECHVManager
*manager
42
,
unsigned
int
iSide
43
,
unsigned
int
iPhi
44
,
unsigned
int
iSampling)
45
:
m_c
(
std
::make_unique<
Clockwork
> (manager,this,iSide,iPhi,iSampling))
46
{
47
}
48
49
unsigned
int
HECHVModule::getSideIndex
()
const
50
{
51
return
m_c
->iSide;
52
}
53
54
unsigned
int
HECHVModule::getSamplingIndex
()
const
55
{
56
return
m_c
->iSampling;
57
}
58
59
unsigned
int
HECHVModule::getPhiIndex
()
const
60
{
61
return
m_c
->iPhi;
62
}
63
64
unsigned
int
HECHVModule::getNumSubgaps
()
65
{
66
return
4;
67
}
68
69
const
HECHVSubgap
&
HECHVModule::getSubgap
(
unsigned
int
iElectrode)
const
70
{
71
return
*(
m_c
->subgaps[iElectrode]);
72
}
73
74
HECHVModule::~HECHVModule
() =
default
;
75
76
double
HECHVModule::getPhiMin
()
const
77
{
78
return
m_c
->manager->getDescriptor().getPhiBinning().binLower(
m_c
->iPhi);
79
}
80
81
double
HECHVModule::getPhiMax
()
const
82
{
83
return
m_c
->manager->getDescriptor().getPhiBinning().binUpper(
m_c
->iPhi);
84
}
85
86
const
HECHVManager
&
HECHVModule::getManager
()
const
87
{
88
return
*(
m_c
->manager);
89
}
90
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
HECHVDescriptor.h
HECHVManager.h
HECHVModule.h
HECHVSubgap.h
HECHVManager
This class provides direct access to information on the HV electrodes within the barrels.
Definition
HECHVManager.h:36
HECHVModule::Clockwork
Definition
HECHVModule.cxx:10
HECHVModule::Clockwork::iSampling
unsigned int iSampling
Definition
HECHVModule.cxx:36
HECHVModule::Clockwork::iSide
unsigned int iSide
Definition
HECHVModule.cxx:34
HECHVModule::Clockwork::subgaps
const HECHVSubgap * subgaps[4]
Definition
HECHVModule.cxx:38
HECHVModule::Clockwork::iPhi
unsigned int iPhi
Definition
HECHVModule.cxx:35
HECHVModule::Clockwork::manager
const HECHVManager * manager
Definition
HECHVModule.cxx:33
HECHVModule::Clockwork::Clockwork
Clockwork(const HECHVManager *managerPtr, const HECHVModule *modulePtr, unsigned int side, unsigned int phi, unsigned int sampling)
Definition
HECHVModule.cxx:12
HECHVModule::Clockwork::~Clockwork
~Clockwork()
Definition
HECHVModule.cxx:26
HECHVModule::getPhiIndex
unsigned int getPhiIndex() const
Definition
HECHVModule.cxx:59
HECHVModule::getSubgap
const HECHVSubgap & getSubgap(unsigned int iElectrode) const
Definition
HECHVModule.cxx:69
HECHVModule::getSideIndex
unsigned int getSideIndex() const
Definition
HECHVModule.cxx:49
HECHVModule::getSamplingIndex
unsigned int getSamplingIndex() const
Definition
HECHVModule.cxx:54
HECHVModule::m_c
std::unique_ptr< Clockwork > m_c
Definition
HECHVModule.h:50
HECHVModule::getPhiMin
double getPhiMin() const
Definition
HECHVModule.cxx:76
HECHVModule::getManager
const HECHVManager & getManager() const
Definition
HECHVModule.cxx:86
HECHVModule::getNumSubgaps
static unsigned int getNumSubgaps()
Definition
HECHVModule.cxx:64
HECHVModule::getPhiMax
double getPhiMax() const
Definition
HECHVModule.cxx:81
HECHVModule::~HECHVModule
~HECHVModule()
HECHVModule::HECHVModule
HECHVModule(const HECHVManager *manager, unsigned int iSide, unsigned int iPhi, unsigned int iSampling)
Definition
HECHVModule.cxx:41
HECHVSubgap
Definition
HECHVSubgap.h:15
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0