RecoTracker
TkDetLayers
src
PixelForwardLayerBuilder.h
Go to the documentation of this file.
1
#ifndef TkDetLayers_PixelForwardLayerBuilder_h
2
#define TkDetLayers_PixelForwardLayerBuilder_h
3
4
#include "
PixelForwardLayer.h
"
5
6
#include "
FWCore/Framework/interface/ESHandle.h
"
7
#include "
Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h
"
8
#include "
Geometry/TrackerNumberingBuilder/interface/GeometricDet.h
"
9
10
#include "
PixelForwardLayerPhase1.h
"
11
#include "
PixelForwardLayer.h
"
12
#include "
PixelBladeBuilder.h
"
13
17
#pragma GCC visibility push(hidden)
18
19
template
<
class
T1,
class
T2>
20
class
PixelForwardLayerBuilder
{
21
public
:
22
PixelForwardLayerBuilder
(){};
23
ForwardDetLayer
*
build
(
const
GeometricDet
* aPixelForwardLayer,
const
TrackerGeometry
* theGeomDetGeometry)
24
__attribute__
((cold));
25
};
26
27
template
<
class
T1,
class
T2>
28
ForwardDetLayer
*
PixelForwardLayerBuilder<T1, T2>::build
(
const
GeometricDet
* aPixelForwardLayer,
29
const
TrackerGeometry
* theGeomDetGeometry) {
30
std::vector<const GeometricDet*> theGeometricPanels = aPixelForwardLayer->
components
();
31
int
panelsSize = theGeometricPanels.size();
32
33
/*
34
int num = 0;
35
for(std::vector<const GeometricDet*>::const_iterator it= theGeometricPanels.begin();
36
it!=theGeometricPanels.end(); it++, ++num) {
37
edm::LogInfo("TkDetLayers") << "PanelsSize: " << panelsSize << " , "
38
<< "PanelNum: " << num << " , "
39
<< "panel.phi(): " << (*it)->positionBounds().phi() << " , "
40
<< "panel.z(): " << (*it)->positionBounds().z() << " , "
41
<< "panel.y(): " << (*it)->positionBounds().y() << " , "
42
<< "panel.x(): " << (*it)->positionBounds().x() << " , "
43
<< "panel.r(): " << (*it)->positionBounds().perp() << " , "
44
<< "panel.rmax(): " << (*it)->bounds()->rSpan().second << " , "
45
<< "comp.size(): " << (*it)->components().size();
46
}
47
*/
48
49
//edm::LogInfo(TkDetLayers) << "pixelFwdLayer.panels().size(): " << panelsSize ;
50
51
std::vector<const T1*> theBlades;
52
PixelBladeBuilder<T1>
myBladeBuilder;
53
54
for
(
int
i
= 0;
i
< (panelsSize / 2);
i
++) {
55
theBlades.push_back(
56
myBladeBuilder.
build
(theGeometricPanels[
i
], theGeometricPanels[
i
+ (panelsSize / 2)], theGeomDetGeometry));
57
}
58
59
return
new
T2(theBlades);
60
}
61
62
#pragma GCC visibility pop
63
#endif
mps_fire.i
i
Definition:
mps_fire.py:428
TrackerGeometry.h
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
PixelForwardLayerBuilder::build
ForwardDetLayer * build(const GeometricDet *aPixelForwardLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
Definition:
PixelForwardLayerBuilder.h:28
PixelForwardLayer.h
PixelBladeBuilder
Definition:
PixelBladeBuilder.h:19
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition:
ExtVec.h:12
PixelBladeBuilder.h
PixelForwardLayerBuilder
Definition:
PixelForwardLayerBuilder.h:20
GeometricDet
Definition:
GeometricDet.h:31
PixelForwardLayerBuilder::PixelForwardLayerBuilder
PixelForwardLayerBuilder()
Definition:
PixelForwardLayerBuilder.h:22
PixelForwardLayerPhase1.h
GeometricDet.h
ForwardDetLayer
Definition:
ForwardDetLayer.h:22
TrackerGeometry
Definition:
TrackerGeometry.h:14
Generated for CMSSW Reference Manual by
1.8.16