CMS 3D CMS Logo

CmsTrackerPanelBuilder Class Reference

Class which contructs PixelForward Panels. More...

#include <Geometry/TrackerNumberingBuilder/plugins/CmsTrackerPanelBuilder.h>

Inheritance diagram for CmsTrackerPanelBuilder:

CmsTrackerLevelBuilder CmsTrackerAbstractConstruction

List of all members.

Private Member Functions

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


Detailed Description

Class which contructs PixelForward Panels.

Definition at line 10 of file CmsTrackerPanelBuilder.h.


Member Function Documentation

void CmsTrackerPanelBuilder::buildComponent ( DDFilteredView fv,
GeometricDet g,
std::string  s 
) [private, virtual]

Implements CmsTrackerLevelBuilder.

Definition at line 11 of file CmsTrackerPanelBuilder.cc.

References CmsDetConstruction::buildComponent(), GeometricDet::DetUnit, ExtractStringFromDDD::getString(), CmsTrackerLevelBuilder::theCmsTrackerStringToEnum, and CmsTrackerStringToEnum::type().

00011                                                                                            {
00012 
00013   CmsDetConstruction theCmsDetConstruction;
00014   switch (theCmsTrackerStringToEnum.type(ExtractStringFromDDD::getString(s,&fv))){
00015   case GeometricDet::DetUnit:
00016            theCmsDetConstruction.buildComponent(fv,g,s);
00017     break;
00018   default:
00019     edm::LogError("CmsTrackerPanelBuilder")<<" ERROR - I was expecting a Plaq, I got a "<<ExtractStringFromDDD::getString(s,&fv);
00020     ;
00021   }  
00022 }

void CmsTrackerPanelBuilder::sortNS ( DDFilteredView fv,
GeometricDet det 
) [private, virtual]

Reimplemented from CmsTrackerLevelBuilder.

Definition at line 24 of file CmsTrackerPanelBuilder.cc.

References GeometricDet::components(), GeometricDet::DetUnit, i, and python::multivaluedict::sort().

00024                                                                         {
00025  GeometricDet::GeometricDetContainer & comp = det->components();
00026 
00027  if (comp.front()->type()==GeometricDet::DetUnit) 
00028    std::sort(comp.begin(),comp.end(),LessR()); 
00029  else
00030    edm::LogError("CmsTrackerPanelBuilder")<<"ERROR - wrong SubDet to sort..... "<<det->components().front()->type(); 
00031 
00032   for(uint32_t i=0; i<comp.size();i++){
00033     comp[i]->setGeographicalID(i+1);
00034   } 
00035  
00036 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:16:25 2009 for CMSSW by  doxygen 1.5.4