ATLAS Offline Software
RpcCondDbData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONCONDDATA_RPCCONDDBDATA_H
6 #define MUONCONDDATA_RPCCONDDBDATA_H
7 
8 //STL includes
9 #include <string>
10 #include <vector>
11 #include <unordered_map>
12 #include <optional>
13 
14 //Athena includes
15 #include "Identifier/Identifier.h"
16 #include "AthenaKernel/CondCont.h"
17 #include "AthenaKernel/BaseInfo.h"
18 
19 
20 //forward declarations
21 class Identifier;
22 
23 
25 
26  friend class RpcCondDbAlg;
27 
28 public:
29 
30  RpcCondDbData() = default;
31  ~RpcCondDbData() = default;
32 
33  void setEfficiency (Identifier, double );
34  void setFracClusterSize1(Identifier, double );
35  void setFracClusterSize2(Identifier, double );
36  void setFracDeadStrip (Identifier, double );
37  void setGapEfficiency (Identifier, double );
38  void setMeanClusterSize (Identifier, double );
39  void setProjectedTrack (Identifier, int );
40  void setStripTime (Identifier, const std::vector<double>&);
41 
42  std::optional<double> getEfficiency (const Identifier& ) const;
43  std::optional<double> getFracClusterSize1(const Identifier& ) const;
44  std::optional<double> getFracClusterSize2(const Identifier& ) const;
45  std::optional<double> getFracClusterSize3(const Identifier& ) const;
46  std::optional<double> getFracDeadStrip (const Identifier& ) const;
47  std::optional<double> getGapEfficiency (const Identifier& ) const;
48  std::optional<double> getMeanClusterSize (const Identifier& ) const;
49  std::optional<int> getProjectedTrack (const Identifier& ) const;
50  std::optional<double> getStripTime(const Identifier& ) const;
51 
52 private:
54  std::unordered_map<Identifier, double> m_cachedEfficiency;
56  std::unordered_map<Identifier, double> m_cachedFracClusterSize1;
58  std::unordered_map<Identifier, double> m_cachedFracClusterSize2;
60  std::unordered_map<Identifier, double> m_cachedFracDeadStrip;
62  std::unordered_map<Identifier, double> m_cachedGapEfficiency;
64  std::unordered_map<Identifier, double> m_cachedMeanClusterSize;
66  std::unordered_map<Identifier, int> m_cachedProjectedTracks;
68  std::unordered_map<Identifier, double> m_cachedStripTime;
69 
70 };
71 
72 CLASS_DEF( RpcCondDbData, 25128902, 1)
73 CLASS_DEF( CondCont<RpcCondDbData>, 178635428, 0)
74 
75 #endif
RpcCondDbData::getFracDeadStrip
std::optional< double > getFracDeadStrip(const Identifier &) const
Definition: RpcCondDbData.cxx:48
CondCont.h
Hold mappings of ranges to condition objects.
RpcCondDbData::setGapEfficiency
void setGapEfficiency(Identifier, double)
Definition: RpcCondDbData.cxx:20
RpcCondDbData::getProjectedTrack
std::optional< int > getProjectedTrack(const Identifier &) const
Definition: RpcCondDbData.cxx:60
RpcCondDbData::m_cachedGapEfficiency
std::unordered_map< Identifier, double > m_cachedGapEfficiency
Used to describe the gap efficiency.
Definition: RpcCondDbData.h:62
RpcCondDbData::m_cachedFracClusterSize1
std::unordered_map< Identifier, double > m_cachedFracClusterSize1
Used for cluster size evaluation.
Definition: RpcCondDbData.h:56
RpcCondDbAlg
Definition: RpcCondDbAlg.h:27
RpcCondDbData::getStripTime
std::optional< double > getStripTime(const Identifier &) const
Definition: RpcCondDbData.cxx:64
RpcCondDbData::m_cachedMeanClusterSize
std::unordered_map< Identifier, double > m_cachedMeanClusterSize
Used for cluster size evaluation.
Definition: RpcCondDbData.h:64
RpcCondDbData::m_cachedFracDeadStrip
std::unordered_map< Identifier, double > m_cachedFracDeadStrip
Used in digitization for efficiency calculation.
Definition: RpcCondDbData.h:60
RpcCondDbData::setFracClusterSize1
void setFracClusterSize1(Identifier, double)
Definition: RpcCondDbData.cxx:11
RpcCondDbData::getEfficiency
std::optional< double > getEfficiency(const Identifier &) const
Definition: RpcCondDbData.cxx:36
RpcCondDbData::m_cachedProjectedTracks
std::unordered_map< Identifier, int > m_cachedProjectedTracks
Used in digitization for efficiency / mean cluster evaluation.
Definition: RpcCondDbData.h:66
BaseInfo.h
Provide an interface for finding inheritance information at run time.
RpcCondDbData
Definition: RpcCondDbData.h:24
RpcCondDbData::getFracClusterSize1
std::optional< double > getFracClusterSize1(const Identifier &) const
Definition: RpcCondDbData.cxx:40
RpcCondDbData::setFracClusterSize2
void setFracClusterSize2(Identifier, double)
Definition: RpcCondDbData.cxx:14
RpcCondDbData::m_cachedStripTime
std::unordered_map< Identifier, double > m_cachedStripTime
Used in Rdo -> Prd conversion.
Definition: RpcCondDbData.h:68
RpcCondDbData::m_cachedFracClusterSize2
std::unordered_map< Identifier, double > m_cachedFracClusterSize2
Used for cluster size evaluation.
Definition: RpcCondDbData.h:58
RpcCondDbData::setMeanClusterSize
void setMeanClusterSize(Identifier, double)
Definition: RpcCondDbData.cxx:23
RpcCondDbData::getFracClusterSize2
std::optional< double > getFracClusterSize2(const Identifier &) const
Definition: RpcCondDbData.cxx:44
RpcCondDbData::getGapEfficiency
std::optional< double > getGapEfficiency(const Identifier &) const
Definition: RpcCondDbData.cxx:52
RpcCondDbData::setStripTime
void setStripTime(Identifier, const std::vector< double > &)
Definition: RpcCondDbData.cxx:30
CondCont
Hold mapping of ranges to condition objects.
Definition: CondCont.h:811
RpcCondDbData::setEfficiency
void setEfficiency(Identifier, double)
Definition: RpcCondDbData.cxx:8
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
RpcCondDbData::RpcCondDbData
RpcCondDbData()=default
RpcCondDbData::setFracDeadStrip
void setFracDeadStrip(Identifier, double)
Definition: RpcCondDbData.cxx:17
RpcCondDbData::~RpcCondDbData
~RpcCondDbData()=default
RpcCondDbData::getMeanClusterSize
std::optional< double > getMeanClusterSize(const Identifier &) const
Definition: RpcCondDbData.cxx:56
RpcCondDbData::getFracClusterSize3
std::optional< double > getFracClusterSize3(const Identifier &) const
RpcCondDbData::m_cachedEfficiency
std::unordered_map< Identifier, double > m_cachedEfficiency
Used to describe the panel Efficiency.
Definition: RpcCondDbData.h:54
RpcCondDbData::setProjectedTrack
void setProjectedTrack(Identifier, int)
Definition: RpcCondDbData.cxx:26
Identifier
Definition: IdentifierFieldParser.cxx:14