20 #ifndef ROOT_Math_GenVector_CylindricalEta3D 21 #define ROOT_Math_GenVector_CylindricalEta3D 1 69 template <
class CoordSystem >
126 inline static Scalar
pi() {
return M_PI; }
147 :
fEta > etaMax<T>() ?
fEta - etaMax<T>() :
fEta < -etaMax<T>() ? -
fEta - etaMax<T>() : 0;
151 const Scalar r =
R();
185 void SetXYZ(Scalar
x, Scalar
y, Scalar
z);
200 }
else if (
fEta > etaMax<T>() ) {
201 fEta = (
fEta-etaMax<T>())*a + etaMax<T>();
202 }
else if (
fEta < -etaMax<T>() ) {
203 fEta = (
fEta+etaMax<T>())*a - etaMax<T>();
220 template <
class CoordSystem >
244 T x()
const {
return X();}
245 T y()
const {
return Y();}
246 T z()
const {
return Z(); }
252 #if defined(__MAKECINT__) || defined(G__DICTIONARY) 264 void SetTheta(Scalar theta);
286 #if defined(__MAKECINT__) || defined(G__DICTIONARY) 300 #if defined(__MAKECINT__) || defined(G__DICTIONARY) CylindricalEta3D(const CylindricalEta3D &v)
copy constructor
bool operator!=(const CylindricalEta3D &rhs) const
void SetX(Scalar xx)
set the x coordinate value keeping y and z constant
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 3 Scalar numbers.
Namespace for new ROOT classes and functions.
CylindricalEta3D(Scalar rho, Scalar eta, Scalar phi)
Construct from rho eta and phi values.
Class describing a cylindrical coordinate system based on eta (pseudorapidity) instead of z...
CylindricalEta3D & operator=(const CylindricalEta3D &v)
assignment operator
void GetCoordinates(Scalar &rho, Scalar &eta, Scalar &phi) const
get internal data into 3 Scalar numbers
void SetR(const T &r)
set the r coordinate value keeping theta and phi constant
bool operator==(const CylindricalEta3D &rhs) const
Exact component-by-component equality Note: Peculiar representaions of the zero vector such as (0...
void SetY(Scalar yy)
set the y coordinate value keeping x and z constant
CylindricalEta3D(const CoordSystem &v)
Construct from any Vector or coordinate system implementing Rho(), Eta() and Phi() ...
void SetPhi(T phi)
set the phi coordinate value keeping rho and eta constant
void SetTheta(const T &theta)
set the theta coordinate value keeping r and phi constant
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
void SetZ(Scalar zz)
set the z coordinate value keeping x and y constant
void SetRho(T rho)
set the rho coordinate value keeping eta and phi constant
void Scale(T a)
scale by a scalar quantity a – for cylindrical eta coords, as long as a >= 0, only rho changes! ...
void SetXYZ(Scalar x, Scalar y, Scalar z)
set all values using cartesian coordinates
void SetEta(T eta)
set the eta coordinate value keeping rho and phi constant
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
void SetCoordinates(Scalar rho, Scalar eta, Scalar phi)
Set internal data based on 3 Scalar numbers.
Namespace for new Math classes and functions.
#define dest(otri, vertexptr)
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 3 Scalar numbers
void Negate()
negate the vector
CylindricalEta3D()
Default constructor with rho=eta=phi=0.
Class describing a polar coordinate system based on r, theta and phi Phi is restricted to be in the r...