CMS 3D CMS Logo

RecHitPropagator.h
Go to the documentation of this file.
1 #ifndef RecHitPropagator_H
2 #define RecHitPropagator_H
3 
5 
6 class TrackingRecHit;
7 class MagneticField;
8 class Plane;
9 
11 public:
13  const Plane& plane,
14  const TrajectoryStateOnSurface& ts) const;
15 };
16 
18 
19 // propagate from glued to mono/stereo
20 inline TrajectoryStateOnSurface fastProp(const TrajectoryStateOnSurface& ts, const Plane& oPlane, const Plane& tPlane) {
21  GlobalVector gdir = ts.globalMomentum();
22 
23  double delta = tPlane.localZ(oPlane.position());
24  LocalVector ldir = tPlane.toLocal(gdir); // fast prop!
25  LocalPoint lPos = tPlane.toLocal(ts.globalPosition());
26  LocalPoint projectedPos = lPos - ldir * delta / ldir.z();
27  // we can also patch it up as only the position-errors are used...
29  tPlane.toGlobal(projectedPos), gdir, ts.charge(), &ts.globalParameters().magneticField());
30  if (ts.hasError())
31  return TrajectoryStateOnSurface(gp, ts.curvilinearError(), tPlane);
32  else
33  return TrajectoryStateOnSurface(gp, tPlane);
34 }
35 
36 #endif
Vector3DBase
Definition: Vector3DBase.h:8
TrajectoryStateOnSurface.h
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
TrajectoryStateOnSurface::charge
TrackCharge charge() const
Definition: TrajectoryStateOnSurface.h:68
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
TrajectoryStateOnSurface::hasError
bool hasError() const
Definition: TrajectoryStateOnSurface.h:56
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
GlobalTrajectoryParameters
Definition: GlobalTrajectoryParameters.h:15
Point3DBase< float, LocalTag >
dso_hidden
#define dso_hidden
Definition: Visibility.h:12
fastProp
TrajectoryStateOnSurface fastProp(const TrajectoryStateOnSurface &ts, const Plane &oPlane, const Plane &tPlane)
Definition: RecHitPropagator.h:20
runTauDisplay.gp
gp
Definition: runTauDisplay.py:431
dumpMFGeometry_cfg.delta
delta
Definition: dumpMFGeometry_cfg.py:25
Plane::localZ
float localZ(const GlobalPoint &gp) const
Definition: Plane.h:45
TrackingRecHit
Definition: TrackingRecHit.h:21
GloballyPositioned::position
const PositionType & position() const
Definition: GloballyPositioned.h:36
TrajectoryStateOnSurface::globalMomentum
GlobalVector globalMomentum() const
Definition: TrajectoryStateOnSurface.h:66
GeomDet.h
GloballyPositioned::toLocal
LocalPoint toLocal(const GlobalPoint &gp) const
Definition: GloballyPositioned.h:98
TrajectoryStateOnSurface::curvilinearError
const CurvilinearTrajectoryError & curvilinearError() const
Definition: TrajectoryStateOnSurface.h:72
Plane
Definition: Plane.h:16
GlobalTrajectoryParameters::magneticField
const MagneticField & magneticField() const
Definition: GlobalTrajectoryParameters.h:106
TrajectoryStateOnSurface::globalParameters
const GlobalTrajectoryParameters & globalParameters() const
Definition: TrajectoryStateOnSurface.h:64
MagneticField
Definition: MagneticField.h:19
RecHitPropagator
Definition: RecHitPropagator.h:10
hit
Definition: SiStripHitEffFromCalibTree.cc:88