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>();
90 else if (tanThetaOver2 > std::numeric_limits<Scalar>::max()) {
91 return -r - etaMax<Scalar>();
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
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.
Namespace for new Math classes and functions.
you should not use this method at all Int_t Int_t z