11 : theJacobian(
ROOT::Math::SMatrixNoInit()) {
18 double t1r = 1. / tnl.
z();
29 : theJacobian(
ROOT::Math::SMatrixNoInit()) {
38 double t1r = 1. / tnl.
z();
51 double cosl = tn.
perp();
54 double cosl1 = 1. / cosl;
59 auto v = rot.
rotate(vn.basicVector());
61 int j = 0,
k = 1,
i = 2;
63 double t2r = t1r * t1r;
64 double t3r = t1r * t2r;
67 for (
auto i = 1;
i < 5; ++
i)
77 for (
auto i = 0;
i < 3; ++
i) {
87 double sinz = un.
dot(qh);
88 double cosz = -vn.dot(qh);
89 double ui = u[
i] * (t3r);
90 double vi =
v[
i] * (t3r);
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
LocalVector direction() const
Momentum vector unit in the local frame.
LocalPoint position() const
Local x and y position coordinates.
PreciseFloatType< T, U >::Type dot(const Vector3DBase< U, FrameTag > &v) const
JacobianCurvilinearToLocal(const Surface &surface, const LocalTrajectoryParameters &localParameters, const MagneticField &magField)
AlgebraicMatrix55 theJacobian
GlobalVector magneticFieldInInverseGeV(const GlobalPoint &x) const
float signedInverseMomentum() const
Signed inverse momentum q/p (zero for neutrals).
GlobalVector inInverseGeV(const GlobalPoint &gp) const
Field value ad specified global point, in 1/Gev.
Basic3DVector< T > rotate(const Basic3DVector< T > &v) const
GlobalVector momentum() const
Abs< T >::type abs(const T &t)
const RotationType & rotation() const
void compute(Surface::RotationType const &rot, GlobalVector const &tn, GlobalVector const &qh, double lz)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
const BasicVectorType & basicVector() const