CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/RecoTracker/TkDetLayers/src/PixelForwardLayerBuilder.cc

Go to the documentation of this file.
00001 #include "PixelForwardLayerBuilder.h"
00002 #include "PixelForwardLayerPhase1.h"
00003 #include "PixelBladeBuilder.h"
00004 
00005 using namespace edm;
00006 using namespace std;
00007 
00008 ForwardDetLayer* PixelForwardLayerBuilder::build(const GeometricDet* aPixelForwardLayer,
00009                                                    const TrackerGeometry* theGeomDetGeometry){
00010   vector<const GeometricDet*>  theGeometricPanels = aPixelForwardLayer->components();
00011   int panelsSize = theGeometricPanels.size();
00012 
00013   /*
00014   for(vector<const GeometricDet*>::const_iterator it= theGeometricPanels.begin(); 
00015       it!=theGeometricPanels.end();it++){
00016     
00017     edm::LogInfo(TkDetLayers) << "panel.phi(): " << (*it)->positionBounds().phi() << " , " 
00018          << "panel.z():   " << (*it)->positionBounds().z()   << " , "
00019          << "comp.size(): " << (*it)->components().size()    ;    
00020   }
00021   */
00022 
00023   //edm::LogInfo(TkDetLayers) << "pixelFwdLayer.panels().size(): " << panelsSize ;  
00024 
00025   vector<const PixelBlade*> theBlades;
00026   PixelBladeBuilder myBladeBuilder;
00027 
00028   for(int i=0; i< (panelsSize/2); i++){
00029     theBlades.push_back( myBladeBuilder.build( theGeometricPanels[i],
00030                                                theGeometricPanels[i+(panelsSize/2)],
00031                                                theGeomDetGeometry ) );
00032   }
00033   
00034   if ( aPixelForwardLayer->type()==GeometricDet::PixelEndCapPhase1 ) 
00035     return new PixelForwardLayerPhase1(theBlades);
00036   return new PixelForwardLayer(theBlades);  
00037 }