27 return std::unique_ptr<SiPixelRecHit>(
new SiPixelRecHit(std::get<0>(params), std::get<1>(params), std::get<2>(params), *hit.
det(), hit.
cluster()));
51 return std::make_shared<SiPixelRecHit>(std::get<0>(params), std::get<1>(params), std::get<2>(params), *hit.
det(), hit.
cluster());
60 return std::make_shared<SiStripRecHit2D>(lv.first, lv.second, *hit.
det(), hit.
omniCluster());
70 return std::make_shared<SiStripRecHit1D>(lv.first,
le, *hit.
det(), hit.
omniCluster());
76 #undef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitProj
77 #undef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitLGL
78 #ifdef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitLGL
86 #elif defined(RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitProj)
125 std::unique_ptr<SiStripMatchedRecHit2D>
temp =
theMatcher->
match(&monoHit,&stereoHit,gdet,tkDir,
false);
126 if(temp.get() ==
nullptr) {
127 temp = std::unique_ptr<SiStripMatchedRecHit2D>(hit.
clone());
155 auto delta = gluedPlane.localZ( hitPlane.position());
157 LocalPoint lhitPos = gluedPlane.toLocal( hitPlane.toGlobal(lv.first));
158 LocalPoint projectedHitPos = lhitPos - ldir * delta/ldir.
z();
162 if (gluedPlane.normalVector().dot( hitPlane.normalVector()) < 0) {
194 auto delta = gluedPlane.localZ( hitPlane.position());
196 LocalPoint lhitPos = gluedPlane.toLocal( hitPlane.toGlobal(lv.first));
197 LocalPoint projectedHitPos = lhitPos - ldir * delta/ldir.
z();
201 if (gluedPlane.normalVector().dot( hitPlane.normalVector()) < 0) {
206 return std::unique_ptr<ProjectedSiStripRecHit2D>{
virtual LocalValues localParameters(const SiStripCluster &, const GeomDetUnit &) const
TrackCharge charge() const
const GeomDetUnit * monoDet() const
const LocalTrajectoryParameters & localParameters() const
SiStripCluster const & monoCluster() const
LocalVector localDirection() const
OmniClusterRef const & stereoClusterRef() const
Global3DPoint GlobalPoint
const PixelClusterParameterEstimator * pixelCPE
GlobalPoint globalPosition() const
virtual 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
const Surface::PositionType & position() const
The position (origin of the R.F.)
const StripClusterParameterEstimator * stripCPE
const T & max(const T &a, const T &b)
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
const GeomDet * det() const
LocalPoint toLocal(const GlobalPoint &gp) const
GlobalVector momentum() const
OmniClusterRef const & omniCluster() const
const GeomDetUnit * originalDet() const
OmniClusterRef const & monoClusterRef() const
virtual std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
const GeomDetUnit * detUnit() const
const SiStripRecHitMatcher * theMatcher
const GlobalTrajectoryParameters & globalParameters() const
SiStripCluster const & stripCluster() const
ClusterRef cluster() const
std::unique_ptr< SiStripMatchedRecHit2D > match(const SiStripRecHit2D *monoRH, const SiStripRecHit2D *stereoRH, const GluedGeomDet *gluedDet, LocalVector trackdirection, bool force=false) const
std::pair< LocalPoint, LocalError > LocalValues
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)
virtual SiStripMatchedRecHit2D * clone() const
const GeomDetUnit * stereoDet() const