CMS 3D CMS Logo

List of all members | Private Member Functions
CmsTrackerPetalBuilder Class Reference

#include <CmsTrackerPetalBuilder.h>

Inheritance diagram for CmsTrackerPetalBuilder:
CmsTrackerLevelBuilder CmsTrackerAbstractConstruction

Private Member Functions

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

Additional Inherited Members

- Public Member Functions inherited from CmsTrackerLevelBuilder
void build (DDFilteredView &, GeometricDet *, std::string) override
 
 ~CmsTrackerLevelBuilder () override
 
- Public Member Functions inherited from CmsTrackerAbstractConstruction
virtual ~CmsTrackerAbstractConstruction ()=default
 
- Static Public Member Functions inherited from CmsTrackerLevelBuilder
static double getPhi (const GeometricDet *a)
 
static double getPhiGluedModule (const GeometricDet *a)
 
static double getPhiGluedModuleMirror (const GeometricDet *a)
 
static double getPhiMirror (const GeometricDet *a)
 
static double getPhiModule (const GeometricDet *a)
 
static double getPhiModuleMirror (const GeometricDet *a)
 
static bool isLessModZ (const GeometricDet *a, const GeometricDet *b)
 
static bool isLessR (const GeometricDet *a, const GeometricDet *b)
 
static bool isLessRModule (const GeometricDet *a, const GeometricDet *b)
 
static bool isLessZ (const GeometricDet *a, const GeometricDet *b)
 
static bool phiSortNP (const GeometricDet *a, const GeometricDet *b)
 
static bool subDetByType (const GeometricDet *a, const GeometricDet *b)
 
- Protected Attributes inherited from CmsTrackerLevelBuilder
CmsTrackerStringToEnum theCmsTrackerStringToEnum
 

Detailed Description

Class which constructs TEC petals

Definition at line 10 of file CmsTrackerPetalBuilder.h.

Member Function Documentation

void CmsTrackerPetalBuilder::buildComponent ( DDFilteredView fv,
GeometricDet g,
std::string  s 
)
overrideprivatevirtual

Implements CmsTrackerLevelBuilder.

Definition at line 11 of file CmsTrackerPetalBuilder.cc.

References GeometricDet::addComponent(), CmsTrackerLevelBuilder::build(), ExtractStringFromDDD::getString(), CmsTrackerLevelBuilder::theCmsTrackerStringToEnum, and CmsTrackerStringToEnum::type().

11  {
12 
13  GeometricDet * det =
14  new GeometricDet(&fv,
16  CmsTrackerRingBuilder theCmsTrackerRingBuilder;
17  theCmsTrackerRingBuilder.build(fv,det,s);
18  g->addComponent(det);
19 }
void addComponent(GeometricDet *)
void build(DDFilteredView &, GeometricDet *, std::string) override
static std::string getString(std::string const &, DDFilteredView *)
GeometricDet::GeometricEnumType type(std::string const &) const
CmsTrackerStringToEnum theCmsTrackerStringToEnum
void CmsTrackerPetalBuilder::sortNS ( DDFilteredView fv,
GeometricDet det 
)
overrideprivatevirtual

Reimplemented from CmsTrackerLevelBuilder.

Definition at line 21 of file CmsTrackerPetalBuilder.cc.

References AlCaHLTBitMon_QueryRunRegistry::comp, GeometricDet::component(), GeometricDet::components(), mps_fire::i, CmsTrackerLevelBuilder::isLessRModule(), GeometricDet::ring, GeometricDet::setGeographicalID(), and jetUpdater_cfi::sort.

21  {
23 
24  if (comp.front()->type()==GeometricDet::ring)
25  std::sort(comp.begin(),comp.end(),isLessRModule);
26  else
27  edm::LogError("CmsTrackerPetalBuilder")<<"ERROR - wrong SubDet to sort..... "<<det->components().front()->type();
28 
29  // Maximum Number fo TEC Rings is 7 in order
30  // to discover from which number we have to start
31  // the operation is MaxRing - RealRingNumber + 1 (C++)
32 
33  uint32_t startring = 8 - comp.size();
34 
35  for(uint32_t i=0; i<comp.size(); i++){
36  det->component(i)->setGeographicalID(startring+i);
37  }
38 }
void setGeographicalID(DetId id)
Definition: GeometricDet.h:82
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:176
static bool isLessRModule(const GeometricDet *a, const GeometricDet *b)
GeometricDet * component(size_t index)
Definition: GeometricDet.h:114
std::vector< GeometricDet const * > ConstGeometricDetContainer
Definition: GeometricDet.h:36