ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArGeoModel
LArHV
LArHV
EMECPresamplerHVManager.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_EMECPRESAMPLERHVMANAGER_H
6
#define LARHV_EMECPRESAMPLERHVMANAGER_H
7
8
#include "
LArHV/EMECPresamplerHVModule.h
"
9
#include "
Identifier/HWIdentifier.h
"
10
#include <memory>
11
#include <functional>
12
13
#if !(defined(SIMULATIONBASE) || defined(GENERATIONBASE))
14
class
LArHVIdMapping
;
15
#endif
16
17
class
CondAttrListCollection
;
18
struct
EMECPresamplerHVPayload
;
19
class
CellBinning;
20
34
35
class
EMECPresamplerHVManager
36
{
37
public
:
38
class
EMECPresamplerHVData
39
{
40
public
:
41
static
constexpr
double
INVALID
= -99999;
42
class
Payload
;
43
EMECPresamplerHVData
();
44
EMECPresamplerHVData
(std::unique_ptr<Payload> payload);
45
EMECPresamplerHVData
&
operator=
(
EMECPresamplerHVData
&& other)
noexcept
;
46
~EMECPresamplerHVData
();
47
bool
hvOn
(
const
EMECPresamplerHVModule
& module,
const
int
& iGap)
const
;
48
double
voltage
(
const
EMECPresamplerHVModule
& module,
const
int
& iGap)
const
;
49
double
current
(
const
EMECPresamplerHVModule
& module,
const
int
& iGap)
const
;
50
int
hvLineNo
(
const
EMECPresamplerHVModule
& module,
const
int
& iGap)
const
;
51
private
:
52
static
int
index
(
const
EMECPresamplerHVModule
& module) ;
53
std::unique_ptr<Payload>
m_payload
;
54
};
55
56
EMECPresamplerHVManager
();
57
~EMECPresamplerHVManager
();
58
59
const
CellBinning *
getPhiBinning
()
const
;
60
61
unsigned
int
beginPhiIndex
()
const
;
62
unsigned
int
endPhiIndex
()
const
;
63
64
// Begin/end side index (0=negative and 1= positive)
65
static
unsigned
int
beginSideIndex
() ;
66
static
unsigned
int
endSideIndex
() ;
67
68
// Get a link to the HV module:
69
const
EMECPresamplerHVModule
&
getHVModule
(
unsigned
int
iSide,
unsigned
int
iPhi)
const
;
70
71
#if !(defined(SIMULATIONBASE) || defined(GENERATIONBASE))
72
EMECPresamplerHVData
getData
(
const
LArHVIdMapping
& hvIdMapping,
73
const
std::vector<const CondAttrListCollection*>& attrLists)
const
;
74
// Get hvLine for a module
75
int
hvLineNo
(
const
EMECPresamplerHVModule
& module
76
,
const
LArHVIdMapping
* hvIdMapping,
HWIdentifier
*hvlineId=
nullptr
)
const
;
77
#endif
78
79
private
:
80
using
idfunc_t
= std::function<std::vector<HWIdentifier>(
HWIdentifier
)>;
81
EMECPresamplerHVData
getData
(
const
idfunc_t
& idfunc,
82
const
std::vector<const CondAttrListCollection*>& attrLists)
const
;
83
84
// Illegal operations
85
EMECPresamplerHVManager
&
operator=
(
const
EMECPresamplerHVManager
& right) =
delete
;
86
EMECPresamplerHVManager
(
const
EMECPresamplerHVManager
& right) =
delete
;
87
88
class
Clockwork
;
89
std::unique_ptr<const Clockwork>
m_c
;
90
};
91
92
93
#endif
EMECPresamplerHVModule.h
HWIdentifier.h
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number.
Definition
CondAttrListCollection.h:51
EMECPresamplerHVManager::Clockwork
Definition
EMECPresamplerHVManager.cxx:35
EMECPresamplerHVManager::EMECPresamplerHVData::Payload
Definition
EMECPresamplerHVManager.cxx:61
EMECPresamplerHVManager::EMECPresamplerHVData
Definition
EMECPresamplerHVManager.h:39
EMECPresamplerHVManager::EMECPresamplerHVData::operator=
EMECPresamplerHVData & operator=(EMECPresamplerHVData &&other) noexcept
Definition
EMECPresamplerHVManager.cxx:79
EMECPresamplerHVManager::EMECPresamplerHVData::EMECPresamplerHVData
EMECPresamplerHVData()
EMECPresamplerHVManager::EMECPresamplerHVData::hvOn
bool hvOn(const EMECPresamplerHVModule &module, const int &iGap) const
Definition
EMECPresamplerHVManager.cxx:92
EMECPresamplerHVManager::EMECPresamplerHVData::voltage
double voltage(const EMECPresamplerHVModule &module, const int &iGap) const
Definition
EMECPresamplerHVManager.cxx:99
EMECPresamplerHVManager::EMECPresamplerHVData::current
double current(const EMECPresamplerHVModule &module, const int &iGap) const
Definition
EMECPresamplerHVManager.cxx:106
EMECPresamplerHVManager::EMECPresamplerHVData::INVALID
static constexpr double INVALID
Definition
EMECPresamplerHVManager.h:41
EMECPresamplerHVManager::EMECPresamplerHVData::hvLineNo
int hvLineNo(const EMECPresamplerHVModule &module, const int &iGap) const
Definition
EMECPresamplerHVManager.cxx:113
EMECPresamplerHVManager::EMECPresamplerHVData::m_payload
std::unique_ptr< Payload > m_payload
Definition
EMECPresamplerHVManager.h:53
EMECPresamplerHVManager::EMECPresamplerHVData::~EMECPresamplerHVData
~EMECPresamplerHVData()
EMECPresamplerHVManager::getData
EMECPresamplerHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
Definition
EMECPresamplerHVManager.cxx:241
EMECPresamplerHVManager::EMECPresamplerHVManager
EMECPresamplerHVManager()
Definition
EMECPresamplerHVManager.cxx:129
EMECPresamplerHVManager::getPhiBinning
const CellBinning * getPhiBinning() const
Definition
EMECPresamplerHVManager.cxx:137
EMECPresamplerHVManager::beginPhiIndex
unsigned int beginPhiIndex() const
Definition
EMECPresamplerHVManager.cxx:142
EMECPresamplerHVManager::EMECPresamplerHVManager
EMECPresamplerHVManager(const EMECPresamplerHVManager &right)=delete
EMECPresamplerHVManager::hvLineNo
int hvLineNo(const EMECPresamplerHVModule &module, const LArHVIdMapping *hvIdMapping, HWIdentifier *hvlineId=nullptr) const
Definition
EMECPresamplerHVManager.cxx:250
EMECPresamplerHVManager::endPhiIndex
unsigned int endPhiIndex() const
Definition
EMECPresamplerHVManager.cxx:147
EMECPresamplerHVManager::m_c
std::unique_ptr< const Clockwork > m_c
Definition
EMECPresamplerHVManager.h:89
EMECPresamplerHVManager::getHVModule
const EMECPresamplerHVModule & getHVModule(unsigned int iSide, unsigned int iPhi) const
Definition
EMECPresamplerHVManager.cxx:152
EMECPresamplerHVManager::idfunc_t
std::function< std::vector< HWIdentifier >(HWIdentifier)> idfunc_t
Definition
EMECPresamplerHVManager.h:80
EMECPresamplerHVManager::endSideIndex
static unsigned int endSideIndex()
Definition
EMECPresamplerHVManager.cxx:162
EMECPresamplerHVManager::beginSideIndex
static unsigned int beginSideIndex()
Definition
EMECPresamplerHVManager.cxx:157
EMECPresamplerHVManager::~EMECPresamplerHVManager
~EMECPresamplerHVManager()
EMECPresamplerHVManager::operator=
EMECPresamplerHVManager & operator=(const EMECPresamplerHVManager &right)=delete
EMECPresamplerHVModule
Describes one HV Module within the EMEc Presampler.
Definition
EMECPresamplerHVModule.h:22
HWIdentifier
Definition
HWIdentifier.h:13
LArHVIdMapping
Definition
LArHVIdMapping.h:21
index
Definition
index.py:1
EMECPresamplerHVPayload
Definition
EMECPresamplerHVPayload.h:8
Generated on
for ATLAS Offline Software by
1.17.0