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
CmsTrackerPixelPhase2EndcapBuilder< FilteredView > Class Template Reference

#include <CmsTrackerPixelPhase2EndcapBuilder.h>

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

Public Member Functions

 CmsTrackerPixelPhase2EndcapBuilder ()
 
- 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 CmsTrackerPixelPhase2EndcapBuilder< FilteredView >

Class which builds the pixel phase 2 endcap

Definition at line 12 of file CmsTrackerPixelPhase2EndcapBuilder.h.

Constructor & Destructor Documentation

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

Definition at line 14 of file CmsTrackerPixelPhase2EndcapBuilder.h.

14 {}

Member Function Documentation

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

Implements CmsTrackerLevelBuilder< FilteredView >.

Definition at line 17 of file CmsTrackerPixelPhase2EndcapBuilder.cc.

References GeometricDet::addComponent(), CmsTrackerLevelBuilder< FilteredView >::build(), ExtractStringFromDDD< FilteredView >::getString(), GeometricDet::OTPhase2Wheel, GeometricDet::PixelPhase2DoubleDisk, GeometricDet::PixelPhase2FullDisk, GeometricDet::PixelPhase2ReducedDisk, and GeometricDet::PixelPhase2TDRDisk.

19  {
20  CmsTrackerPhase2TPDiskBuilder<FilteredView> theCmsTrackerPhase2DiskBuilder;
21  CmsTrackerPixelPhase2DiskBuilder<FilteredView> theCmsTrackerPixelPhase2DiskBuilder;
22  CmsTrackerPixelPhase2DoubleDiskBuilder<FilteredView> theCmsTrackerPixelPhase2DoubleDiskBuilder;
23  CmsTrackerOTDiscBuilder<FilteredView> theCmsTrackerOTDiscBuilder;
24 
25  GeometricDet* subdet = new GeometricDet(&fv,
31  theCmsTrackerPhase2DiskBuilder.build(fv, subdet, s);
32  break;
34  theCmsTrackerPhase2DiskBuilder.build(fv, subdet, s);
35  break;
37  theCmsTrackerPixelPhase2DiskBuilder.build(fv, subdet, s);
38  break;
40  theCmsTrackerPixelPhase2DoubleDiskBuilder.build(fv, subdet, s);
41  break;
43  theCmsTrackerOTDiscBuilder.build(fv, subdet, s);
44  break;
45 
46  default:
47  edm::LogError("CmsTrackerPixelPhase2EndcapBuilder")
48  << " ERROR - I was expecting a Disk... I got a " << ExtractStringFromDDD<FilteredView>::getString(s, &fv);
49  }
50 
51  g->addComponent(subdet);
52 }
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 CmsTrackerPixelPhase2EndcapBuilder< FilteredView >::sortNS ( FilteredView &  fv,
GeometricDet det 
)
overrideprivatevirtual

Reimplemented from CmsTrackerLevelBuilder< FilteredView >.

Definition at line 55 of file CmsTrackerPixelPhase2EndcapBuilder.cc.

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

55  {
57 
58  std::sort(comp.begin(), comp.end(), CmsTrackerLevelBuilderHelper::isLessModZ);
59 
60  for (uint32_t i = 0; i < comp.size(); i++) {
62  i + 1); // Every subdetector: Inner pixel first, OT later, then sort by disk number
63  }
64 }
void setGeographicalID(DetId id)
Definition: GeometricDet.h:99
static bool isLessModZ(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