16#ifndef ROOT_MathX_GenVectorX_Cylindrical3D
17#define ROOT_MathX_GenVectorX_Cylindrical3D 1
67 template <
class CoordSystem>
193 template <
class CoordSystem>
212 T
x()
const {
return X(); }
213 T
y()
const {
return Y(); }
214 T
z()
const {
return Z(); }
220#if defined(__MAKECINT__) || defined(G__DICTIONARY)
232 void SetTheta(
Scalar theta);
250#if defined(__MAKECINT__) || defined(G__DICTIONARY)
266#if defined(__MAKECINT__) || defined(G__DICTIONARY)
267#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t dest
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
Class describing a cylindrical coordinate system based on rho, z and phi.
constexpr Cylindrical3D() noexcept=default
Default constructor with rho=z=phi=0.
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 3 Scalar numbers ( rho, z , phi)
void SetPhi(T phi)
set the phi coordinate value keeping rho and z constant
void GetCoordinates(Scalar &rho, Scalar &zz, Scalar &phi) const
get internal data into 3 Scalar numbers ( rho, z , phi)
void SetRho(T rho)
set the rho coordinate value keeping z and phi constant
void Negate()
negate the vector
bool operator!=(const Cylindrical3D &rhs) const
Cylindrical3D & operator=(const CoordSystem &c)
generic assignment operator from any coordinate system implementing Rho(), Z() and Phi()
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 3 Scalar numbers ( rho, z , phi)
void Scale(T a)
scale by a scalar quantity a – for cylindrical coords only rho and z change
void SetXYZ(Scalar x, Scalar y, Scalar z)
set all values using cartesian coordinates
void SetCoordinates(Scalar rho, Scalar zz, Scalar phi)
Set internal data based on 3 Scalar numbers ( rho, z , phi)
constexpr Cylindrical3D(const CoordSystem &v)
Construct from any Vector or coordinate system implementing Rho(), Z() and Phi()
void SetZ(T zz)
set the z coordinate value keeping rho and phi constant
bool operator==(const Cylindrical3D &rhs) const
Exact component-by-component equality.
Scalar Eta_FromRhoZ(Scalar rho, Scalar z)
Calculate eta given rho and zeta.
Scalar math_floor(Scalar x)
Scalar math_cos(Scalar x)
Scalar math_sqrt(Scalar x)
Scalar math_atan2(Scalar x, Scalar y)
Scalar math_sin(Scalar x)