19 #include <boost/function.hpp>
20 #include <boost/bind.hpp>
40 vector<BarrelDetLayer const*> thePxlBarLayers;
41 vector<BarrelDetLayer const*> theTIBLayers;
42 vector<BarrelDetLayer const*> theTOBLayers;
43 vector<ForwardDetLayer const*> theNegPxlFwdLayers;
44 vector<ForwardDetLayer const*> thePosPxlFwdLayers;
45 vector<ForwardDetLayer const*> theNegTIDLayers;
46 vector<ForwardDetLayer const*> thePosTIDLayers;
47 vector<ForwardDetLayer const*> theNegTECLayers;
48 vector<ForwardDetLayer const*> thePosTECLayers;
50 using namespace trackerTrie;
60 typedef TrackingGeometry::DetUnitContainer::const_iterator Iter;
61 Iter
b=modules.begin();
67 unsigned int rawid = (*b)->geographicalId().rawId();
73 unsigned int rawid = (*last)->geographicalId().rawId();
74 int subdetid = (*last)->geographicalId().subdetId();
75 std::cout << rawid <<
" " << subdetid << std::endl;
80 unsigned int layerId[] = {1,3,5,21,22,41,42,61,62};
95 for (
int i=0;
i<9;
i++) {
97 if (layerId[
i]>9) s+=
char(layerId[
i]/10);
98 s+=
char(layerId[
i]%10);
108 vector<const GeometricDet*> theGeometricDetLayers = theGeometricTracker->
components();
109 for(vector<const GeometricDet*>::const_iterator it=theGeometricDetLayers.begin();
110 it!=theGeometricDetLayers.end(); it++){
113 vector<const GeometricDet*> thePxlBarGeometricDetLayers = (*it)->components();
114 for(vector<const GeometricDet*>::const_iterator it2=thePxlBarGeometricDetLayers.begin();
115 it2!=thePxlBarGeometricDetLayers.end(); it2++){
116 thePxlBarLayers.push_back( aPixelBarrelLayerBuilder.
build(*it2,theGeomDetGeometry) );
121 vector<const GeometricDet*> thePxlBarGeometricDetLayers = (*it)->components();
122 for(vector<const GeometricDet*>::const_iterator it2=thePxlBarGeometricDetLayers.begin();
123 it2!=thePxlBarGeometricDetLayers.end(); it2++){
124 thePxlBarLayers.push_back( aPixelBarrelLayerBuilder.
build(*it2,theGeomDetGeometry) );
129 vector<const GeometricDet*> theTIBGeometricDetLayers = (*it)->components();
130 for(vector<const GeometricDet*>::const_iterator it2=theTIBGeometricDetLayers.begin();
131 it2!=theTIBGeometricDetLayers.end(); it2++){
132 theTIBLayers.push_back( aTIBLayerBuilder.
build(*it2,theGeomDetGeometry) );
137 vector<const GeometricDet*> theTOBGeometricDetLayers = (*it)->components();
138 for(vector<const GeometricDet*>::const_iterator it2=theTOBGeometricDetLayers.begin();
139 it2!=theTOBGeometricDetLayers.end(); it2++){
140 theTOBLayers.push_back( aTOBLayerBuilder.
build(*it2,theGeomDetGeometry) );
145 vector<const GeometricDet*> theTOBGeometricDetLayers = (*it)->components();
146 for(vector<const GeometricDet*>::const_iterator it2=theTOBGeometricDetLayers.begin();
147 it2!=theTOBGeometricDetLayers.end(); it2++){
148 theTOBLayers.push_back( aPhase2OTBarrelLayerBuilder.
build(*it2,theGeomDetGeometry) );
153 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
154 for(vector<const GeometricDet*>::const_iterator it2=thePxlFwdGeometricDetLayers.begin();
155 it2!=thePxlFwdGeometricDetLayers.end(); it2++){
156 if((*it2)->positionBounds().z() < 0)
157 theNegPxlFwdLayers.push_back( aPixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
158 if((*it2)->positionBounds().z() > 0)
159 thePosPxlFwdLayers.push_back( aPixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
164 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
165 for(vector<const GeometricDet*>::const_iterator it2=thePxlFwdGeometricDetLayers.begin();
166 it2!=thePxlFwdGeometricDetLayers.end(); it2++){
167 if((*it2)->positionBounds().z() < 0)
168 theNegPxlFwdLayers.push_back( aPhase1PixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
169 if((*it2)->positionBounds().z() > 0)
170 thePosPxlFwdLayers.push_back( aPhase1PixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
175 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
176 for(vector<const GeometricDet*>::const_iterator it2=thePxlFwdGeometricDetLayers.begin();
177 it2!=thePxlFwdGeometricDetLayers.end(); it2++){
178 if((*it2)->positionBounds().z() < 0)
179 theNegPxlFwdLayers.push_back( aPhase1PixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
180 if((*it2)->positionBounds().z() > 0)
181 thePosPxlFwdLayers.push_back( aPhase1PixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
186 vector<const GeometricDet*> theTIDGeometricDetLayers = (*it)->components();
187 for(vector<const GeometricDet*>::const_iterator it2=theTIDGeometricDetLayers.begin();
188 it2!=theTIDGeometricDetLayers.end(); it2++){
189 if((*it2)->positionBounds().z() < 0)
190 theNegTIDLayers.push_back( aTIDLayerBuilder.
build(*it2,theGeomDetGeometry) );
191 if((*it2)->positionBounds().z() > 0)
192 thePosTIDLayers.push_back( aTIDLayerBuilder.
build(*it2,theGeomDetGeometry) );
197 vector<const GeometricDet*> theTIDGeometricDetLayers = (*it)->components();
198 for(vector<const GeometricDet*>::const_iterator it2=theTIDGeometricDetLayers.begin();
199 it2!=theTIDGeometricDetLayers.end(); it2++){
200 if((*it2)->positionBounds().z() < 0)
201 theNegTIDLayers.push_back( aPhase2OTEndcapLayerBuilder.
build(*it2,theGeomDetGeometry) );
202 if((*it2)->positionBounds().z() > 0)
203 thePosTIDLayers.push_back( aPhase2OTEndcapLayerBuilder.
build(*it2,theGeomDetGeometry) );
208 vector<const GeometricDet*> theTECGeometricDetLayers = (*it)->components();
209 for(vector<const GeometricDet*>::const_iterator it2=theTECGeometricDetLayers.begin();
210 it2!=theTECGeometricDetLayers.end(); it2++){
211 if((*it2)->positionBounds().z() < 0)
212 theNegTECLayers.push_back( aTECLayerBuilder.
build(*it2,theGeomDetGeometry) );
213 if((*it2)->positionBounds().z() > 0)
214 thePosTECLayers.push_back( aTECLayerBuilder.
build(*it2,theGeomDetGeometry) );
223 theNegPxlFwdLayers,theNegTIDLayers,theNegTECLayers,
224 thePosPxlFwdLayers,thePosTIDLayers,thePosTECLayers, tTopo);
virtual char const * what() const
TIBLayer * build(const GeometricDet *aTIBLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
TOBLayer * build(const GeometricDet *aTOBLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
TECLayer * build(const GeometricDet *aTECLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
Phase2OTEndcapLayer * build(const GeometricDet *aPhase2OTEndcapLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
PixelBarrelLayer * build(const GeometricDet *aPixelBarrelLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
TIDLayer * build(const GeometricDet *aTIDLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
Phase2OTBarrelLayer * build(const GeometricDet *aPhase2OTBarrelLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
std::string trackerHierarchy(unsigned int id)
ConstGeometricDetContainer & components()
void insert(std::string const &str, const T &value)
GeometricSearchTracker * build(const GeometricDet *theGeometricTracker, const TrackerGeometry *theGeomDetGeometry, const TrackerTopology *tTopo) __attribute__((cold))
std::vector< GeomDetUnit const * > DetUnitContainer
const TrieNode< T > * node(std::string const &str) const
get node matching a string
ForwardDetLayer * build(const GeometricDet *aPixelForwardLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
const DetUnitContainer & detUnits() const
Returm a vector of all GeomDetUnit.