CMS 3D CMS Logo

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

#include <CmsTrackerPixelPhase2DiskBuilder.h>

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

Private Member Functions

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

Additional Inherited Members

- 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
 
- Protected Attributes inherited from CmsTrackerLevelBuilder< FilteredView >
CmsTrackerStringToEnum theCmsTrackerStringToEnum
 

Detailed Description

template<class FilteredView>
class CmsTrackerPixelPhase2DiskBuilder< FilteredView >

Class which contructs Phase2 Pixel Tracker/Discs.

Definition at line 12 of file CmsTrackerPixelPhase2DiskBuilder.h.

Member Function Documentation

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

Implements CmsTrackerLevelBuilder< FilteredView >.

Definition at line 15 of file CmsTrackerPixelPhase2DiskBuilder.cc.

References GeometricDet::addComponent(), CmsTrackerLevelBuilder< FilteredView >::build(), ExtractStringFromDDD< FilteredView >::getString(), and GeometricDet::panel.

17  {
18  CmsTrackerPixelPhase2RingBuilder<FilteredView> theCmsTrackerPixelPhase2RingBuilder;
19  GeometricDet* subdet = new GeometricDet(&fv,
22 
26  theCmsTrackerPixelPhase2RingBuilder.build(fv, subdet, s);
27  break;
28  default:
29  edm::LogError("CmsTrackerPixelPhase2DiskBuilder")
30  << " ERROR - I was expecting a Panel, I got a " << ExtractStringFromDDD<FilteredView>::getString(s, &fv);
31  }
32  g->addComponent(subdet);
33 }
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 CmsTrackerPixelPhase2DiskBuilder< FilteredView >::sortNS ( FilteredView &  fv,
GeometricDet det 
)
overrideprivatevirtual

Reimplemented from CmsTrackerLevelBuilder< FilteredView >.

Definition at line 36 of file CmsTrackerPixelPhase2DiskBuilder.cc.

References GeometricDet::addComponents(), GeometricDet::clearComponents(), AlCaHLTBitMon_QueryRunRegistry::comp, GeometricDet::component(), GeometricDet::components(), GeometricDet::panel, and groupFilesInBlocks::temp.

36  {
38 
39  switch (det->components().front()->type()) {
41  // nothing to be done because the rings (here named panels) are already sorted ??
42  break;
43  default:
44  edm::LogError("CmsTrackerPixelPhase2Builder")
45  << "ERROR - wrong SubDet to sort..... " << det->components().front()->type();
46  }
47 
49  uint32_t totalrings = comp.size();
50 
51  for (uint32_t rn = 0; rn < totalrings; rn++) {
52  rings.emplace_back(det->component(rn));
53  uint32_t blade = rn + 1;
54  uint32_t panel = 1;
55  uint32_t temp = (blade << 2) | panel;
56  rings[rn]->setGeographicalID(temp);
57  }
58 
59  det->clearComponents();
60  det->addComponents(rings);
61 }
std::vector< GeometricDet * > GeometricDetContainer
Definition: GeometricDet.h:35
void clearComponents()
Definition: GeometricDet.h:161
Log< level::Error, false > LogError
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:150
GeometricDet * component(size_t index)
Definition: GeometricDet.h:146
std::vector< GeometricDet const * > ConstGeometricDetContainer
Definition: GeometricDet.h:34
void addComponents(GeometricDetContainer const &cont)