19#ifndef ROOT_Math_GenVector_Polar3D
20#define ROOT_Math_GenVector_Polar3D 1
66 template <
class CoordSystem >
67 explicit constexpr Polar3D(
const CoordSystem &
v ) :
193 template <
class CoordSystem >
214 T
x()
const {
return X(); }
215 T
y()
const {
return Y(); }
216 T
z()
const {
return Z(); }
222#if defined(__MAKECINT__) || defined(G__DICTIONARY)
254#if defined(__MAKECINT__) || defined(G__DICTIONARY)
269#if defined(__MAKECINT__) || defined(G__DICTIONARY)
281void Polar3D<T>::SetY(
Scalar yy) {
282 GenVector_exception
e(
"Polar3D::SetY() is not supposed to be called");
284 Cartesian3D<Scalar>
v(*
this);
v.SetY(yy); *
this = Polar3D<Scalar>(
v);
287void Polar3D<T>::SetZ(
Scalar zz) {
288 GenVector_exception
e(
"Polar3D::SetZ() is not supposed to be called");
290 Cartesian3D<Scalar>
v(*
this);
v.SetZ(zz); *
this = Polar3D<Scalar>(
v);
293void Polar3D<T>::SetRho(
Scalar rho) {
294 GenVector_exception
e(
"Polar3D::SetRho() is not supposed to be called");
296 CylindricalEta3D<Scalar>
v(*
this);
v.SetRho(rho);
297 *
this = Polar3D<Scalar>(
v);
300void Polar3D<T>::SetEta(
Scalar eta) {
301 GenVector_exception
e(
"Polar3D::SetEta() is not supposed to be called");
303 CylindricalEta3D<Scalar>
v(*
this);
v.SetEta(eta);
304 *
this = Polar3D<Scalar>(
v);
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 3D cartesian coordinate system (x, y, z coordinates)
Class describing a polar coordinate system based on r, theta and phi Phi is restricted to be in the r...
void Negate()
negate the vector
void SetTheta(const T &theta)
set the theta coordinate value keeping r and phi constant
void SetCoordinates(Scalar r, Scalar theta, Scalar phi)
Set internal data based on 3 Scalar numbers.
bool operator!=(const Polar3D &rhs) const
Polar3D()
Default constructor with r=theta=phi=0.
void SetR(const T &r)
set the r coordinate value keeping theta and phi constant
void SetPhi(const T &phi)
set the phi coordinate value keeping r and theta constant
Polar3D(const Polar3D &v)
copy constructor
void Scale(T a)
scale by a scalar quantity - for polar coordinates r changes
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 3 Scalar numbers.
void GetCoordinates(Scalar &r, Scalar &theta, Scalar &phi) const
get internal data into 3 Scalar numbers
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 3 Scalar numbers
Polar3D & operator=(const Polar3D &v)
assignment operator
constexpr Polar3D(const CoordSystem &v)
Construct from any Vector or coordinate system implementing R(), Theta() and Phi()
static constexpr unsigned int Dimension
bool operator==(const Polar3D &rhs) const
Exact equality.
void SetXYZ(Scalar x, Scalar y, Scalar z)
set all values using cartesian coordinates
Polar3D(T r, T theta, T phi)
Construct from the polar coordinates: r, theta and phi.
Namespace for new Math classes and functions.
Scalar Eta_FromTheta(Scalar theta, Scalar r)
Implementation of eta from -log(tan(theta/2)).
Rotation3D::Scalar Scalar
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...