CMS 3D CMS Logo

HcalTopologyMode.h
Go to the documentation of this file.
1 #ifndef Geometry_HcalCommonData_HcalTopologyMode_H
2 #define Geometry_HcalCommonData_HcalTopologyMode_H
3 
5 #include <map>
6 #include <string>
7 #include <algorithm>
8 
9 template <typename T>
10 class StringToEnumParser {
11  std::map<std::string, T> enumMap;
12 
13 public:
14  StringToEnumParser(void);
15 
17  typename std::map<std::string, T>::const_iterator iValue = enumMap.find(value);
18  if (iValue == enumMap.end())
19  throw cms::Exception("Configuration") << "the value " << value << " is not defined.";
20 
21  return iValue->second;
22  }
23 };
24 
25 namespace HcalTopologyMode {
26  enum Mode { LHC = 0, H2 = 1, SLHC = 2, H2HE = 3 };
27 
28  enum TriggerMode {
29  TriggerMode_2009 = 0, // HF is summed in 3x2 regions
30  TriggerMode_2016 = 1, // HF is summed in both 3x2 and 1x1 regions
31  TriggerMode_2018legacy = 2, // For the database, before 2017 and 2017plan1 was introduced
32  TriggerMode_2017 = 3, // HF upgraded to QIE10
33  TriggerMode_2017plan1 = 4, // HF upgraded to QIE10, 1 RBX of HE to QIE11
34  TriggerMode_2018 = 5, // HF upgraded to QIE10, HE to QIE11
35  TriggerMode_2021 = 6 // HF upgraded to QIE10, HBHE to QIE11
36  };
37 } // namespace HcalTopologyMode
38 
39 #endif // Geometry_HcalCommonData_HcalTopologyMode_H
HcalTopologyMode::Mode
Mode
Definition: HcalTopologyMode.h:26
StringToEnumParser::enumMap
std::map< std::string, T > enumMap
Definition: HcalTopologyMode.h:11
HcalTopologyMode::TriggerMode_2009
Definition: HcalTopologyMode.h:29
HcalTopologyMode
Definition: HcalTopologyMode.h:25
HcalTopologyMode::TriggerMode_2021
Definition: HcalTopologyMode.h:35
HcalTopologyMode::LHC
Definition: HcalTopologyMode.h:26
HcalTopologyMode::SLHC
Definition: HcalTopologyMode.h:26
HcalTopologyMode::TriggerMode_2016
Definition: HcalTopologyMode.h:30
HcalTopologyMode::TriggerMode_2017
Definition: HcalTopologyMode.h:32
HcalTopologyMode::H2HE
Definition: HcalTopologyMode.h:26
HcalTopologyMode::TriggerMode_2017plan1
Definition: HcalTopologyMode.h:33
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
StringToEnumParser::parseString
T parseString(const std::string &value)
Definition: HcalTopologyMode.h:16
value
Definition: value.py:1
HcalTopologyMode::TriggerMode_2018
Definition: HcalTopologyMode.h:34
T
long double T
Definition: Basic3DVectorLD.h:48
HcalTopologyMode::H2
Definition: HcalTopologyMode.h:26
Exception.h
HcalTopologyMode::TriggerMode
TriggerMode
Definition: HcalTopologyMode.h:28
StringToEnumParser::StringToEnumParser
StringToEnumParser(void)
cms::Exception
Definition: Exception.h:70
StringToEnumParser
Definition: HcalTopologyMode.h:10
HcalTopologyMode::TriggerMode_2018legacy
Definition: HcalTopologyMode.h:31