CMS 3D CMS Logo

List of all members | Public Member Functions
PixelForwardLayerBuilder< T1, T2 > Class Template Reference

#include <PixelForwardLayerBuilder.h>

Public Member Functions

ForwardDetLayerbuild (const GeometricDet *aPixelForwardLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
 
 PixelForwardLayerBuilder ()
 

Detailed Description

template<class T1, class T2>
class PixelForwardLayerBuilder< T1, T2 >

A concrete builder for PixelForwardLayer

Definition at line 22 of file PixelForwardLayerBuilder.h.

Constructor & Destructor Documentation

template<class T1, class T2>
PixelForwardLayerBuilder< T1, T2 >::PixelForwardLayerBuilder ( )
inline

Definition at line 24 of file PixelForwardLayerBuilder.h.

References PixelForwardLayerBuilder< T1, T2 >::build().

24 {};

Member Function Documentation

template<class T1 , class T2 >
ForwardDetLayer * PixelForwardLayerBuilder< T1, T2 >::build ( const GeometricDet aPixelForwardLayer,
const TrackerGeometry theGeomDetGeometry 
)

Definition at line 32 of file PixelForwardLayerBuilder.h.

References PixelBladeBuilder< T >::build(), GeometricDet::components(), and mps_fire::i.

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

33  {
34  std::vector<const GeometricDet*> theGeometricPanels = aPixelForwardLayer->components();
35  int panelsSize = theGeometricPanels.size();
36 
37  /*
38  int num = 0;
39  for(std::vector<const GeometricDet*>::const_iterator it= theGeometricPanels.begin();
40  it!=theGeometricPanels.end(); it++, ++num) {
41  edm::LogInfo("TkDetLayers") << "PanelsSize: " << panelsSize << " , "
42  << "PanelNum: " << num << " , "
43  << "panel.phi(): " << (*it)->positionBounds().phi() << " , "
44  << "panel.z(): " << (*it)->positionBounds().z() << " , "
45  << "panel.y(): " << (*it)->positionBounds().y() << " , "
46  << "panel.x(): " << (*it)->positionBounds().x() << " , "
47  << "panel.r(): " << (*it)->positionBounds().perp() << " , "
48  << "panel.rmax(): " << (*it)->bounds()->rSpan().second << " , "
49  << "comp.size(): " << (*it)->components().size();
50  }
51  */
52 
53  //edm::LogInfo(TkDetLayers) << "pixelFwdLayer.panels().size(): " << panelsSize ;
54 
55  std::vector<const T1*> theBlades;
56  PixelBladeBuilder<T1> myBladeBuilder;
57 
58  for(int i=0; i< (panelsSize/2); i++) {
59  theBlades.push_back( myBladeBuilder.build( theGeometricPanels[i],
60  theGeometricPanels[i+(panelsSize/2)],
61  theGeomDetGeometry ) );
62  }
63 
64  return new T2(theBlades);
65 }
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:176
T * build(const GeometricDet *geometricDetFrontPanel, const GeometricDet *geometricDetBackPanel, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))