15#ifndef ROOT_MathX_GenVectorX_eta
16#define ROOT_MathX_GenVectorX_eta 1
49template <
typename Scalar>
55 Scalar big_z_scaled =
math_pow(std::numeric_limits<Scalar>::epsilon(),
static_cast<Scalar>(-.25));
63 return z > 0 ?
math_log(2.0 * z_scaled + 0.5 / z_scaled) : -
math_log(-2.0 * z_scaled);
80template <
typename Scalar>
83 Scalar tanThetaOver2 = tan(theta / 2.);
84 if (tanThetaOver2 == 0) {
86 }
else if (tanThetaOver2 > std::numeric_limits<Scalar>::max()) {
Scalar Eta_FromTheta(Scalar theta, Scalar r)
Implementation of eta from -log(tan(theta/2)).
Scalar Eta_FromRhoZ(Scalar rho, Scalar z)
Calculate eta given rho and zeta.
Scalar math_log(Scalar x)
Scalar math_pow(Scalar x, Scalar y)
Rotation3D::Scalar Scalar
Scalar math_sqrt(Scalar x)
T etaMax()
Function providing the maximum possible value of pseudorapidity for a non-zero rho,...
Scalar math_fabs(Scalar x)