00001 #include "RecoTracker/TkDetLayers/interface/PixelBladeBuilder.h" 00002 00003 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00004 00005 #include "DataFormats/GeometrySurface/interface/TkRotation.h" 00006 00007 using namespace edm; 00008 using namespace std; 00009 00010 PixelBlade* PixelBladeBuilder:: build(const GeometricDet* geometricDetFrontPanel, 00011 const GeometricDet* geometricDetBackPanel, 00012 const TrackerGeometry* theGeomDetGeometry) 00013 { 00014 vector<const GeometricDet*> frontGeometricDets = geometricDetFrontPanel->components(); 00015 vector<const GeometricDet*> backGeometricDets = geometricDetBackPanel->components(); 00016 00017 vector<const GeomDet*> theFrontGeomDets; 00018 vector<const GeomDet*> theBackGeomDets; 00019 00020 for(vector<const GeometricDet*>::iterator it=frontGeometricDets.begin(); 00021 it!=frontGeometricDets.end();it++){ 00022 const GeomDet* theGeomDet = theGeomDetGeometry->idToDet( (*it)->geographicalID() ); 00023 theFrontGeomDets.push_back(theGeomDet); 00024 } 00025 00026 for(vector<const GeometricDet*>::iterator it=backGeometricDets.begin(); 00027 it!=backGeometricDets.end();it++){ 00028 const GeomDet* theGeomDet = theGeomDetGeometry->idToDet( (*it)->geographicalID() ); 00029 theBackGeomDets.push_back(theGeomDet); 00030 } 00031 00032 //edm::LogInfo(TkDetLayers) << "FrontGeomDet.size(): " << theFrontGeomDets.size() ; 00033 //edm::LogInfo(TkDetLayers) << "BackGeomDet.size(): " << theBackGeomDets.size() ; 00034 00035 return new PixelBlade(theFrontGeomDets,theBackGeomDets); 00036 } 00037 00038 00039 00040