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());
57 return std::make_unique<Phase2TrackerRecHit1D>(
params.first,
params.second, *
hit.det(),
hit.cluster());
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());
97 return std::make_unique<Phase2TrackerRecHit1D>(
params.first,
params.second, *
hit.det(),
hit.cluster());
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)
137 const GluedGeomDet* gdet = static_cast<const GluedGeomDet*>(det);
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());
175 const GeomDetUnit* gdu = reinterpret_cast<const GeomDetUnit*>(
hit.originalDet());
186 auto delta = gluedPlane.localZ(hitPlane.position());
188 LocalPoint lhitPos = gluedPlane.toLocal(hitPlane.toGlobal(lv.first));
193 if (gluedPlane.normalVector().dot(hitPlane.normalVector()) < 0) {
198 return std::make_unique<ProjectedSiStripRecHit2D>(
199 projectedHitPos, rotatedError, *
hit.det(), *
hit.originalDet(),
hit.omniCluster());
206 const GluedGeomDet& gdet = static_cast<const GluedGeomDet&>(det);
224 auto delta = gluedPlane.localZ(hitPlane.position());
226 LocalPoint lhitPos = gluedPlane.toLocal(hitPlane.toGlobal(lv.first));
231 if (gluedPlane.normalVector().dot(hitPlane.normalVector()) < 0) {
236 return std::make_unique<ProjectedSiStripRecHit2D>(
237 projectedHitPos, rotatedError, det, *odet, mono ?
hit.monoClusterRef() :
hit.stereoClusterRef());