CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PixelBladeBuilder.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_PixelBladeBuilder_h
2 #define TkDetLayers_PixelBladeBuilder_h
3 
4 
5 //#include "PixelBlade.h"
6 
10 
12 
14 
15 
19 #pragma GCC visibility push(hidden)
20 template <class T>
22  public:
24 
25  T* build(const GeometricDet* geometricDetFrontPanel,
26  const GeometricDet* geometricDetBackPanel,
27  const TrackerGeometry* theGeomDetGeometry) __attribute__ ((cold));
28 
29 };
30 
31 template <class T>
32 T* PixelBladeBuilder<T>::build(const GeometricDet* geometricDetFrontPanel,
33  const GeometricDet* geometricDetBackPanel,
34  const TrackerGeometry* theGeomDetGeometry)
35 
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  }
61 
62 
63 #pragma GCC visibility pop
64 #endif
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:174
float __attribute__((vector_size(8))) float32x2_t
Definition: ExtVec.h:12
long double T
T * build(const GeometricDet *geometricDetFrontPanel, const GeometricDet *geometricDetBackPanel, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
virtual const TrackerGeomDet * idToDet(DetId) const