38 double p = pvec.
mag(),
p2 = p *
p;
39 double sinlambda = pvec.
z() /
p, coslambda = pt /
p;
40 double sinphi = pvec.
y() /
pt, cosphi = pvec.
x() /
pt;
42 theJacobian(1, 3) = 1.;
43 theJacobian(2, 4) = 1.;
44 theJacobian(3, 0) = -q *
p2 * coslambda * cosphi;
45 theJacobian(3, 1) = -p * sinlambda * cosphi;
46 theJacobian(3, 2) = -p * coslambda * sinphi;
47 theJacobian(4, 0) = -q *
p2 * coslambda * sinphi;
48 theJacobian(4, 1) = -p * sinlambda * sinphi;
49 theJacobian(4, 2) = p * coslambda * cosphi;
50 theJacobian(5, 0) = -q *
p2 * sinlambda;
51 theJacobian(5, 1) = p * coslambda;
52 theJacobian(5, 2) = 0.;
56 theJacobian = R * theJacobian;
68 double px = pvec.
x(), py = pvec.
y(), pz = pvec.
z();
69 double pt2 = pt *
pt,
p2 =
p *
p, p3 = p * p *
p;
94 theJacobian(0, 3) = -q * px / p3;
95 theJacobian(0, 4) = -q * py / p3;
96 theJacobian(0, 5) = -q * pz / p3;
99 theJacobian(1, 3) = -(px * pz) / (pt * p2);
100 theJacobian(1, 4) = -(py * pz) / (pt * p2);
101 theJacobian(1, 5) = pt /
p2;
102 theJacobian(2, 3) = -py / pt2;
103 theJacobian(2, 4) = px / pt2;
104 theJacobian(2, 5) = 0.;
106 theJacobian(3, 1) = 1.;
107 theJacobian(4, 2) = 1.;
108 theJacobian = theJacobian *
R;
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
float const *__restrict__ zt
AlgebraicMatrix65 jacobianCurvilinearToCartesian(const GlobalVector &momentum, int charge)
AlgebraicMatrix56 jacobianCartesianToCurvilinear(const GlobalVector &momentum, int charge)
ROOT::Math::SMatrix< double, 5, 6, ROOT::Math::MatRepStd< double, 5, 6 > > AlgebraicMatrix56
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepStd< double, 6, 6 > > AlgebraicMatrix66
Vector3DBase unit() const
ROOT::Math::SMatrix< double, 6, 5, ROOT::Math::MatRepStd< double, 6, 5 > > AlgebraicMatrix65