CMS 3D CMS Logo

CmsMTDStringToEnum.cc
Go to the documentation of this file.
2 
4 
6  map_.emplace("FastTimerRegion", GeometricTimingDet::MTD);
7  map_.emplace("FastTimerRegionBTL", GeometricTimingDet::MTD);
8  map_.emplace("FastTimerRegionETL", GeometricTimingDet::MTD);
9  map_.emplace("BarrelTimingLayer", GeometricTimingDet::BTL);
10  map_.emplace("Layer1", GeometricTimingDet::BTLLayer);
11  map_.emplace("Layer1Timing", GeometricTimingDet::BTLLayer);
12  map_.emplace("BModule", GeometricTimingDet::BTLModule);
13  map_.emplace("BTLModu", GeometricTimingDet::BTLModule); // truncate name to have the same length as old versions
14  map_.emplace("EndcapTimingLayer", GeometricTimingDet::ETL);
15  map_.emplace("Disc1Timing", GeometricTimingDet::ETLDisc);
16  map_.emplace("Disc2Timing", GeometricTimingDet::ETLDisc);
17  map_.emplace("SensorM", GeometricTimingDet::ETLModule); // pre v8 geometry
18  map_.emplace("Module_", GeometricTimingDet::ETLModule);
19  map_.emplace("EModule", GeometricTimingDet::ETLSensor); // pre v8 geometry
20  map_.emplace("LGAD_ac", GeometricTimingDet::ETLSensor);
21 }
22 
24  // remove namespace if present
25  std::string_view v = s;
26  auto first = v.find_first_of(':');
27  v.remove_prefix(std::min(first + 1, v.size()));
28  MapEnumType::const_iterator p = map().find({v.data(), v.size()});
29  if (p != map().end())
30  return p->second;
32 }
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