19#ifndef ROOT_MathX_GenVectorX_Polar3D
20#define ROOT_MathX_GenVectorX_Polar3D 1
68 template <
class CoordSystem>
190 template <
class CoordSystem>
209 T
x()
const {
return X(); }
210 T
y()
const {
return Y(); }
211 T
z()
const {
return Z(); }
217#if defined(__MAKECINT__) || defined(G__DICTIONARY)
247#if defined(__MAKECINT__) || defined(G__DICTIONARY)
262#if defined(__MAKECINT__) || defined(G__DICTIONARY)
263#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 polar coordinate system based on r, theta and phi Phi is restricted to be in the r...
void Scale(T a)
scale by a scalar quantity - for polar coordinates r changes
void SetPhi(const T &phi)
set the phi coordinate value keeping r and theta constant
void SetXYZ(Scalar x, Scalar y, Scalar z)
set all values using cartesian coordinates
void SetCoordinates(Scalar r, Scalar theta, Scalar phi)
Set internal data based on 3 Scalar numbers.
constexpr Polar3D() noexcept=default
Default constructor with r=theta=phi=0.
void GetCoordinates(Scalar &r, Scalar &theta, 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
Polar3D(const CoordSystem &v)
Construct from any Vector or coordinate system implementing R(), Theta() and Phi()
void SetTheta(const T &theta)
set the theta coordinate value keeping r and phi constant
bool operator==(const Polar3D &rhs) const
Exact equality.
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 3 Scalar numbers.
Polar3D & operator=(const CoordSystem &c)
generic assignment operator from any coordinate system
void Negate()
negate the vector
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 3 Scalar numbers
bool operator!=(const Polar3D &rhs) const
Scalar Eta_FromTheta(Scalar theta, Scalar r)
Implementation of eta from -log(tan(theta/2)).
Scalar math_floor(Scalar x)
Scalar math_cos(Scalar x)
Scalar math_sin(Scalar x)