17 double P = std::sqrt(
std::max( 0.,
E*
E - M*M));
19 double cosTheta = (1-
t*
t)/
u;
20 double sinTheta = 2*
t/
u;
23 double pt = P * sinTheta;
27 (*this)(0,0) =
E/P * sinTheta*cosPhi;
28 (*this)(1,0) =
E/P * sinTheta*sinPhi;
29 (*this)(2,0) =
E/P * cosTheta;
32 (*this)(0,1) = -P * cosPhi * cosTheta*sinTheta;
33 (*this)(1,1) = -P * sinPhi * cosTheta*sinTheta;
34 (*this)(2,1) = P * sinTheta*sinTheta;
36 (*this)(0,2) = -
pt * sinPhi;
37 (*this)(1,2) =
pt * cosPhi;
39 (*this)(0,3) = -M/P * sinTheta*cosPhi;
40 (*this)(1,3) = -M/P * sinTheta*sinPhi;
41 (*this)(2,3) = -M/P * cosTheta;