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-2026 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
Clockwork
(
const
Clockwork
&) =
delete
;
33
Clockwork
&
operator =
(
const
Clockwork
&) =
delete
;
34
const
HECHVManager
*
manager
;
35
unsigned
int
iSide
;
36
unsigned
int
iPhi
;
37
unsigned
int
iSampling
;
38
39
const
HECHVSubgap
*
subgaps
[4]{};
40
};
41
42
HECHVModule::HECHVModule
(
const
HECHVManager
*manager
43
,
unsigned
int
iSide
44
,
unsigned
int
iPhi
45
,
unsigned
int
iSampling)
46
:
m_c
(
std
::make_unique<
Clockwork
> (manager,this,iSide,iPhi,iSampling))
47
{
48
}
49
50
unsigned
int
HECHVModule::getSideIndex
()
const
51
{
52
return
m_c
->iSide;
53
}
54
55
unsigned
int
HECHVModule::getSamplingIndex
()
const
56
{
57
return
m_c
->iSampling;
58
}
59
60
unsigned
int
HECHVModule::getPhiIndex
()
const
61
{
62
return
m_c
->iPhi;
63
}
64
65
unsigned
int
HECHVModule::getNumSubgaps
()
66
{
67
return
4;
68
}
69
70
const
HECHVSubgap
&
HECHVModule::getSubgap
(
unsigned
int
iElectrode)
const
71
{
72
return
*(
m_c
->subgaps[iElectrode]);
73
}
74
75
HECHVModule::~HECHVModule
() =
default
;
76
77
double
HECHVModule::getPhiMin
()
const
78
{
79
return
m_c
->manager->getDescriptor().getPhiBinning().binLower(
m_c
->iPhi);
80
}
81
82
double
HECHVModule::getPhiMax
()
const
83
{
84
return
m_c
->manager->getDescriptor().getPhiBinning().binUpper(
m_c
->iPhi);
85
}
86
87
const
HECHVManager
&
HECHVModule::getManager
()
const
88
{
89
return
*(
m_c
->manager);
90
}
91
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:37
HECHVModule::Clockwork::iSide
unsigned int iSide
Definition
HECHVModule.cxx:35
HECHVModule::Clockwork::subgaps
const HECHVSubgap * subgaps[4]
Definition
HECHVModule.cxx:39
HECHVModule::Clockwork::iPhi
unsigned int iPhi
Definition
HECHVModule.cxx:36
HECHVModule::Clockwork::manager
const HECHVManager * manager
Definition
HECHVModule.cxx:34
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(const Clockwork &)=delete
HECHVModule::Clockwork::operator=
Clockwork & operator=(const Clockwork &)=delete
HECHVModule::Clockwork::~Clockwork
~Clockwork()
Definition
HECHVModule.cxx:26
HECHVModule::getPhiIndex
unsigned int getPhiIndex() const
Definition
HECHVModule.cxx:60
HECHVModule::getSubgap
const HECHVSubgap & getSubgap(unsigned int iElectrode) const
Definition
HECHVModule.cxx:70
HECHVModule::getSideIndex
unsigned int getSideIndex() const
Definition
HECHVModule.cxx:50
HECHVModule::getSamplingIndex
unsigned int getSamplingIndex() const
Definition
HECHVModule.cxx:55
HECHVModule::m_c
std::unique_ptr< Clockwork > m_c
Definition
HECHVModule.h:50
HECHVModule::getPhiMin
double getPhiMin() const
Definition
HECHVModule.cxx:77
HECHVModule::getManager
const HECHVManager & getManager() const
Definition
HECHVModule.cxx:87
HECHVModule::getNumSubgaps
static unsigned int getNumSubgaps()
Definition
HECHVModule.cxx:65
HECHVModule::getPhiMax
double getPhiMax() const
Definition
HECHVModule.cxx:82
HECHVModule::~HECHVModule
~HECHVModule()
HECHVModule::HECHVModule
HECHVModule(const HECHVManager *manager, unsigned int iSide, unsigned int iPhi, unsigned int iSampling)
Definition
HECHVModule.cxx:42
HECHVSubgap
Definition
HECHVSubgap.h:15
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0