ATLAS Offline Software
NswCalibDbThresholdData.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 MUONCONDDATA_NSWCALIBDBTHRESHOLDDATA_H
6 #define MUONCONDDATA_NSWCALIBDBTHRESHOLDDATA_H
7 
8 // STL includes
9 #include <vector>
10 
11 // Athena includes
12 #include "AthenaKernel/CondCont.h"
13 #include "AthenaKernel/BaseInfo.h"
14 
15 // Forward declarations
16 class Identifier;
17 class MmIdHelper;
18 class sTgcIdHelper;
19 
20 
22 
23  friend class NswCalibDbAlg;
24 
25 public:
26  enum class ThrsldTechType{
27  MM,
28  STGC
29  };
30 
32  virtual ~NswCalibDbThresholdData() = default;
33 
34  // setting functions
35  void setData(const Identifier&, const float);
36  void setZero(ThrsldTechType , const float);
37 
38  // retrieval functions
39  std::vector<Identifier> getChannelIds(const std::string="", const std::string="") const;
40  bool getThreshold (const Identifier& , float& ) const;
41 
42 
43 private:
44 
45  // containers
46  using ChannelMap = std::map<unsigned long long, std::vector<float>>;
47  using ZeroMap = std::map<ThrsldTechType, float>;
50 
51  // ID helpers
54 
55 };
56 
57 CLASS_DEF( NswCalibDbThresholdData , 108292495 , 1 )
58 CLASS_DEF( CondCont<NswCalibDbThresholdData> , 169109811 , 1 )
59 
60 #endif
NswCalibDbThresholdData
Definition: NswCalibDbThresholdData.h:21
CondCont.h
Hold mappings of ranges to condition objects.
NswCalibDbThresholdData::ThrsldTechType
ThrsldTechType
Definition: NswCalibDbThresholdData.h:26
NswCalibDbThresholdData::m_zero
ZeroMap m_zero
Definition: NswCalibDbThresholdData.h:49
NswCalibDbThresholdData::ThrsldTechType::STGC
@ STGC
NswCalibDbThresholdData::setData
void setData(const Identifier &, const float)
Definition: NswCalibDbThresholdData.cxx:23
BaseInfo.h
Provide an interface for finding inheritance information at run time.
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
NswCalibDbThresholdData::ThrsldTechType::MM
@ MM
NswCalibDbThresholdData::ChannelMap
std::map< unsigned long long, std::vector< float > > ChannelMap
Definition: NswCalibDbThresholdData.h:46
NswCalibDbThresholdData::m_data
ChannelMap m_data
Definition: NswCalibDbThresholdData.h:48
NswCalibDbAlg
Definition: NswCalibDbAlg.h:35
NswCalibDbThresholdData::NswCalibDbThresholdData
NswCalibDbThresholdData(const MmIdHelper &, const sTgcIdHelper &)
Definition: NswCalibDbThresholdData.cxx:12
sTgcIdHelper
Definition: sTgcIdHelper.h:55
NswCalibDbThresholdData::getChannelIds
std::vector< Identifier > getChannelIds(const std::string="", const std::string="") const
Definition: NswCalibDbThresholdData.cxx:41
NswCalibDbThresholdData::ZeroMap
std::map< ThrsldTechType, float > ZeroMap
Definition: NswCalibDbThresholdData.h:47
NswCalibDbThresholdData::m_stgcIdHelper
const sTgcIdHelper & m_stgcIdHelper
Definition: NswCalibDbThresholdData.h:53
CondCont
Hold mapping of ranges to condition objects.
Definition: CondCont.h:811
MmIdHelper
Definition: MmIdHelper.h:54
NswCalibDbThresholdData::setZero
void setZero(ThrsldTechType, const float)
Definition: NswCalibDbThresholdData.cxx:32
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
NswCalibDbThresholdData::getThreshold
bool getThreshold(const Identifier &, float &) const
Definition: NswCalibDbThresholdData.cxx:66
NswCalibDbThresholdData::m_mmIdHelper
const MmIdHelper & m_mmIdHelper
Definition: NswCalibDbThresholdData.h:52
NswCalibDbThresholdData::~NswCalibDbThresholdData
virtual ~NswCalibDbThresholdData()=default