17 #ifndef ROOT_Math_GenVector_eta
18 #define ROOT_Math_GenVector_eta 1
20 #ifndef ROOT_Math_GenVector_etaMax
49 template<
typename Scalar>
54 static const Scalar big_z_scaled =
62 return z>0 ?
std::log(2.0*z_scaled + 0.5/z_scaled) : -
std::log(-2.0*z_scaled);
70 return z + etaMax<Scalar>();
73 return z - etaMax<Scalar>();
83 template<
typename Scalar>
87 if (tanThetaOver2 == 0) {
88 return r + etaMax<Scalar>();
91 return -r - etaMax<Scalar>();
Namespace for new ROOT classes and functions.
Scalar Eta_FromTheta(Scalar theta, Scalar r)
Implementation of eta from -log(tan(theta/2)).
double pow(double, double)
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
Scalar Eta_FromRhoZ(Scalar rho, Scalar z)
Calculate eta given rho and zeta.
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
Namespace for new Math classes and functions.