11 vector<const GeometricDet*> theGeometricDets = aTECWedge->
components();
14 if(theGeometricDets.size() == 1 ) {
16 theGeomDetGeometry->
idToDet( theGeometricDets.front()->geographicalID() );
17 return new SimpleTECWedge(theGeomDet);
20 vector<const GeomDet*> innerGeomDets;
21 vector<const GeomDet*> outerGeomDets;
25 for(vector<const GeometricDet*>::const_iterator it=theGeometricDets.begin();
26 it!=theGeometricDets.end();it++){
27 meanZ = meanZ + (*it)->positionBounds().z();
30 meanZ = meanZ/theGeometricDets.size();
34 for(vector<const GeometricDet*>::const_iterator it=theGeometricDets.begin();
35 it!=theGeometricDets.end();it++){
37 const GeomDet* theGeomDet = theGeomDetGeometry->
idToDet( (*it)->geographicalID() );
40 if( fabs( (*it)->positionBounds().z() ) < fabs(meanZ))
41 innerGeomDets.push_back(theGeomDet);
43 if( fabs( (*it)->positionBounds().z() ) > fabs(meanZ))
44 outerGeomDets.push_back(theGeomDet);
50 return new CompositeTECWedge(innerGeomDets,outerGeomDets);
TECWedge * build(const GeometricDet *aTECWedge, const TrackerGeometry *theGeomDetGeometry) __attribute__((cold))
ConstGeometricDetContainer & components()
virtual const GeomDet * idToDet(DetId) const