23 if (localY.
mag() < 0.1) {
27 localY = localY.
unit();
35 Frame frame( fpos, frot);
54 double k = 2.99792458e-3;
55 double transverseMomentum = localMom.
perp();
56 if (!(transverseMomentum != 0) ) {
58 return std::pair<bool,double>(
false,0);
60 double curvature = -k * charge * B.
mag() / transverseMomentum;
79 std::pair<bool,double>
res = crossing.pathLength(localPlane);
T y() const
Cartesian y coordinate.
T x() const
Cartesian x coordinate.
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Basic3DVector unit() const
T curvature(T InversePt, const edm::EventSetup &iSetup)
T z() const
Cartesian z coordinate.
LocalPoint toLocal(const GlobalPoint &gp) const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
std::pair< bool, double > operator()(const Plane &plane, const Vector3D &position, const Vector3D &momentum, double charge, const PropagationDirection propDir=alongMomentum)
GlobalPoint toGlobal(const LocalPoint &lp) const
Vector3DBase unit() const
static Plane transformPlane(const Plane &plane, const GloballyPositioned< T > &frame)
const RKLocalFieldProvider & theField
const BasicVectorType & basicVector() const
const Frame * theFieldFrame
Vector inTesla(const LocalPoint &lp) const
the argument lp is in the local frame specified in the constructor