ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArGeoModel
LArHV
LArHV
EMECHVManager.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef LARHV_EMECHVMANAGER_H
6
#define LARHV_EMECHVMANAGER_H
7
8
#include "
LArHV/EMECHVModule.h
"
9
#include "
LArHV/EMECHVDescriptor.h
"
10
#include "
Identifier/HWIdentifier.h
"
11
#include <memory>
12
#include <functional>
13
14
#if !(defined(SIMULATIONBASE) || defined(GENERATIONBASE))
15
class
LArHVIdMapping
;
16
#endif
17
18
struct
EMECHVPayload
;
19
class
CondAttrListCollection
;
20
34
35
class
EMECHVManager
36
{
37
public
:
38
typedef
EMECHVModule::IOType
IOType
;
39
40
class
EMECHVData
41
{
42
public
:
43
static
constexpr
double
INVALID
= -99999;
44
class
Payload
;
45
EMECHVData
();
46
EMECHVData
(std::unique_ptr<Payload> payload);
47
EMECHVData
&
operator=
(
EMECHVData
&& other)
noexcept
;
48
~EMECHVData
();
49
bool
hvOn
(
const
EMECHVElectrode
& electrode,
const
int
& iGap)
const
;
50
double
voltage
(
const
EMECHVElectrode
& electrode,
const
int
& iGap)
const
;
51
double
current
(
const
EMECHVElectrode
& electrode,
const
int
& iGap)
const
;
52
int
hvLineNo
(
const
EMECHVElectrode
& electrode,
const
int
& iGap)
const
;
53
private
:
54
static
int
index
(
const
EMECHVElectrode
& electrode) ;
55
std::unique_ptr<Payload>
m_payload
;
56
};
57
58
EMECHVManager
(
IOType
wheel);
59
~EMECHVManager
();
60
61
const
EMECHVDescriptor
&
getDescriptor
()
const
;
62
63
unsigned
int
beginPhiIndex
()
const
;
64
unsigned
int
endPhiIndex
()
const
;
65
66
unsigned
int
beginEtaIndex
()
const
;
67
unsigned
int
endEtaIndex
()
const
;
68
69
const
EMECHVModule
&
getHVModule
(
unsigned
int
iSide
70
,
unsigned
int
iEta
71
,
unsigned
int
iPhi
72
,
unsigned
int
iSector)
const
;
73
74
// Begin/End side index (0=negative and 1= positive)
75
static
unsigned
int
beginSideIndex
() ;
76
static
unsigned
int
endSideIndex
() ;
77
78
unsigned
int
beginSectorIndex
()
const
;
79
unsigned
int
endSectorIndex
()
const
;
80
81
// Gets the Wheel, 0 for the Outer Wheel HV Manager and 1 for the inner Wheel HV Manager
82
EMECHVManager::IOType
getWheelIndex
()
const
;
83
84
// Get the database payload --- for use by simulation only
85
// (doesn't account for conditions changes)
86
EMECHVData
getDataSim
()
const
;
87
88
#if !(defined(SIMULATIONBASE) || defined(GENERATIONBASE))
89
EMECHVData
getData
(
const
LArHVIdMapping
& hvIdMapping,
90
const
std::vector<const CondAttrListCollection*>& attrLists)
const
;
91
// Get hvLine for an electrode
92
int
hvLineNo
(
const
EMECHVElectrode
& electrode
93
,
int
gap
94
,
const
LArHVIdMapping
* hvIdMapping
95
,
HWIdentifier
*hvlId=
nullptr
)
const
;
96
#endif
97
98
private
:
99
using
idfunc_t
= std::function<std::vector<HWIdentifier>(
HWIdentifier
)>;
100
EMECHVData
getData
(
const
idfunc_t
& idfunc,
101
const
std::vector<const CondAttrListCollection*>& attrLists)
const
;
102
103
EMECHVManager
&
operator=
(
const
EMECHVManager
& right) =
delete
;
104
EMECHVManager
(
const
EMECHVManager
& right) =
delete
;
105
106
class
Clockwork
;
107
std::unique_ptr<const Clockwork>
m_c
;
108
};
109
110
#endif
EMECHVDescriptor.h
EMECHVModule.h
HWIdentifier.h
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number.
Definition
CondAttrListCollection.h:51
EMECHVDescriptor
Definition
EMECHVDescriptor.h:11
EMECHVElectrode
Definition
EMECHVElectrode.h:15
EMECHVManager::Clockwork
Definition
EMECHVManager.cxx:65
EMECHVManager::EMECHVData::Payload
Definition
EMECHVManager.cxx:101
EMECHVManager::EMECHVData
Definition
EMECHVManager.h:41
EMECHVManager::EMECHVData::m_payload
std::unique_ptr< Payload > m_payload
Definition
EMECHVManager.h:55
EMECHVManager::EMECHVData::INVALID
static constexpr double INVALID
Definition
EMECHVManager.h:43
EMECHVManager::EMECHVData::operator=
EMECHVData & operator=(EMECHVData &&other) noexcept
Definition
EMECHVManager.cxx:118
EMECHVManager::EMECHVData::~EMECHVData
~EMECHVData()
EMECHVManager::EMECHVData::current
double current(const EMECHVElectrode &electrode, const int &iGap) const
Definition
EMECHVManager.cxx:143
EMECHVManager::EMECHVData::EMECHVData
EMECHVData()
EMECHVManager::EMECHVData::hvOn
bool hvOn(const EMECHVElectrode &electrode, const int &iGap) const
Definition
EMECHVManager.cxx:131
EMECHVManager::EMECHVData::voltage
double voltage(const EMECHVElectrode &electrode, const int &iGap) const
Definition
EMECHVManager.cxx:137
EMECHVManager::EMECHVData::hvLineNo
int hvLineNo(const EMECHVElectrode &electrode, const int &iGap) const
Definition
EMECHVManager.cxx:149
EMECHVManager::beginEtaIndex
unsigned int beginEtaIndex() const
Definition
EMECHVManager.cxx:212
EMECHVManager::getDescriptor
const EMECHVDescriptor & getDescriptor() const
Definition
EMECHVManager.cxx:197
EMECHVManager::hvLineNo
int hvLineNo(const EMECHVElectrode &electrode, int gap, const LArHVIdMapping *hvIdMapping, HWIdentifier *hvlId=nullptr) const
Definition
EMECHVManager.cxx:397
EMECHVManager::getHVModule
const EMECHVModule & getHVModule(unsigned int iSide, unsigned int iEta, unsigned int iPhi, unsigned int iSector) const
Definition
EMECHVManager.cxx:222
EMECHVManager::~EMECHVManager
~EMECHVManager()
EMECHVManager::beginSectorIndex
unsigned int beginSectorIndex() const
Definition
EMECHVManager.cxx:240
EMECHVManager::endPhiIndex
unsigned int endPhiIndex() const
Definition
EMECHVManager.cxx:207
EMECHVManager::beginSideIndex
static unsigned int beginSideIndex()
Definition
EMECHVManager.cxx:230
EMECHVManager::idfunc_t
std::function< std::vector< HWIdentifier >(HWIdentifier)> idfunc_t
Definition
EMECHVManager.h:99
EMECHVManager::operator=
EMECHVManager & operator=(const EMECHVManager &right)=delete
EMECHVManager::m_c
std::unique_ptr< const Clockwork > m_c
Definition
EMECHVManager.h:107
EMECHVManager::endSideIndex
static unsigned int endSideIndex()
Definition
EMECHVManager.cxx:235
EMECHVManager::endEtaIndex
unsigned int endEtaIndex() const
Definition
EMECHVManager.cxx:217
EMECHVManager::getWheelIndex
EMECHVManager::IOType getWheelIndex() const
Definition
EMECHVManager.cxx:250
EMECHVManager::IOType
EMECHVModule::IOType IOType
Definition
EMECHVManager.h:38
EMECHVManager::endSectorIndex
unsigned int endSectorIndex() const
Definition
EMECHVManager.cxx:245
EMECHVManager::beginPhiIndex
unsigned int beginPhiIndex() const
Definition
EMECHVManager.cxx:202
EMECHVManager::getData
EMECHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
Definition
EMECHVManager.cxx:388
EMECHVManager::EMECHVManager
EMECHVManager(const EMECHVManager &right)=delete
EMECHVManager::getDataSim
EMECHVData getDataSim() const
Definition
EMECHVManager.cxx:370
EMECHVManager::EMECHVManager
EMECHVManager(IOType wheel)
Definition
EMECHVManager.cxx:172
EMECHVModule
Definition
EMECHVModule.h:22
EMECHVModule::IOType
IOType
Definition
EMECHVModule.h:24
HWIdentifier
Definition
HWIdentifier.h:13
LArHVIdMapping
Definition
LArHVIdMapping.h:21
index
Definition
index.py:1
EMECHVPayload
Definition
EMECHVPayload.h:8
Generated on
for ATLAS Offline Software by
1.17.0