CMS 3D CMS Logo

CmsMTDStringToEnum.cc
Go to the documentation of this file.
2 
4 
6  map_.emplace("FastTimerRegion", GeometricTimingDet::MTD);
7  map_.emplace("BarrelTimingLayer", GeometricTimingDet::BTL);
8  map_.emplace("Layer1", GeometricTimingDet::BTLLayer);
9  map_.emplace("Layer1Timing", GeometricTimingDet::BTLLayer);
10  map_.emplace("BModule", GeometricTimingDet::BTLModule);
11  map_.emplace("BTLModu", GeometricTimingDet::BTLModule); // truncate name to have the same length as old versions
12  map_.emplace("EndcapTimingLayer", GeometricTimingDet::ETL);
13  map_.emplace("Disc1", GeometricTimingDet::ETLDisc);
14  map_.emplace("Disc1Timing", GeometricTimingDet::ETLDisc);
15  map_.emplace("Disc2Timing", GeometricTimingDet::ETLDisc);
16  map_.emplace("EModule", GeometricTimingDet::ETLModule);
17 }
18 
20  // remove namespace if present
21  std::string_view v = s;
22  auto first = v.find_first_of(':');
23  v.remove_prefix(std::min(first + 1, v.size()));
24  MapEnumType::const_iterator p = map().find({v.data(), v.size()});
25  if (p != map().end())
26  return p->second;
28 }
static const Impl m_impl
GeometricTimingDet::GeometricTimingEnumType type(std::string const &) const
static MapEnumType const & map()
enum GTDEnumType { unknown=100, MTD=0, BTL=1, BTLLayer=2, BTLTray=3, BTLModule=4, BTLSensor=5, BTLCrystal=6, ETL=7, ETLDisc=8, ETLRing=9, ETLModule=10, ETLSensor=11 } GeometricTimingEnumType