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"
15 
16 
18 
19  friend class NswCalibDbAlg;
20 
21 public:
22  enum class ThrsldTechType{
23  MM,
24  STGC
25  };
26 
28  virtual ~NswCalibDbThresholdData() = default;
29 
30  // setting functions
31  void setData(const Identifier&, const float);
32  void setZero(ThrsldTechType , const float);
33 
34  // retrieval functions
35  std::vector<Identifier> getChannelIds(const std::string="", const std::string="") const;
36  bool getThreshold (const Identifier& , float& ) const;
37 
38 
39 private:
40 
41  // containers
42  using ChannelMap = std::map<unsigned long long, std::vector<float>>;
43  using ZeroMap = std::map<ThrsldTechType, float>;
46 
47  // ID helpers
49 };
50 
51 CLASS_DEF( NswCalibDbThresholdData , 108292495 , 1 )
52 CLASS_DEF( CondCont<NswCalibDbThresholdData> , 169109811 , 1 )
53 
54 #endif
NswCalibDbThresholdData
Definition: NswCalibDbThresholdData.h:17
CondCont.h
Hold mappings of ranges to condition objects.
NswCalibDbThresholdData::ThrsldTechType
ThrsldTechType
Definition: NswCalibDbThresholdData.h:22
NswCalibDbThresholdData::m_zero
ZeroMap m_zero
Definition: NswCalibDbThresholdData.h:45
NswCalibDbThresholdData::ThrsldTechType::STGC
@ STGC
NswCalibDbThresholdData::NswCalibDbThresholdData
NswCalibDbThresholdData(const Muon::IMuonIdHelperSvc *idHelperSvc)
Definition: NswCalibDbThresholdData.cxx:12
NswCalibDbThresholdData::setData
void setData(const Identifier &, const float)
Definition: NswCalibDbThresholdData.cxx:22
BaseInfo.h
Provide an interface for finding inheritance information at run time.
NswCalibDbThresholdData::ThrsldTechType::MM
@ MM
NswCalibDbThresholdData::ChannelMap
std::map< unsigned long long, std::vector< float > > ChannelMap
Definition: NswCalibDbThresholdData.h:42
NswCalibDbThresholdData::m_data
ChannelMap m_data
Definition: NswCalibDbThresholdData.h:44
NswCalibDbAlg
Definition: NswCalibDbAlg.h:35
NswCalibDbThresholdData::m_idHelperSvc
const Muon::IMuonIdHelperSvc * m_idHelperSvc
Definition: NswCalibDbThresholdData.h:48
NswCalibDbThresholdData::getChannelIds
std::vector< Identifier > getChannelIds(const std::string="", const std::string="") const
Definition: NswCalibDbThresholdData.cxx:40
NswCalibDbThresholdData::ZeroMap
std::map< ThrsldTechType, float > ZeroMap
Definition: NswCalibDbThresholdData.h:43
CondCont
Hold mapping of ranges to condition objects.
Definition: CondCont.h:811
NswCalibDbThresholdData::setZero
void setZero(ThrsldTechType, const float)
Definition: NswCalibDbThresholdData.cxx:31
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:63
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition: IMuonIdHelperSvc.h:27
NswCalibDbThresholdData::~NswCalibDbThresholdData
virtual ~NswCalibDbThresholdData()=default
IMuonIdHelperSvc.h
Identifier
Definition: IdentifierFieldParser.cxx:14