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;
25 (*this)[0][0] =
E/P * sinTheta*cosPhi;
26 (*this)[1][0] =
E/P * sinTheta*sinPhi;
27 (*this)[2][0] =
E/P * cosTheta;
30 (*this)[0][1] = -P * cosPhi * cosTheta*sinTheta;
31 (*this)[1][1] = -P * sinPhi * cosTheta*sinTheta;
32 (*this)[2][1] = P * sinTheta*sinTheta;
34 (*this)[0][2] = -
pt * sinPhi;
35 (*this)[1][2] =
pt * cosPhi;
37 (*this)[0][3] = -M/P * sinTheta*cosPhi;
38 (*this)[1][3] = -M/P * sinTheta*sinPhi;
39 (*this)[2][3] = -M/P * cosTheta;