CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions
CmsTrackerBuilder< FilteredView > Class Template Reference

#include <CmsTrackerBuilder.h>

Inheritance diagram for CmsTrackerBuilder< FilteredView >:
CmsTrackerLevelBuilder< FilteredView > CmsTrackerAbstractConstruction< FilteredView >

Public Member Functions

 CmsTrackerBuilder ()
 
- Public Member Functions inherited from CmsTrackerLevelBuilder< FilteredView >
void build (FilteredView &, GeometricDet *, const std::string &) override
 
template<>
void build (DDFilteredView &fv, GeometricDet *tracker, const std::string &attribute)
 
template<>
void build (cms::DDFilteredView &fv, GeometricDet *tracker, const std::string &attribute)
 
 ~CmsTrackerLevelBuilder () override
 
- Public Member Functions inherited from CmsTrackerAbstractConstruction< FilteredView >
virtual ~CmsTrackerAbstractConstruction ()=default
 

Private Member Functions

void buildComponent (FilteredView &, GeometricDet *, const std::string &) override
 
void sortNS (FilteredView &, GeometricDet *) override
 

Additional Inherited Members

- Protected Attributes inherited from CmsTrackerLevelBuilder< FilteredView >
CmsTrackerStringToEnum theCmsTrackerStringToEnum
 

Detailed Description

template<class FilteredView>
class CmsTrackerBuilder< FilteredView >

Abstract Class to construct a Level in the hierarchy

Definition at line 14 of file CmsTrackerBuilder.h.

Constructor & Destructor Documentation

template<class FilteredView>
CmsTrackerBuilder< FilteredView >::CmsTrackerBuilder ( )
inline

Definition at line 16 of file CmsTrackerBuilder.h.

16 {}

Member Function Documentation

template<class FilteredView >
void CmsTrackerBuilder< FilteredView >::buildComponent ( FilteredView &  fv,
GeometricDet g,
const std::string &  s 
)
overrideprivatevirtual

Implements CmsTrackerLevelBuilder< FilteredView >.

Definition at line 14 of file CmsTrackerBuilder.cc.

References GeometricDet::addComponent(), CmsTrackerLevelBuilder< FilteredView >::build(), ExtractStringFromDDD< FilteredView >::getString(), GeometricDet::OTPhase2Barrel, GeometricDet::OTPhase2EndCap, GeometricDet::PixelBarrel, GeometricDet::PixelEndCap, GeometricDet::PixelPhase1Barrel, GeometricDet::PixelPhase1EndCap, GeometricDet::PixelPhase2Barrel, GeometricDet::PixelPhase2EndCap, GeometricDet::TEC, GeometricDet::TIB, GeometricDet::TID, and GeometricDet::TOB.

14  {
15  CmsTrackerSubStrctBuilder<FilteredView> theCmsTrackerSubStrctBuilder;
16  CmsTrackerPixelPhase1EndcapBuilder<FilteredView> theCmsTrackerPixelPhase1EndcapBuilder;
17  CmsTrackerPixelPhase2EndcapBuilder<FilteredView> theCmsTrackerPixelPhase2EndcapBuilder;
18 
19  GeometricDet* subdet = new GeometricDet(&fv,
25  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
26  break;
28  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
29  break;
31  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
32  break;
34  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
35  break;
37  theCmsTrackerPixelPhase1EndcapBuilder.build(fv, subdet, s);
38  break;
40  theCmsTrackerPixelPhase2EndcapBuilder.build(fv, subdet, s);
41  break;
43  theCmsTrackerPixelPhase2EndcapBuilder.build(fv, subdet, s);
44  break;
45  case GeometricDet::TIB:
46  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
47  break;
48  case GeometricDet::TOB:
49  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
50  break;
52  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
53  break;
54  case GeometricDet::TEC:
55  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
56  break;
57  case GeometricDet::TID:
58  theCmsTrackerSubStrctBuilder.build(fv, subdet, s);
59  break;
60  default:
61  edm::LogError("CmsTrackerBuilder") << " ERROR - I was expecting a SubDet, I got a "
63  }
64 
65  g->addComponent(subdet);
66 }
static std::string getString(const std::string &, FilteredView *)
void addComponent(GeometricDet *)
Log< level::Error, false > LogError
void build(FilteredView &, GeometricDet *, const std::string &) override
template<class FilteredView >
void CmsTrackerBuilder< FilteredView >::sortNS ( FilteredView &  ,
GeometricDet det 
)
overrideprivatevirtual

Reimplemented from CmsTrackerLevelBuilder< FilteredView >.

Definition at line 69 of file CmsTrackerBuilder.cc.

References AlCaHLTBitMon_QueryRunRegistry::comp, GeometricDet::component(), GeometricDet::components(), mps_fire::i, GeometricDet::setGeographicalID(), CmsTrackerLevelBuilderHelper::subDetByType(), and groupFilesInBlocks::temp.

69  {
71  std::stable_sort(comp.begin(), comp.end(), CmsTrackerLevelBuilderHelper::subDetByType);
72 
73  for (uint32_t i = 0; i < comp.size(); i++) {
74  uint32_t temp = comp[i]->type();
76  temp %
77  100); // it relies on the fact that the GeometricDet::GDEnumType enumerators used to identify the subdetectors in the upgrade geometries are equal to the ones of the present detector + n*100
78  }
79 }
void setGeographicalID(DetId id)
Definition: GeometricDet.h:99
static bool subDetByType(const GeometricDet *a, const GeometricDet *b)
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:152
GeometricDet * component(size_t index)
Definition: GeometricDet.h:148
std::vector< GeometricDet const * > ConstGeometricDetContainer
Definition: GeometricDet.h:34