19 #include <boost/function.hpp>
20 #include <boost/bind.hpp>
37 vector<BarrelDetLayer const*> thePxlBarLayers;
38 vector<BarrelDetLayer const*> theTIBLayers;
39 vector<BarrelDetLayer const*> theTOBLayers;
40 vector<ForwardDetLayer const*> theNegPxlFwdLayers;
41 vector<ForwardDetLayer const*> thePosPxlFwdLayers;
42 vector<ForwardDetLayer const*> theNegTIDLayers;
43 vector<ForwardDetLayer const*> thePosTIDLayers;
44 vector<ForwardDetLayer const*> theNegTECLayers;
45 vector<ForwardDetLayer const*> thePosTECLayers;
47 vector<const GeometricDet*> theGeometricDetLayers = theGeometricTracker->
components();
48 for (vector<const GeometricDet*>::const_iterator it = theGeometricDetLayers.begin();
49 it != theGeometricDetLayers.end();
52 vector<const GeometricDet*> thePxlBarGeometricDetLayers = (*it)->components();
53 for (vector<const GeometricDet*>::const_iterator it2 = thePxlBarGeometricDetLayers.begin();
54 it2 != thePxlBarGeometricDetLayers.end();
56 thePxlBarLayers.push_back(aPixelBarrelLayerBuilder.
build(*it2, theGeomDetGeometry));
61 vector<const GeometricDet*> thePxlBarGeometricDetLayers = (*it)->components();
62 for (vector<const GeometricDet*>::const_iterator it2 = thePxlBarGeometricDetLayers.begin();
63 it2 != thePxlBarGeometricDetLayers.end();
65 thePxlBarLayers.push_back(aPixelBarrelLayerBuilder.
build(*it2, theGeomDetGeometry));
70 vector<const GeometricDet*> thePxlBarGeometricDetLayers = (*it)->components();
71 for (vector<const GeometricDet*>::const_iterator it2 = thePxlBarGeometricDetLayers.begin();
72 it2 != thePxlBarGeometricDetLayers.end();
74 thePxlBarLayers.push_back(aPixelBarrelLayerBuilder.
build(*it2, theGeomDetGeometry));
79 vector<const GeometricDet*> theTIBGeometricDetLayers = (*it)->components();
80 for (vector<const GeometricDet*>::const_iterator it2 = theTIBGeometricDetLayers.begin();
81 it2 != theTIBGeometricDetLayers.end();
83 theTIBLayers.push_back(aTIBLayerBuilder.
build(*it2, theGeomDetGeometry));
88 vector<const GeometricDet*> theTOBGeometricDetLayers = (*it)->components();
89 for (vector<const GeometricDet*>::const_iterator it2 = theTOBGeometricDetLayers.begin();
90 it2 != theTOBGeometricDetLayers.end();
92 theTOBLayers.push_back(aTOBLayerBuilder.
build(*it2, theGeomDetGeometry));
97 vector<const GeometricDet*> theTOBGeometricDetLayers = (*it)->components();
98 for (vector<const GeometricDet*>::const_iterator it2 = theTOBGeometricDetLayers.begin();
99 it2 != theTOBGeometricDetLayers.end();
101 theTOBLayers.push_back(aPhase2OTBarrelLayerBuilder.
build(*it2, theGeomDetGeometry));
106 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
107 for (vector<const GeometricDet*>::const_iterator it2 = thePxlFwdGeometricDetLayers.begin();
108 it2 != thePxlFwdGeometricDetLayers.end();
110 if ((*it2)->positionBounds().z() < 0)
111 theNegPxlFwdLayers.push_back(aPixelForwardLayerBuilder.
build(*it2, theGeomDetGeometry));
112 if ((*it2)->positionBounds().z() > 0)
113 thePosPxlFwdLayers.push_back(aPixelForwardLayerBuilder.
build(*it2, theGeomDetGeometry));
118 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
119 for (vector<const GeometricDet*>::const_iterator it2 = thePxlFwdGeometricDetLayers.begin();
120 it2 != thePxlFwdGeometricDetLayers.end();
122 if ((*it2)->positionBounds().z() < 0)
123 theNegPxlFwdLayers.push_back(aPhase1PixelForwardLayerBuilder.
build(*it2, theGeomDetGeometry));
124 if ((*it2)->positionBounds().z() > 0)
125 thePosPxlFwdLayers.push_back(aPhase1PixelForwardLayerBuilder.
build(*it2, theGeomDetGeometry));
130 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
131 for (vector<const GeometricDet*>::const_iterator it2 = thePxlFwdGeometricDetLayers.begin();
132 it2 != thePxlFwdGeometricDetLayers.end();
136 if ((*it2)->positionBounds().z() < 0) {
139 theNegPxlFwdLayers.push_back(aPhase1PixelForwardLayerBuilder.
build(*it2, theGeomDetGeometry));
141 theNegPxlFwdLayers.push_back(aPhase2EndcapLayerBuilder.
build(*it2, theGeomDetGeometry,
false));
142 }
else if ((*it2)->positionBounds().z() > 0) {
145 thePosPxlFwdLayers.push_back(aPhase1PixelForwardLayerBuilder.
build(*it2, theGeomDetGeometry));
147 thePosPxlFwdLayers.push_back(aPhase2EndcapLayerBuilder.
build(*it2, theGeomDetGeometry,
false));
149 edm::LogError(
"TkDetLayers") <<
"In PixelPhase2EndCap the disks are neither PixelPhase2FullDisk nor "
150 "PixelPhase2ReducedDisk nor PixelPhase2TDRDisk...";
156 vector<const GeometricDet*> theTIDGeometricDetLayers = (*it)->components();
157 for (vector<const GeometricDet*>::const_iterator it2 = theTIDGeometricDetLayers.begin();
158 it2 != theTIDGeometricDetLayers.end();
160 if ((*it2)->positionBounds().z() < 0)
161 theNegTIDLayers.push_back(aTIDLayerBuilder.
build(*it2, theGeomDetGeometry));
162 if ((*it2)->positionBounds().z() > 0)
163 thePosTIDLayers.push_back(aTIDLayerBuilder.
build(*it2, theGeomDetGeometry));
168 vector<const GeometricDet*> theTIDGeometricDetLayers = (*it)->components();
169 for (vector<const GeometricDet*>::const_iterator it2 = theTIDGeometricDetLayers.begin();
170 it2 != theTIDGeometricDetLayers.end();
172 if ((*it2)->positionBounds().z() < 0)
173 theNegTIDLayers.push_back(aPhase2EndcapLayerBuilder.
build(*it2, theGeomDetGeometry,
true));
174 if ((*it2)->positionBounds().z() > 0)
175 thePosTIDLayers.push_back(aPhase2EndcapLayerBuilder.
build(*it2, theGeomDetGeometry,
true));
180 vector<const GeometricDet*> theTECGeometricDetLayers = (*it)->components();
181 for (vector<const GeometricDet*>::const_iterator it2 = theTECGeometricDetLayers.begin();
182 it2 != theTECGeometricDetLayers.end();
184 if ((*it2)->positionBounds().z() < 0)
185 theNegTECLayers.push_back(aTECLayerBuilder.
build(*it2, theGeomDetGeometry));
186 if ((*it2)->positionBounds().z() > 0)
187 thePosTECLayers.push_back(aTECLayerBuilder.
build(*it2, theGeomDetGeometry));