20 #include <boost/function.hpp>
21 #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;
59 typedef TrackingGeometry::DetUnitContainer::const_iterator Iter;
60 Iter
b=modules.begin();
66 unsigned int rawid = (*b)->geographicalId().rawId();
72 unsigned int rawid = (*last)->geographicalId().rawId();
73 int subdetid = (*last)->geographicalId().subdetId();
74 std::cout << rawid <<
" " << subdetid << std::endl;
79 unsigned int layerId[] = {1,3,5,21,22,41,42,61,62};
94 for (
int i=0;
i<9;
i++) {
96 if (layerId[
i]>9) s+=
char(layerId[
i]/10);
97 s+=
char(layerId[
i]%10);
107 vector<const GeometricDet*> theGeometricDetLayers = theGeometricTracker->
components();
108 for(vector<const GeometricDet*>::const_iterator it=theGeometricDetLayers.begin();
109 it!=theGeometricDetLayers.end(); it++){
112 vector<const GeometricDet*> thePxlBarGeometricDetLayers = (*it)->components();
113 for(vector<const GeometricDet*>::const_iterator it2=thePxlBarGeometricDetLayers.begin();
114 it2!=thePxlBarGeometricDetLayers.end(); it2++){
115 thePxlBarLayers.push_back( aPixelBarrelLayerBuilder.
build(*it2,theGeomDetGeometry) );
120 vector<const GeometricDet*> thePxlBarGeometricDetLayers = (*it)->components();
121 for(vector<const GeometricDet*>::const_iterator it2=thePxlBarGeometricDetLayers.begin();
122 it2!=thePxlBarGeometricDetLayers.end(); it2++){
123 thePxlBarLayers.push_back( aPixelBarrelLayerBuilder.
build(*it2,theGeomDetGeometry) );
128 vector<const GeometricDet*> theTIBGeometricDetLayers = (*it)->components();
129 for(vector<const GeometricDet*>::const_iterator it2=theTIBGeometricDetLayers.begin();
130 it2!=theTIBGeometricDetLayers.end(); it2++){
131 theTIBLayers.push_back( aTIBLayerBuilder.
build(*it2,theGeomDetGeometry) );
136 vector<const GeometricDet*> theTOBGeometricDetLayers = (*it)->components();
137 for(vector<const GeometricDet*>::const_iterator it2=theTOBGeometricDetLayers.begin();
138 it2!=theTOBGeometricDetLayers.end(); it2++){
139 theTOBLayers.push_back( aTOBLayerBuilder.
build(*it2,theGeomDetGeometry) );
144 vector<const GeometricDet*> theTOBGeometricDetLayers = (*it)->components();
145 for(vector<const GeometricDet*>::const_iterator it2=theTOBGeometricDetLayers.begin();
146 it2!=theTOBGeometricDetLayers.end(); it2++){
147 theTOBLayers.push_back( aPhase2OTBarrelLayerBuilder.
build(*it2,theGeomDetGeometry) );
152 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
153 for(vector<const GeometricDet*>::const_iterator it2=thePxlFwdGeometricDetLayers.begin();
154 it2!=thePxlFwdGeometricDetLayers.end(); it2++){
155 if((*it2)->positionBounds().z() < 0)
156 theNegPxlFwdLayers.push_back( aPixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
157 if((*it2)->positionBounds().z() > 0)
158 thePosPxlFwdLayers.push_back( aPixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
163 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
164 for(vector<const GeometricDet*>::const_iterator it2=thePxlFwdGeometricDetLayers.begin();
165 it2!=thePxlFwdGeometricDetLayers.end(); it2++){
166 if((*it2)->positionBounds().z() < 0)
167 theNegPxlFwdLayers.push_back( aPhase1PixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
168 if((*it2)->positionBounds().z() > 0)
169 thePosPxlFwdLayers.push_back( aPhase1PixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
174 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
175 for(vector<const GeometricDet*>::const_iterator it2=thePxlFwdGeometricDetLayers.begin();
176 it2!=thePxlFwdGeometricDetLayers.end(); it2++){
177 if((*it2)->positionBounds().z() < 0)
178 theNegPxlFwdLayers.push_back( aPhase1PixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
179 if((*it2)->positionBounds().z() > 0)
180 thePosPxlFwdLayers.push_back( aPhase1PixelForwardLayerBuilder.
build(*it2,theGeomDetGeometry) );
187 vector<const GeometricDet*> theTIDGeometricDetLayers = (*it)->components();
188 for(vector<const GeometricDet*>::const_iterator it2=theTIDGeometricDetLayers.begin();
189 it2!=theTIDGeometricDetLayers.end(); it2++){
190 if((*it2)->positionBounds().z() < 0)
191 theNegTIDLayers.push_back( aTIDLayerBuilder.
build(*it2,theGeomDetGeometry) );
192 if((*it2)->positionBounds().z() > 0)
193 thePosTIDLayers.push_back( aTIDLayerBuilder.
build(*it2,theGeomDetGeometry) );
198 vector<const GeometricDet*> thePxlFwdGeometricDetLayers = (*it)->components();
199 for(vector<const GeometricDet*>::const_iterator it2=thePxlFwdGeometricDetLayers.begin();
200 it2!=thePxlFwdGeometricDetLayers.end(); it2++){
201 if((*it2)->positionBounds().z() < 0)
202 theNegTIDLayers.push_back( aPhase2OTECRingedLayerBuilder.
build(*it2,theGeomDetGeometry) );
203 if((*it2)->positionBounds().z() > 0)
204 thePosTIDLayers.push_back( aPhase2OTECRingedLayerBuilder.
build(*it2,theGeomDetGeometry) );
209 vector<const GeometricDet*> theTECGeometricDetLayers = (*it)->components();
210 for(vector<const GeometricDet*>::const_iterator it2=theTECGeometricDetLayers.begin();
211 it2!=theTECGeometricDetLayers.end(); it2++){
212 if((*it2)->positionBounds().z() < 0)
213 theNegTECLayers.push_back( aTECLayerBuilder.
build(*it2,theGeomDetGeometry) );
214 if((*it2)->positionBounds().z() > 0)
215 thePosTECLayers.push_back( aTECLayerBuilder.
build(*it2,theGeomDetGeometry) );
224 theNegPxlFwdLayers,theNegTIDLayers,theNegTECLayers,
225 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))
PixelBarrelLayer * build(const GeometricDet *aPixelBarrelLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
TIDLayer * build(const GeometricDet *aTIDLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
Phase2OTECRingedLayer * build(const GeometricDet *aPhase2OTECRingedLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
Phase2OTBarrelLayer * build(const GeometricDet *aPhase2OTBarrelLayer, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
std::string trackerHierarchy(unsigned int id)
ConstGeometricDetContainer & components()
virtual const DetUnitContainer & detUnits() const
Returm a vector of all GeomDetUnit.
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))