31 return std::make_unique<SiPixelRecHit>(
40 return std::make_unique<SiStripRecHit2D>(lv.first, lv.second, *hit.
det(), hit.
omniCluster());
49 return std::make_unique<SiStripRecHit1D>(lv.first, le, *hit.
det(), hit.
omniCluster());
61 return std::make_unique<VectorHit>(hit);
69 return std::make_shared<SiPixelRecHit>(
79 return std::make_shared<SiStripRecHit2D>(lv.first, lv.second, *hit.
det(), hit.
omniCluster());
89 return std::make_shared<SiStripRecHit1D>(lv.first, le, *hit.
det(), hit.
omniCluster());
102 return std::make_shared<VectorHit>(hit);
106 #undef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitProj
107 #undef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitLGL
108 #ifdef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitLGL
116 #elif defined(RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitProj)
153 std::unique_ptr<SiStripMatchedRecHit2D>
temp =
theMatcher->
match(&monoHit, &stereoHit, gdet, tkDir,
false);
154 if (temp.get() ==
nullptr) {
155 temp = std::unique_ptr<SiStripMatchedRecHit2D>(hit.
clone());
186 auto delta = gluedPlane.localZ(hitPlane.position());
188 LocalPoint lhitPos = gluedPlane.toLocal(hitPlane.toGlobal(lv.first));
189 LocalPoint projectedHitPos = lhitPos - ldir * delta / ldir.
z();
193 if (gluedPlane.normalVector().dot(hitPlane.normalVector()) < 0) {
198 return std::make_unique<ProjectedSiStripRecHit2D>(
224 auto delta = gluedPlane.localZ(hitPlane.position());
226 LocalPoint lhitPos = gluedPlane.toLocal(hitPlane.toGlobal(lv.first));
227 LocalPoint projectedHitPos = lhitPos - ldir * delta / ldir.
z();
231 if (gluedPlane.normalVector().dot(hitPlane.normalVector()) < 0) {
236 return std::make_unique<ProjectedSiStripRecHit2D>(
std::pair< LocalPoint, LocalError > LocalValues
const GeomDetUnit * detUnit() const override
TrackCharge charge() const
const GeomDetUnit * monoDet() const
const LocalTrajectoryParameters & localParameters() const
SiStripCluster const & monoCluster() const
LocalVector localDirection() const
OmniClusterRef const & stereoClusterRef() const
virtual void localParameters(AClusters const &clusters, ALocalValues &retValues, const GeomDetUnit &gd, const LocalTrajectoryParameters <p) const
Global3DPoint GlobalPoint
const PixelClusterParameterEstimator * pixelCPE
GlobalPoint globalPosition() const
TrackingRecHit::ConstRecHitPointer makeShared(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
const Plane & surface() const
The nominal surface of the GeomDet.
virtual ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det) const =0
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
const Surface::PositionType & position() const
The position (origin of the R.F.)
const StripClusterParameterEstimator * stripCPE
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
const GeomDet * det() const
std::unique_ptr< SiStripMatchedRecHit2D > match(const SiStripRecHit2D *monoRH, const SiStripRecHit2D *stereoRH, const GluedGeomDet *gluedDet, LocalVector trackdirection, bool force) const
LocalPoint toLocal(const GlobalPoint &gp) const
SiStripMatchedRecHit2D * clone() const override
GlobalVector momentum() const
OmniClusterRef const & omniCluster() const
LocalVector directionNotNormalized() const
Momentum vector unit in the local frame.
const GeomDetUnit * originalDet() const
OmniClusterRef const & monoClusterRef() const
std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
const ClusterParameterEstimator< Phase2TrackerCluster1D > * phase2TrackerCPE
const SiStripRecHitMatcher * theMatcher
const GlobalTrajectoryParameters & globalParameters() const
SiStripCluster const & stripCluster() const
ClusterRef cluster() const
std::unique_ptr< ProjectedSiStripRecHit2D > project(SiStripMatchedRecHit2D const &hit, bool mono, TrajectoryStateOnSurface const &tsos) const
SiStripCluster const & stereoCluster() const
Pixel cluster – collection of neighboring pixels above threshold.
LocalError rotate(float x, float y) const
Return a new LocalError, rotated by an angle defined by the direction (x,y)
Phase2TrackerCluster1D const & phase2OTCluster() const
const GeomDetUnit * stereoDet() const