20#ifndef ROOT_MathX_GenVectorX_CylindricalEta3D
21#define ROOT_MathX_GenVectorX_CylindricalEta3D 1
74 template <
class CoordSystem>
224 template <
class CoordSystem>
248 T
x()
const {
return X(); }
249 T
y()
const {
return Y(); }
250 T
z()
const {
return Z(); }
256#if defined(__ROOTCLING__) || defined(G__DICTIONARY)
268 void SetTheta(
Scalar theta);
286#if defined(__ROOTCLING__) || defined(G__DICTIONARY)
301#if defined(__ROOTCLING__) || defined(G__DICTIONARY)
302#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
Class describing a 3D cartesian coordinate system (x, y, z coordinates).
Class describing a cylindrical coordinate system based on eta (pseudorapidity) instead of z.
CylindricalEta3D & operator=(const CoordSystem &c)
generic assignment operator from any coordinate system
void Scale(T a)
scale by a scalar quantity a – for cylindrical eta coords, as long as a >= 0, only rho changes!
void SetPhi(T phi)
set the phi coordinate value keeping rho and eta constant
void SetEta(T eta)
set the eta coordinate value keeping rho and phi constant
void SetRho(T rho)
set the rho coordinate value keeping eta and phi constant
void SetCoordinates(Scalar rho, Scalar eta, Scalar phi)
Set internal data based on 3 Scalar numbers.
void GetCoordinates(Scalar &rho, Scalar &eta, Scalar &phi) const
get internal data into 3 Scalar numbers
bool operator!=(const CylindricalEta3D &rhs) const
bool operator==(const CylindricalEta3D &rhs) const
Exact component-by-component equality Note: Peculiar representations of the zero vector such as (0,...
void Negate()
negate the vector
void SetXYZ(Scalar x, Scalar y, Scalar z)
set all values using cartesian coordinates
constexpr CylindricalEta3D() noexcept=default
Default constructor with rho=eta=phi=0.
CylindricalEta3D(const CoordSystem &v)
Construct from any Vector or coordinate system implementing Rho(), Eta() and Phi().
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 3 Scalar numbers.
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 3 Scalar numbers
Class describing a polar coordinate system based on r, theta and phi Phi is restricted to be in the r...
Scalar math_log(Scalar x)
Scalar math_floor(Scalar x)
Scalar math_cos(Scalar x)
Rotation3D::Scalar Scalar
Scalar math_atan(Scalar x)
T etaMax()
Function providing the maximum possible value of pseudorapidity for a non-zero rho,...
Scalar math_sinh(Scalar x)
Scalar math_fabs(Scalar x)
Scalar math_cosh(Scalar x)
Scalar math_sin(Scalar x)