CMS 3D CMS Logo

PixelBladeBuilder.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_PixelBladeBuilder_h
2 #define TkDetLayers_PixelBladeBuilder_h
3 
4 //#include "PixelBlade.h"
5 
9 
11 
13 
17 #pragma GCC visibility push(hidden)
18 template <class T>
20 public:
22 
23  T* build(const GeometricDet* geometricDetFrontPanel,
24  const GeometricDet* geometricDetBackPanel,
25  const TrackerGeometry* theGeomDetGeometry) __attribute__((cold));
26 };
27 
28 template <class T>
29 T* PixelBladeBuilder<T>::build(const GeometricDet* geometricDetFrontPanel,
30  const GeometricDet* geometricDetBackPanel,
31  const TrackerGeometry* theGeomDetGeometry)
32 
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 }
56 
57 #pragma GCC visibility pop
58 #endif
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
MessageLogger.h
TrackerGeometry.h
GeomDet
Definition: GeomDet.h:27
PixelBladeBuilder::build
T * build(const GeometricDet *geometricDetFrontPanel, const GeometricDet *geometricDetBackPanel, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
Definition: PixelBladeBuilder.h:29
ESHandle.h
GeometricDet::components
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:149
PixelBladeBuilder
Definition: PixelBladeBuilder.h:19
GeometricDet
Definition: GeometricDet.h:31
TkRotation.h
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
GeometricDet.h
PixelBladeBuilder::PixelBladeBuilder
PixelBladeBuilder()
Definition: PixelBladeBuilder.h:21
T
long double T
Definition: Basic3DVectorLD.h:48
TrackerGeometry
Definition: TrackerGeometry.h:14