#include <CmsTrackerPetalBuilder.h>
Private Member Functions | |
virtual void | buildComponent (DDFilteredView &, GeometricDet *, std::string) |
virtual void | sortNS (DDFilteredView &, GeometricDet *) |
Class which constructs TEC petals
Definition at line 10 of file CmsTrackerPetalBuilder.h.
void CmsTrackerPetalBuilder::buildComponent | ( | DDFilteredView & | fv, |
GeometricDet * | g, | ||
std::string | s | ||
) | [private, virtual] |
Implements CmsTrackerLevelBuilder.
Definition at line 11 of file CmsTrackerPetalBuilder.cc.
References GeometricDet::addComponent(), CmsTrackerLevelBuilder::build(), ExtractStringFromDDD::getString(), CmsTrackerLevelBuilder::theCmsTrackerStringToEnum, and CmsTrackerStringToEnum::type().
{ GeometricDet * det = new GeometricDet(&fv, theCmsTrackerStringToEnum.type(ExtractStringFromDDD::getString(s,&fv))); CmsTrackerRingBuilder theCmsTrackerRingBuilder; theCmsTrackerRingBuilder.build(fv,det,s); g->addComponent(det); }
void CmsTrackerPetalBuilder::sortNS | ( | DDFilteredView & | fv, |
GeometricDet * | det | ||
) | [private, virtual] |
Reimplemented from CmsTrackerLevelBuilder.
Definition at line 21 of file CmsTrackerPetalBuilder.cc.
References GeometricDet::components(), i, relativeConstraints::ring, and python::multivaluedict::sort().
{ GeometricDet::GeometricDetContainer & comp = det->components(); if (comp.front()->type()==GeometricDet::ring) std::sort(comp.begin(),comp.end(),LessR_module()); else edm::LogError("CmsTrackerPetalBuilder")<<"ERROR - wrong SubDet to sort..... "<<det->components().front()->type(); // Maximum Number fo TEC Rings is 7 in order // to discover from which number we have to start // the operation is MaxRing - RealRingNumber + 1 (C++) uint32_t startring = 8 - comp.size(); for(uint32_t i=0; i<comp.size(); i++){ comp[i]->setGeographicalID(startring+i); } }