CMS 3D CMS Logo

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

#include <GeomDetTypeIdToEnum.h>

Public Types

typedef std::map< int,
GeomDetType::SubDetector
MapEnumType
 
typedef std::map
< GeomDetType::SubDetector,
int > 
ReverseMapEnumType
 

Public Member Functions

int detId (GeomDetType::SubDetector) const
 
 GeomDetTypeIdToEnum ()
 
GeomDetType::SubDetector type (int) const
 

Private Attributes

MapEnumType _map
 
ReverseMapEnumType _reverseMap
 

Detailed Description

Builds map between DetId and an enum

Definition at line 10 of file GeomDetTypeIdToEnum.h.

Member Typedef Documentation

Definition at line 12 of file GeomDetTypeIdToEnum.h.

Definition at line 13 of file GeomDetTypeIdToEnum.h.

Constructor & Destructor Documentation

GeomDetTypeIdToEnum::GeomDetTypeIdToEnum ( )

Definition at line 6 of file GeomDetTypeIdToEnum.cc.

References GeomDetEnumerators::invalidDet, GeomDetEnumerators::PixelBarrel, GeomDetEnumerators::PixelEndcap, GeomDetEnumerators::TEC, GeomDetEnumerators::TIB, GeomDetEnumerators::TID, and GeomDetEnumerators::TOB.

6  {
7  _map.clear();
8  _reverseMap.clear();
9  //
10  // Insert !
11  //
12 
13  _map.insert(std::pair<int, SubDetector>(1,PixelBarrel));
14  _map.insert(std::pair<int, SubDetector>(2,PixelEndcap));
15  _map.insert(std::pair<int, SubDetector>(3,TIB));
16  _map.insert(std::pair<int, SubDetector>(4,TID));
17  _map.insert(std::pair<int, SubDetector>(5,TOB));
18  _map.insert(std::pair<int, SubDetector>(6,TEC));
19 
20  //
21  // build reverse map
22  //
23 
24  _reverseMap.insert(std::pair<SubDetector, int>(PixelBarrel,1));
25  _reverseMap.insert(std::pair<SubDetector, int>(PixelEndcap,2));
26  _reverseMap.insert(std::pair<SubDetector, int>(TIB,3));
27  _reverseMap.insert(std::pair<SubDetector, int>(TID,4));
28  _reverseMap.insert(std::pair<SubDetector, int>(TOB,5));
29  _reverseMap.insert(std::pair<SubDetector, int>(TEC,6));
30  _reverseMap.insert(std::pair<SubDetector, int>(invalidDet,100));// detID(GeomDetTyp::SubDetector t) default was to return 100;
31  //
32  // done
33  //
34 }
ReverseMapEnumType _reverseMap

Member Function Documentation

int GeomDetTypeIdToEnum::detId ( GeomDetType::SubDetector  t) const

Definition at line 42 of file GeomDetTypeIdToEnum.cc.

References GeomDetEnumerators::invalidDet, and edm::second().

42  {
43  if (_reverseMap.find(t) != _reverseMap.end())
44  return (_reverseMap.find(t))->second;
45  return _reverseMap.find(invalidDet)->second;
46 }
U second(std::pair< T, U > const &p)
ReverseMapEnumType _reverseMap
GeomDetType::SubDetector GeomDetTypeIdToEnum::type ( int  s) const

Definition at line 36 of file GeomDetTypeIdToEnum.cc.

References GeomDetEnumerators::invalidDet, and edm::second().

Referenced by TrackerGeomBuilderFromGeometricDet::build().

36  {
37  if (_map.find(s) != _map.end())
38  return (_map.find(s))->second;
39  return invalidDet;
40 }
U second(std::pair< T, U > const &p)

Member Data Documentation

MapEnumType GeomDetTypeIdToEnum::_map
private

Definition at line 21 of file GeomDetTypeIdToEnum.h.

ReverseMapEnumType GeomDetTypeIdToEnum::_reverseMap
private

Definition at line 22 of file GeomDetTypeIdToEnum.h.