CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 public:
13 
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" )
20  << "the value " << value << " is not defined.";
21 
22  return iValue->second;
23  }
24 };
25 
26 namespace HcalTopologyMode {
27  enum Mode { LHC=0, H2=1, SLHC=2, H2HE=3 };
28 
29  enum TriggerMode {
30  tm_LHC_RCT=0, // HF is summed in 3x2 regions
31  tm_LHC_RCT_and_1x1=1, // HF is summed in both 3x2 and 1x1 regions
32  tm_LHC_1x1=2 // HF is summed in 1x1 regions
33  };
34 }
35 
36 #endif // CALO_TOPOLOGY_HCAL_TOPOLOGY_MODE_H
std::map< std::string, T > enumMap
long double T
T parseString(const std::string &value)