ATLAS Offline Software
SingleConditionsDatum.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
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>
20  public:
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 {
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:
41  std::unordered_map<int, T> m_valueMap;
42 };
43 
44 
45 #endif
46 
SingleConditionsDatum
Definition: SingleConditionsDatum.h:19
athena.value
value
Definition: athena.py:124
SingleConditionsDatum::useDefaultValue
bool useDefaultValue() const
Definition: SingleConditionsDatum.h:35
SingleConditionsDatum::m_defaultValue
T m_defaultValue
Definition: SingleConditionsDatum.h:39
SingleConditionsDatum::setValue
void setValue(int chanNum, T value)
Definition: SingleConditionsDatum.h:24
SingleConditionsDatum::useDefaultValue
void useDefaultValue(bool b)
Definition: SingleConditionsDatum.h:22
checkCoolLatestUpdate.chanNum
chanNum
Definition: checkCoolLatestUpdate.py:26
SingleConditionsDatum::m_alwaysUseDefault
bool m_alwaysUseDefault
Definition: SingleConditionsDatum.h:40
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
python.PyAthena.v
v
Definition: PyAthena.py:154
SingleConditionsDatum::defaultValue
float defaultValue() const
Definition: SingleConditionsDatum.h:36
SingleConditionsDatum::m_valueMap
std::unordered_map< int, T > m_valueMap
Definition: SingleConditionsDatum.h:41
SingleConditionsDatum::getValue
T getValue(const int chanNum) const
Definition: SingleConditionsDatum.h:29
SingleConditionsDatum::setChanToDefault
void setChanToDefault(int chanNum)
Definition: SingleConditionsDatum.h:23
Default
SingleConditionsDatum::defaultValue
void defaultValue(T v)
Definition: SingleConditionsDatum.h:21
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35