#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) |
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().
{ GlobalVector gdir = ts.globalMomentum(); double delta = tPlane.localZ(oPlane.position()); LocalVector ldir = tPlane.toLocal(gdir); // fast prop! LocalPoint lPos = tPlane.toLocal( ts.globalPosition()); LocalPoint projectedPos = lPos - ldir * delta/ldir.z(); // we can also patch it up as only the position-errors are used... GlobalTrajectoryParameters gp(tPlane.toGlobal(projectedPos),gdir,ts.charge(), &ts.globalParameters().magneticField()); if (ts.hasError()) return TrajectoryStateOnSurface(gp,ts.curvilinearError(),tPlane); else return TrajectoryStateOnSurface(gp,tPlane); }