16#ifndef ROOT_Math_GenVector_Cylindrical3D
17#define ROOT_Math_GenVector_Cylindrical3D 1
64 template <
class CoordSystem >
193 template <
class CoordSystem >
215 T
x()
const {
return X();}
216 T
y()
const {
return Y();}
217 T
z()
const {
return Z(); }
223#if defined(__MAKECINT__) || defined(G__DICTIONARY)
235 void SetTheta(
Scalar theta);
256#if defined(__MAKECINT__) || defined(G__DICTIONARY)
271#if defined(__MAKECINT__) || defined(G__DICTIONARY)
285void Cylindrical3D<T>::SetY(
Scalar yy) {
286 GenVector_exception
e(
"Cylindrical3D::SetY() is not supposed to be called");
288 Cartesian3D<Scalar>
v(*
this);
v.SetY(yy); *
this = Cylindrical3D<Scalar>(
v);
291void Cylindrical3D<T>::SetR(
Scalar r) {
292 GenVector_exception
e(
"Cylindrical3D::SetR() is not supposed to be called");
294 Polar3D<Scalar>
v(*
this);
v.SetR(
r);
295 *
this = Cylindrical3D<Scalar>(
v);
298void Cylindrical3D<T>::SetTheta(
Scalar theta) {
299 GenVector_exception
e(
"Cylindrical3D::SetTheta() is not supposed to be called");
301 Polar3D<Scalar>
v(*
this);
v.SetTheta(theta);
302 *
this = Cylindrical3D<Scalar>(
v);
305void Cylindrical3D<T>::SetEta(
Scalar eta) {
306 GenVector_exception
e(
"Cylindrical3D::SetEta() is not supposed to be called");
308 CylindricalEta3D<Scalar>
v(*
this);
v.SetEta(eta);
309 *
this = Cylindrical3D<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 cylindrical coordinate system based on rho, z and phi.
void GetCoordinates(Scalar &rho, Scalar &zz, Scalar &phi) const
get internal data into 3 Scalar numbers ( rho, z , phi)
bool operator==(const Cylindrical3D &rhs) const
Exact component-by-component equality.
Cylindrical3D & operator=(const Cylindrical3D &v)
assignment operator
void SetPhi(T phi)
set the phi coordinate value keeping rho and z constant
Cylindrical3D()
Default constructor with rho=z=phi=0.
bool operator!=(const Cylindrical3D &rhs) const
void SetXYZ(Scalar x, Scalar y, Scalar z)
set all values using cartesian coordinates
Cylindrical3D(const Cylindrical3D &v)
copy constructor
Cylindrical3D(Scalar rho, Scalar zz, Scalar phi)
Construct from rho eta and phi values.
void Negate()
negate the vector
void SetZ(T zz)
set the z coordinate value keeping rho and phi constant
void Scale(T a)
scale by a scalar quantity a – for cylindrical coords only rho and z change
constexpr Cylindrical3D(const CoordSystem &v)
Construct from any Vector or coordinate system implementing Rho(), Z() and Phi()
void SetCoordinates(Scalar rho, Scalar zz, Scalar phi)
Set internal data based on 3 Scalar numbers ( rho, z , phi)
static constexpr unsigned int Dimension
void SetRho(T rho)
set the rho coordinate value keeping z and phi constant
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 3 Scalar numbers ( rho, z , phi)
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 3 Scalar numbers ( rho, z , phi)
Namespace for new Math classes and functions.
Scalar Eta_FromRhoZ(Scalar rho, Scalar z)
Calculate eta given rho and zeta.
VecExpr< UnaryOp< Sqrt< T >, VecExpr< A, T, D >, T >, T, D > sqrt(const VecExpr< A, T, D > &rhs)
Rotation3D::Scalar Scalar
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...