CMS 3D CMS Logo

Public Member Functions

PixelBladeBuilder Class Reference

#include <PixelBladeBuilder.h>

List of all members.

Public Member Functions

PixelBlade * build (const GeometricDet *geometricDetFrontPanel, const GeometricDet *geometricDetBackPanel, const TrackerGeometry *theGeomDetGeometry)
 PixelBladeBuilder ()

Detailed Description

A concrete builder for PixelBlade

Definition at line 15 of file PixelBladeBuilder.h.


Constructor & Destructor Documentation

PixelBladeBuilder::PixelBladeBuilder ( ) [inline]

Definition at line 17 of file PixelBladeBuilder.h.

{};

Member Function Documentation

PixelBlade * PixelBladeBuilder::build ( const GeometricDet geometricDetFrontPanel,
const GeometricDet geometricDetBackPanel,
const TrackerGeometry theGeomDetGeometry 
)

Definition at line 10 of file PixelBladeBuilder.cc.

References GeometricDet::components(), and TrackerGeometry::idToDet().

Referenced by PixelForwardLayerBuilder::build().

{
  vector<const GeometricDet*> frontGeometricDets = geometricDetFrontPanel->components();  
  vector<const GeometricDet*> backGeometricDets  = geometricDetBackPanel->components();  

  vector<const GeomDet*> theFrontGeomDets;
  vector<const GeomDet*> theBackGeomDets;

  for(vector<const GeometricDet*>::iterator it=frontGeometricDets.begin();
      it!=frontGeometricDets.end();it++){
    const GeomDet* theGeomDet = theGeomDetGeometry->idToDet( (*it)->geographicalID() );
    theFrontGeomDets.push_back(theGeomDet);
  }

  for(vector<const GeometricDet*>::iterator it=backGeometricDets.begin();
      it!=backGeometricDets.end();it++){
    const GeomDet* theGeomDet = theGeomDetGeometry->idToDet( (*it)->geographicalID() );
    theBackGeomDets.push_back(theGeomDet);
  }

  //edm::LogInfo(TkDetLayers) << "FrontGeomDet.size(): " << theFrontGeomDets.size() ;
  //edm::LogInfo(TkDetLayers) << "BackGeomDet.size():  " << theBackGeomDets.size() ;

  return new PixelBlade(theFrontGeomDets,theBackGeomDets);
}