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 for(
auto infwd : firstPosPixelFwdLayer() ) {
54 pTsos = propagator()->propagate(fastFts, infwd->surface());
56 Range nfwdRRange(infwd->specificSurface().innerRadius(),
57 infwd->specificSurface().outerRadius());
58 Range trajRRange(pTsos.globalPosition().perp() - dr,
59 pTsos.globalPosition().perp() + dr);
61 mylayers.push_back(infwd);
68 for(
auto ipfwd: firstPosPixelFwdLayer()) {
69 pTsos = propagator()->propagate(fastFts, ipfwd->surface());
71 Range pfwdRRange(ipfwd->specificSurface().innerRadius(),
72 ipfwd->specificSurface().outerRadius());
73 Range trajRRange(pTsos.globalPosition().perp() - dr,
74 pTsos.globalPosition().perp() + dr);
76 mylayers.push_back(ipfwd);
92 vector<const DetLayer*>
97 float dr = 0., dz = 0.;
100 if(propagator()->propagationDirection() != aSeed.
direction())
101 return vector<const DetLayer*>();
103 if(aSeed.
nHits() != 2)
return vector<const DetLayer*>();
106 TrackingRecHitCollection::const_iterator firstHit= aSeed.
recHits().first;
108 const DetLayer* hit1Layer = theMeasurementTracker->geometricSearchTracker()->detLayer(recHit1->
geographicalId());
110 TrackingRecHitCollection::const_iterator secondHit= aSeed.
recHits().second;
112 const DetLayer* hit2Layer = theMeasurementTracker->geometricSearchTracker()->detLayer(recHit2->
geographicalId());
132 thePropagator->magneticField());
137 return startingLayers(*fts, dr, dz);
142 return theFirstPixelBarrelLayer;
147 return theFirstNegPixelFwdLayer;
152 return theFirstPosPixelFwdLayer;
158 if(!thePixelLayersValid) {
163 theFirstPixelBarrelLayer = theGeometricSearchTracker->
pixelBarrelLayers().front();
166 thePixelLayersValid =
true;
PropagationDirection direction() const
virtual Location location() const =0
Which part of the detector (barrel, endcap)
const GlobalTrajectoryParameters & parameters() const
std::vector< ForwardDetLayer const * > const & posPixelForwardLayers() const
const std::vector< const ForwardDetLayer * > firstPosPixelFwdLayer() const
const Plane & surface() const
The nominal surface of the GeomDet.
const BarrelDetLayer * firstPixelBarrelLayer() const
std::pair< float, float > Range
std::vector< ForwardDetLayer const * > const & negPixelForwardLayers() const
FreeTrajectoryState const * freeTrajectoryState(bool withErrors=true) const
bool rangesIntersect(const Range &a, const Range &b)
unsigned int detId() const
std::vector< BarrelDetLayer const * > const & pixelBarrelLayers() const
PTrajectoryStateOnDet const & startingState() const
void checkPixelLayers() const
unsigned int nHits() const
static int position[264][3]
std::vector< const DetLayer * > startingLayers(const FTS &aFts, float dr, float dz) const
DetId geographicalId() const
const std::vector< const ForwardDetLayer * > firstNegPixelFwdLayer() const