ATLAS Offline Software
MuonAlignmentErrorData.h
Go to the documentation of this file.
1 // Dear emacs, this is -*-c++-*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
11 #ifndef MUONALIGNMENTERRORDATA_H
12 #define MUONALIGNMENTERRORDATA_H
13 
14 #include <boost/regex.hpp>
15 #include <vector>
16 #include <unordered_map>
17 #include <Identifier/Identifier.h>
18 
19 // Struct for per-Station Deviations Information
20 
23 
24 public:
28  double translation {0.0};
29  double rotation {0.0};
30  };
36  std::unordered_multimap<Identifier, MuonAlignmentErrorRuleIndex> id_rule_map{};
37  };
38 
40  virtual ~MuonAlignmentErrorData() = default;
41 
42  void setAlignmentErrorRules(std::vector<MuonAlignmentErrorRule>&& vec);
43  [[nodiscard]] const std::vector<MuonAlignmentErrorRule>& getAlignmentErrorRules() const;
44 
45  void setMuonAlignmentErrorRuleCache(std::vector<MuonAlignmentErrorRuleCache>&& vec_new);
46  [[nodiscard]] const std::vector<MuonAlignmentErrorRuleCache>& getMuonAlignmentErrorRuleCache() const;
47 
48  void setClobVersion(std::string clobVersion);
49  [[nodiscard]] const std::string& getClobVersion() const;
50 
51  void setHasNswHits(bool val);
52  [[nodiscard]] bool hasNswHits() const;
53 
54 private:
55  std::vector<MuonAlignmentErrorRule> m_deviations {};
56  std::string m_clobVersion {"0.1"};
57  bool m_hasNswHits {false};
58  std::vector<MuonAlignmentErrorRuleCache> m_deviations_new {};
59 };
60 
61 #include "AthenaKernel/CLASS_DEF.h"
62 CLASS_DEF(MuonAlignmentErrorData, 115867308, 1)
63 #include "AthenaKernel/CondCont.h"
65 
66 #endif
MuonAlignmentErrorData::MuonAlignmentErrorRule::stationName
boost::regex stationName
Definition: MuonAlignmentErrorData.h:26
MuonAlignmentErrorData::MuonAlignmentErrorRule::translation
double translation
Definition: MuonAlignmentErrorData.h:28
MuonAlignmentErrorData::getMuonAlignmentErrorRuleCache
const std::vector< MuonAlignmentErrorRuleCache > & getMuonAlignmentErrorRuleCache() const
Definition: MuonAlignmentErrorData.cxx:32
MuonAlignmentErrorData::setHasNswHits
void setHasNswHits(bool val)
Definition: MuonAlignmentErrorData.cxx:22
MuonAlignmentErrorData::setClobVersion
void setClobVersion(std::string clobVersion)
Definition: MuonAlignmentErrorData.cxx:15
MuonAlignmentErrorData::MuonAlignmentErrorRuleCache
Definition: MuonAlignmentErrorData.h:32
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
MuonAlignmentErrorData::m_clobVersion
std::string m_clobVersion
Definition: MuonAlignmentErrorData.h:56
MuonAlignmentErrorData::m_hasNswHits
bool m_hasNswHits
Definition: MuonAlignmentErrorData.h:57
MuonAlignmentErrorData::hasNswHits
bool hasNswHits() const
Definition: MuonAlignmentErrorData.cxx:25
PrepareReferenceFile.regex
regex
Definition: PrepareReferenceFile.py:43
MuonAlignmentErrorData
MuonAlignmentErrorData is condition data which is derived and recorded by MuonAlignmentErrorDbAlg.
Definition: MuonAlignmentErrorData.h:21
MuonAlignmentErrorData::MuonAlignmentErrorRule::multilayer
boost::regex multilayer
Definition: MuonAlignmentErrorData.h:27
MuonAlignmentErrorDbAlg
MuonAlignmentErrorDbAlg reads raw condition data and writes derived condition data (MuonAlignmentErro...
Definition: MuonAlignmentErrorDbAlg.h:23
MuonAlignmentErrorData::setMuonAlignmentErrorRuleCache
void setMuonAlignmentErrorRuleCache(std::vector< MuonAlignmentErrorRuleCache > &&vec_new)
Definition: MuonAlignmentErrorData.cxx:28
MuonAlignmentErrorData::MuonAlignmentErrorRuleCache::id_rule_map
std::unordered_multimap< Identifier, MuonAlignmentErrorRuleIndex > id_rule_map
For each multilayer identifier, cache the indices of the affecting rules.
Definition: MuonAlignmentErrorData.h:36
MuonAlignmentErrorData::setAlignmentErrorRules
void setAlignmentErrorRules(std::vector< MuonAlignmentErrorRule > &&vec)
Definition: MuonAlignmentErrorData.cxx:7
MuonAlignmentErrorData::getAlignmentErrorRules
const std::vector< MuonAlignmentErrorRule > & getAlignmentErrorRules() const
Definition: MuonAlignmentErrorData.cxx:11
MuonAlignmentErrorData::MuonAlignmentErrorData
MuonAlignmentErrorData()=default
MuonAlignmentErrorData::getClobVersion
const std::string & getClobVersion() const
Definition: MuonAlignmentErrorData.cxx:18
MuonAlignmentErrorData::MuonAlignmentErrorRule
Definition: MuonAlignmentErrorData.h:25
MuonAlignmentErrorData::MuonAlignmentErrorRuleIndex
size_t MuonAlignmentErrorRuleIndex
Definition: MuonAlignmentErrorData.h:31
MuonAlignmentErrorData::MuonAlignmentErrorRule::rotation
double rotation
Definition: MuonAlignmentErrorData.h:29
MuonAlignmentErrorData::m_deviations_new
std::vector< MuonAlignmentErrorRuleCache > m_deviations_new
Definition: MuonAlignmentErrorData.h:58
CondCont< MuonAlignmentErrorData >
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
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
MuonAlignmentErrorData::~MuonAlignmentErrorData
virtual ~MuonAlignmentErrorData()=default
CLASS_DEF.h
macros to associate a CLID to a type
MuonAlignmentErrorData::m_deviations
std::vector< MuonAlignmentErrorRule > m_deviations
Definition: MuonAlignmentErrorData.h:55