ATLAS Offline Software
Loading...
Searching...
No Matches
InnerDetector
InDetConditions
PixelConditionsData
PixelConditionsData
SingleConditionsDatum.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
11
12
#ifndef SingleConditionsDatum_h
13
#define SingleConditionsDatum_h
14
15
#include <unordered_map>
16
17
18
template
<
typename
T, T LoLimit, T HiLimit, T Default, T NonsenseValue>
19
class
SingleConditionsDatum
{
20
public
:
21
void
defaultValue
(T v){
m_defaultValue
= v;}
22
void
useDefaultValue
(
bool
b){
m_alwaysUseDefault
= b;}
23
void
setChanToDefault
(
int
chanNum){
m_valueMap
[chanNum] =
m_defaultValue
;}
24
void
setValue
(
int
chanNum, T value) {
25
auto
beyondLimits = [=](
auto
v) {
return
v<LoLimit or v>HiLimit;};
26
m_valueMap
[chanNum] = beyondLimits(value) ?
m_defaultValue
: value;
27
}
28
//
29
T
getValue
(
const
int
chanNum)
const
{
30
if
(
m_alwaysUseDefault
)
return
m_defaultValue
;
31
auto
itr =
m_valueMap
.find(chanNum);
32
if
(itr!=
m_valueMap
.end()) {
return
itr->second; }
33
return
NonsenseValue;
34
}
35
bool
useDefaultValue
()
const
{
return
m_alwaysUseDefault
;}
36
float
defaultValue
()
const
{
return
m_defaultValue
;}
37
38
private
:
39
T
m_defaultValue
{
Default
};
40
bool
m_alwaysUseDefault
{};
41
std::unordered_map<int, T>
m_valueMap
;
42
};
43
44
45
#endif
46
Default
SingleConditionsDatum
Definition
SingleConditionsDatum.h:19
SingleConditionsDatum::defaultValue
float defaultValue() const
Definition
SingleConditionsDatum.h:36
SingleConditionsDatum::getValue
T getValue(const int chanNum) const
Definition
SingleConditionsDatum.h:29
SingleConditionsDatum::setValue
void setValue(int chanNum, T value)
Definition
SingleConditionsDatum.h:24
SingleConditionsDatum::useDefaultValue
void useDefaultValue(bool b)
Definition
SingleConditionsDatum.h:22
SingleConditionsDatum::setChanToDefault
void setChanToDefault(int chanNum)
Definition
SingleConditionsDatum.h:23
SingleConditionsDatum::m_valueMap
std::unordered_map< int, T > m_valueMap
Definition
SingleConditionsDatum.h:41
SingleConditionsDatum::m_defaultValue
T m_defaultValue
Definition
SingleConditionsDatum.h:39
SingleConditionsDatum::useDefaultValue
bool useDefaultValue() const
Definition
SingleConditionsDatum.h:35
SingleConditionsDatum::m_alwaysUseDefault
bool m_alwaysUseDefault
Definition
SingleConditionsDatum.h:40
SingleConditionsDatum::defaultValue
void defaultValue(T v)
Definition
SingleConditionsDatum.h:21
Generated on
for ATLAS Offline Software by
1.14.0