CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Functions
RecHitPropagator.h File Reference
#include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
#include "Geometry/CommonDetUnit/interface/GeomDet.h"

Go to the source code of this file.

Classes

class  RecHitPropagator
 

Functions

TrajectoryStateOnSurface fastProp (const TrajectoryStateOnSurface &ts, const Plane &oPlane, const Plane &tPlane)
 

Function Documentation

TrajectoryStateOnSurface fastProp ( const TrajectoryStateOnSurface ts,
const Plane oPlane,
const Plane tPlane 
)
inline

Definition at line 20 of file RecHitPropagator.h.

References TrajectoryStateOnSurface::charge(), TrajectoryStateOnSurface::curvilinearError(), CommonMethods::delta(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalParameters(), TrajectoryStateOnSurface::globalPosition(), runTauDisplay::gp, TrajectoryStateOnSurface::hasError(), Plane::localZ(), GlobalTrajectoryParameters::magneticField(), GloballyPositioned< T >::position(), Surface::toGlobal(), GloballyPositioned< T >::toLocal(), and PV3DBase< T, PVType, FrameType >::z().

20  {
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 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
const CurvilinearTrajectoryError & curvilinearError() const
float localZ(const GlobalPoint &gp) const
Definition: Plane.h:45
GlobalPoint globalPosition() const
LocalPoint toLocal(const GlobalPoint &gp) const
T z() const
Definition: PV3DBase.h:61
const GlobalTrajectoryParameters & globalParameters() const
GlobalVector globalMomentum() const
const MagneticField & magneticField() const
const PositionType & position() const