CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
PixelBladeBuilder< T > Class Template Reference

#include <PixelBladeBuilder.h>

Public Member Functions

Tbuild (const GeometricDet *geometricDetFrontPanel, const GeometricDet *geometricDetBackPanel, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
 
 PixelBladeBuilder ()
 

Detailed Description

template<class T>
class PixelBladeBuilder< T >

A concrete builder for PixelBlade

Definition at line 21 of file PixelBladeBuilder.h.

Constructor & Destructor Documentation

template<class T>
PixelBladeBuilder< T >::PixelBladeBuilder ( )
inline

Definition at line 23 of file PixelBladeBuilder.h.

23 {};

Member Function Documentation

template<class T >
T * PixelBladeBuilder< T >::build ( const GeometricDet geometricDetFrontPanel,
const GeometricDet geometricDetBackPanel,
const TrackerGeometry theGeomDetGeometry 
)

Definition at line 32 of file PixelBladeBuilder.h.

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

Referenced by PixelForwardLayerBuilder< T1, T2 >::build().

36  {
37  std::vector<const GeometricDet*> frontGeometricDets = geometricDetFrontPanel->components();
38  std::vector<const GeometricDet*> backGeometricDets = geometricDetBackPanel->components();
39 
40  std::vector<const GeomDet*> theFrontGeomDets;
41  std::vector<const GeomDet*> theBackGeomDets;
42 
43  for(std::vector<const GeometricDet*>::iterator it=frontGeometricDets.begin();
44  it!=frontGeometricDets.end();it++){
45  const GeomDet* theGeomDet = theGeomDetGeometry->idToDet( (*it)->geographicalID() );
46  theFrontGeomDets.push_back(theGeomDet);
47  }
48 
49  for(std::vector<const GeometricDet*>::iterator it=backGeometricDets.begin();
50  it!=backGeometricDets.end();it++){
51  const GeomDet* theGeomDet = theGeomDetGeometry->idToDet( (*it)->geographicalID() );
52  theBackGeomDets.push_back(theGeomDet);
53  }
54 
55  //edm::LogInfo(TkDetLayers) << "FrontGeomDet.size(): " << theFrontGeomDets.size() ;
56  //edm::LogInfo(TkDetLayers) << "BackGeomDet.size(): " << theBackGeomDets.size() ;
57 
58  return new T(theFrontGeomDets,theBackGeomDets);
59 
60  }
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:174
long double T
virtual const TrackerGeomDet * idToDet(DetId) const