CMS 3D CMS Logo

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 19 of file PixelBladeBuilder.h.

Constructor & Destructor Documentation

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

Definition at line 21 of file PixelBladeBuilder.h.

References PixelBladeBuilder< T >::build().

21 {};

Member Function Documentation

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

Definition at line 29 of file PixelBladeBuilder.h.

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

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

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