CMS 3D CMS Logo

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

◆ CmsTrackerBuilder()

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

Definition at line 16 of file CmsTrackerBuilder.h.

16 {}

Member Function Documentation

◆ buildComponent()

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 CmsTrackerLevelBuilder< FilteredView >::build(), g, ExtractStringFromDDD< FilteredView >::getString(), GeometricDet::OTPhase2Barrel, GeometricDet::OTPhase2EndCap, GeometricDet::PixelBarrel, GeometricDet::PixelEndCap, GeometricDet::PixelPhase1Barrel, GeometricDet::PixelPhase1EndCap, GeometricDet::PixelPhase2Barrel, GeometricDet::PixelPhase2EndCap, alignCSCRings::s, 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 *)
Log< level::Error, false > LogError
void build(FilteredView &, GeometricDet *, const std::string &) override
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4

◆ sortNS()

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