19 vector<const DetLayer*>
25 vector<const DetLayer*> mylayers;
33 propagator()->propagate(fastFts, firstPixelBarrelLayer()->surface());
38 0.5*(firstPixelBarrelLayer()->surface().bounds().length()),
40 0.5*(firstPixelBarrelLayer()->surface().bounds().length()));
41 Range trajZRange(pTsos.globalPosition().z() - dz,
42 pTsos.globalPosition().z() + dz);
45 mylayers.push_back(firstPixelBarrelLayer());
53 const vector<ForwardDetLayer*> nfwd = firstPosPixelFwdLayer();
54 for(vector<ForwardDetLayer*>::const_iterator infwd = nfwd.begin();
55 infwd != nfwd.end(); infwd++) {
56 pTsos =
propagator()->propagate(fastFts, (*infwd)->surface());
58 Range nfwdRRange((*infwd)->specificSurface().innerRadius(),
59 (*infwd)->specificSurface().outerRadius());
60 Range trajRRange(pTsos.globalPosition().perp() - dr,
61 pTsos.globalPosition().perp() + dr);
63 mylayers.push_back(*infwd);
70 const vector<ForwardDetLayer*> pfwd = firstPosPixelFwdLayer();
71 for(vector<ForwardDetLayer*>::const_iterator ipfwd = pfwd.begin();
72 ipfwd != pfwd.end(); ipfwd++) {
73 pTsos =
propagator()->propagate(fastFts, (*ipfwd)->surface());
75 Range pfwdRRange((*ipfwd)->specificSurface().innerRadius(),
76 (*ipfwd)->specificSurface().outerRadius());
77 Range trajRRange(pTsos.globalPosition().perp() - dr,
78 pTsos.globalPosition().perp() + dr);
80 mylayers.push_back(*ipfwd);
96 vector<const DetLayer*>
101 float dr = 0., dz = 0.;
105 return vector<const DetLayer*>();
107 if(aSeed.
nHits() != 2)
return vector<const DetLayer*>();
110 TrackingRecHitCollection::const_iterator firstHit= aSeed.
recHits().first;
112 const DetLayer* hit1Layer = theMeasurementTracker->geometricSearchTracker()->detLayer(recHit1->
geographicalId());
114 TrackingRecHitCollection::const_iterator secondHit= aSeed.
recHits().second;
116 const DetLayer* hit2Layer = theMeasurementTracker->geometricSearchTracker()->detLayer(recHit2->
geographicalId());
136 thePropagator->magneticField());
141 return startingLayers(*fts, dr, dz);
146 return theFirstPixelBarrelLayer;
151 return theFirstNegPixelFwdLayer;
156 return theFirstPosPixelFwdLayer;
162 if(!thePixelLayersValid) {
167 theFirstPixelBarrelLayer = theGeometricSearchTracker->
pixelBarrelLayers().front();
170 thePixelLayersValid =
true;
PropagationDirection direction() const
const std::vector< ForwardDetLayer * > firstPosPixelFwdLayer() const
virtual Location location() const =0
Which part of the detector (barrel, endcap)
const GlobalTrajectoryParameters & parameters() const
FreeTrajectoryState * freeTrajectoryState(bool withErrors=true) const
static int position[TOTALCHAMBERS][3]
const BarrelDetLayer * firstPixelBarrelLayer() const
std::pair< float, float > Range
bool rangesIntersect(const Range &a, const Range &b)
std::vector< ForwardDetLayer * > const & posPixelForwardLayers() const
PTrajectoryStateOnDet const & startingState() const
const std::vector< ForwardDetLayer * > firstNegPixelFwdLayer() const
const unsigned int detId() const
void checkPixelLayers() const
unsigned int nHits() const
std::vector< const DetLayer * > startingLayers(const FTS &aFts, float dr, float dz) const
DetId geographicalId() const
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
std::vector< BarrelDetLayer * > const & pixelBarrelLayers() const
std::vector< ForwardDetLayer * > const & negPixelForwardLayers() const