25 R(0,0) = xt.
x();
R(0,1) = yt.
x();
R(0,2) = zt.
x();
26 R(1,0) = xt.
y();
R(1,1) = yt.
y();
R(1,2) = zt.
y();
27 R(2,0) = xt.
z();
R(2,1) = yt.
z();
R(2,2) = zt.
z();
32 double p = pvec.
mag(),
p2 = p*
p;
33 double lambda = 0.5 *
M_PI - pvec.
theta();
35 double sinlambda =
sin(lambda), coslambda =
cos(lambda);
36 double sinphi =
sin(phi), cosphi =
cos(phi);
38 theJacobian(1,3) = 1.;
39 theJacobian(2,4) = 1.;
40 theJacobian(3,0) = -q *
p2 * coslambda * cosphi;
41 theJacobian(3,1) = -p * sinlambda * cosphi;
42 theJacobian(3,2) = -p * coslambda * sinphi;
43 theJacobian(4,0) = -q *
p2 * coslambda * sinphi;
44 theJacobian(4,1) = -p * sinlambda * sinphi;
45 theJacobian(4,2) = p * coslambda * cosphi;
46 theJacobian(5,0) = -q *
p2 * sinlambda;
47 theJacobian(5,1) = p * coslambda;
48 theJacobian(5,2) = 0.;
52 theJacobian = R*theJacobian;
64 double px = pvec.
x(), py = pvec.
y(), pz = pvec.
z();
76 R(0,0) = xt.
x();
R(0,1) = xt.
y();
R(0,2) = xt.
z();
77 R(1,0) = yt.
x();
R(1,1) = yt.
y();
R(1,2) = yt.
z();
78 R(2,0) = zt.
x();
R(2,1) = zt.
y();
R(2,2) = zt.
z();
83 theJacobian(0,3) = -q*px/
p3; theJacobian(0,4) = -q*py/
p3; theJacobian(0,5) = -q*pz/
p3;
86 theJacobian(1,3) = -(px*pz)/(pt*p2); theJacobian(1,4) = -(py*pz)/(pt*p2); theJacobian(1,5) = pt/
p2;
87 theJacobian(2,3) = -py/pt2; theJacobian(2,4) = px/pt2; theJacobian(2,5) = 0.;
89 theJacobian(3,1) = 1.;
90 theJacobian(4,2) = 1.;
91 theJacobian = theJacobian *
R;
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
Sin< T >::type sin(const T &t)
AlgebraicMatrix65 jacobianCurvilinearToCartesian(const GlobalVector &momentum, int charge)
Geom::Phi< T > phi() const
Geom::Theta< T > theta() const
AlgebraicMatrix56 jacobianCartesianToCurvilinear(const GlobalVector &momentum, int charge)
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
Cos< T >::type cos(const T &t)
Vector3DBase unit() const
ROOT::Math::SMatrix< double, 6, 5, ROOT::Math::MatRepStd< double, 6, 5 > > AlgebraicMatrix65