CMS 3D CMS Logo

Public Member Functions

PixelForwardLayerBuilder Class Reference

#include <PixelForwardLayerBuilder.h>

List of all members.

Public Member Functions

PixelForwardLayer * build (const GeometricDet *aPixelForwardLayer, const TrackerGeometry *theGeomDetGeometry)
 PixelForwardLayerBuilder ()

Detailed Description

A concrete builder for PixelForwardLayer

Definition at line 15 of file PixelForwardLayerBuilder.h.


Constructor & Destructor Documentation

PixelForwardLayerBuilder::PixelForwardLayerBuilder ( ) [inline]

Definition at line 17 of file PixelForwardLayerBuilder.h.

{};

Member Function Documentation

PixelForwardLayer * PixelForwardLayerBuilder::build ( const GeometricDet aPixelForwardLayer,
const TrackerGeometry theGeomDetGeometry 
)

Definition at line 7 of file PixelForwardLayerBuilder.cc.

References PixelBladeBuilder::build(), GeometricDet::components(), and i.

Referenced by GeometricSearchTrackerBuilder::build().

                                                                                             {
  vector<const GeometricDet*>  theGeometricPanels = aPixelForwardLayer->components();
  int panelsSize = theGeometricPanels.size();

  /*
  for(vector<const GeometricDet*>::const_iterator it= theGeometricPanels.begin(); 
      it!=theGeometricPanels.end();it++){
    
    edm::LogInfo(TkDetLayers) << "panel.phi(): " << (*it)->positionBounds().phi() << " , " 
         << "panel.z():   " << (*it)->positionBounds().z()   << " , "
         << "comp.size(): " << (*it)->components().size()    ;    
  }
  */

  //edm::LogInfo(TkDetLayers) << "pixelFwdLayer.panels().size(): " << panelsSize ;  

  vector<const PixelBlade*> theBlades;
  PixelBladeBuilder myBladeBuilder;

  for(int i=0; i< (panelsSize/2); i++){
    theBlades.push_back( myBladeBuilder.build( theGeometricPanels[i],
                                               theGeometricPanels[i+(panelsSize/2)],
                                               theGeomDetGeometry ) );
  }
  
  return new PixelForwardLayer(theBlades);  
}