CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 23 of file RecHitPropagator.h.

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

23  {
24  GlobalVector gdir = ts.globalMomentum();
25 
26  double delta = tPlane.localZ(oPlane.position());
27  LocalVector ldir = tPlane.toLocal(gdir); // fast prop!
28  LocalPoint lPos = tPlane.toLocal( ts.globalPosition());
29  LocalPoint projectedPos = lPos - ldir * delta/ldir.z();
30  // we can also patch it up as only the position-errors are used...
31  GlobalTrajectoryParameters gp(tPlane.toGlobal(projectedPos),gdir,ts.charge(), &ts.globalParameters().magneticField());
32  if (ts.hasError())
33  return TrajectoryStateOnSurface(gp,ts.curvilinearError(),tPlane);
34  else
35  return TrajectoryStateOnSurface(gp,tPlane);
36 
37 
38 }
dbl * delta
Definition: mlp_gen.cc:36
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
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:64
const GlobalTrajectoryParameters & globalParameters() const
GlobalVector globalMomentum() const
const MagneticField & magneticField() const
const PositionType & position() const