CMS 3D CMS Logo

PixelForwardLayerBuilder.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_PixelForwardLayerBuilder_h
2 #define TkDetLayers_PixelForwardLayerBuilder_h
3 
4 
5 #include "PixelForwardLayer.h"
6 
10 
12 #include "PixelForwardLayer.h"
13 #include "PixelBladeBuilder.h"
14 
15 
19 #pragma GCC visibility push(hidden)
20 
21 template <class T1, class T2>
23  public:
25  ForwardDetLayer* build(const GeometricDet* aPixelForwardLayer,
26  const TrackerGeometry* theGeomDetGeometry) __attribute__ ((cold));
27 
28 
29 };
30 
31 template <class T1, class T2>
33  const TrackerGeometry* theGeomDetGeometry) {
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 }
66 
67 #pragma GCC visibility pop
68 #endif
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:176
ForwardDetLayer * build(const GeometricDet *aPixelForwardLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
T * build(const GeometricDet *geometricDetFrontPanel, const GeometricDet *geometricDetBackPanel, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))