CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Attributes | Static Private Member Functions | Static Private Attributes
CmsMTDStringToEnum Class Reference

#include <CmsMTDStringToEnum.h>

Classes

struct  Impl
 

Public Types

using MapEnumType = std::map< std::string, GeometricTimingDet::GeometricTimingEnumType >
 

Public Member Functions

GeometricTimingDet::GeometricTimingEnumType type (std::string const &) const
 

Static Public Attributes

static constexpr size_t kModStrLen = 7
 

Static Private Member Functions

static MapEnumType const & map ()
 

Static Private Attributes

static const Impl m_impl
 

Detailed Description

Builds map between Det type and an enum

Definition at line 10 of file CmsMTDStringToEnum.h.

Member Typedef Documentation

Definition at line 14 of file CmsMTDStringToEnum.h.

Member Function Documentation

static MapEnumType const& CmsMTDStringToEnum::map ( )
inlinestaticprivate

Definition at line 19 of file CmsMTDStringToEnum.h.

References m_impl, and CmsMTDStringToEnum::Impl::map_.

Referenced by type().

19 { return m_impl.map_; }
static const Impl m_impl
GeometricTimingDet::GeometricTimingEnumType CmsMTDStringToEnum::type ( std::string const &  s) const

Definition at line 18 of file CmsMTDStringToEnum.cc.

References first, map(), min(), AlCaHLTBitMon_ParallelJobs::p, alignCSCRings::s, susybsm::HSCParticleType::unknown, and findQualityFiles::v.

Referenced by DDCmsMTDConstruction::construct().

18  {
19  // remove namespace if present
20  std::string_view v = s;
21  auto first = v.find_first_of(':');
22  v.remove_prefix(std::min(first + 1, v.size()));
23  MapEnumType::const_iterator p = map().find({v.data(), v.size()});
24  if (p != map().end())
25  return p->second;
27 }
static MapEnumType const & map()
T min(T a, T b)
Definition: MathUtil.h:58

Member Data Documentation

constexpr size_t CmsMTDStringToEnum::kModStrLen = 7
static
const CmsMTDStringToEnum::Impl CmsMTDStringToEnum::m_impl
staticprivate

Definition at line 27 of file CmsMTDStringToEnum.h.

Referenced by map().