Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::ROOT_MATH_ARCH::Cylindrical3D< T > Class Template Reference

template<class T>
class ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >

Class describing a cylindrical coordinate system based on rho, z and phi.

Class describing a 3D Cylindrical Eta coordinate system (rho, z, phi coordinates)

The base coordinates are rho (transverse component) , z and phi Phi is restricted to be in the range [-PI,PI)

See also
Physics Vectors

Definition at line 48 of file Cylindrical3D.h.

Public Types

typedefScalar
 

Public Member Functions

constexpr Cylindrical3D () noexcept=default
 Default constructor with rho=z=phi=0.
 
template<class CoordSystem >
constexpr Cylindrical3D (const CoordSystem &v)
 Construct from any Vector or coordinate system implementing Rho(), Z() and Phi()
 
constexpr Cylindrical3D (Scalar rho, Scalar zz, Scalar phi) noexcept
 Construct from rho eta and phi values.
 
Scalar Eta () const
 
void GetCoordinates (Scalar &rho, Scalar &zz, Scalar &phi) const
 get internal data into 3 Scalar numbers ( rho, z , phi)
 
void GetCoordinates (Scalar dest[]) const
 get internal data into an array of 3 Scalar numbers ( rho, z , phi)
 
Scalar Mag2 () const
 
void Negate ()
 negate the vector
 
bool operator!= (const Cylindrical3D &rhs) const
 
template<class CoordSystem >
Cylindrical3Doperator= (const CoordSystem &c)
 generic assignment operator from any coordinate system implementing Rho(), Z() and Phi()
 
bool operator== (const Cylindrical3D &rhs) const
 Exact component-by-component equality.
 
Scalar Perp2 () const
 
Scalar Phi () const
 
Scalar R () const
 
Scalar Rho () const
 
void Scale (T a)
 scale by a scalar quantity a – for cylindrical coords only rho and z change
 
void SetCoordinates (const Scalar src[])
 Set internal data based on an array of 3 Scalar numbers ( rho, z , phi)
 
void SetCoordinates (Scalar rho, Scalar zz, Scalar phi)
 Set internal data based on 3 Scalar numbers ( rho, z , phi)
 
void SetPhi (T phi)
 set the phi coordinate value keeping rho and z constant
 
void SetRho (T rho)
 set the rho coordinate value keeping z and phi constant
 
void SetXYZ (Scalar x, Scalar y, Scalar z)
 set all values using cartesian coordinates
 
void SetZ (T zz)
 set the z coordinate value keeping rho and phi constant
 
Scalar Theta () const
 
Scalar X () const
 
x () const
 
Scalar Y () const
 
y () const
 
Scalar Z () const
 
z () const
 

Private Member Functions

void Restrict ()
 

Static Private Member Functions

static Scalar pi ()
 

Private Attributes

fPhi = 0
 
fRho = 0
 
fZ = 0
 

#include <MathX/GenVectorX/Cylindrical3D.h>

Member Typedef Documentation

◆ Scalar

Definition at line 51 of file Cylindrical3D.h.

Constructor & Destructor Documentation

◆ Cylindrical3D() [1/3]

template<class T >
constexpr ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Cylindrical3D ( )
constexprdefaultnoexcept

Default constructor with rho=z=phi=0.

◆ Cylindrical3D() [2/3]

template<class T >
constexpr ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Cylindrical3D ( Scalar rho,
Scalar zz,
Scalar phi )
inlineconstexprnoexcept

Construct from rho eta and phi values.

Definition at line 61 of file Cylindrical3D.h.

◆ Cylindrical3D() [3/3]

template<class T >
template<class CoordSystem >
constexpr ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Cylindrical3D ( const CoordSystem & v)
inlineexplicitconstexpr

Construct from any Vector or coordinate system implementing Rho(), Z() and Phi()

Definition at line 68 of file Cylindrical3D.h.

Member Function Documentation

◆ Eta()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Eta ( ) const
inline

Definition at line 138 of file Cylindrical3D.h.

◆ GetCoordinates() [1/2]

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::GetCoordinates ( Scalar & rho,
Scalar & zz,
Scalar & phi ) const
inline

get internal data into 3 Scalar numbers ( rho, z , phi)

Definition at line 108 of file Cylindrical3D.h.

◆ GetCoordinates() [2/2]

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::GetCoordinates ( Scalar dest[]) const
inline

get internal data into an array of 3 Scalar numbers ( rho, z , phi)

Definition at line 87 of file Cylindrical3D.h.

◆ Mag2()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Mag2 ( ) const
inline

Definition at line 132 of file Cylindrical3D.h.

◆ Negate()

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Negate ( )
inline

negate the vector

Definition at line 183 of file Cylindrical3D.h.

◆ operator!=()

template<class T >
bool ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::operator!= ( const Cylindrical3D< T > & rhs) const
inline

Definition at line 206 of file Cylindrical3D.h.

◆ operator=()

template<class T >
template<class CoordSystem >
Cylindrical3D & ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::operator= ( const CoordSystem & c)
inline

generic assignment operator from any coordinate system implementing Rho(), Z() and Phi()

Definition at line 194 of file Cylindrical3D.h.

◆ operator==()

template<class T >
bool ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::operator== ( const Cylindrical3D< T > & rhs) const
inline

Exact component-by-component equality.

Definition at line 205 of file Cylindrical3D.h.

◆ Perp2()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Perp2 ( ) const
inline

Definition at line 134 of file Cylindrical3D.h.

◆ Phi()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Phi ( ) const
inline

Definition at line 128 of file Cylindrical3D.h.

◆ pi()

template<class T >
static Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::pi ( )
inlinestaticprivate

Definition at line 116 of file Cylindrical3D.h.

◆ R()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::R ( ) const
inline

Definition at line 133 of file Cylindrical3D.h.

◆ Restrict()

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Restrict ( )
inlineprivate

Definition at line 117 of file Cylindrical3D.h.

◆ Rho()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Rho ( ) const
inline

Definition at line 126 of file Cylindrical3D.h.

◆ Scale()

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Scale ( T a)
inline

scale by a scalar quantity a – for cylindrical coords only rho and z change

Definition at line 170 of file Cylindrical3D.h.

◆ SetCoordinates() [1/2]

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::SetCoordinates ( const Scalar src[])
inline

Set internal data based on an array of 3 Scalar numbers ( rho, z , phi)

Definition at line 76 of file Cylindrical3D.h.

◆ SetCoordinates() [2/2]

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::SetCoordinates ( Scalar rho,
Scalar zz,
Scalar phi )
inline

Set internal data based on 3 Scalar numbers ( rho, z , phi)

Definition at line 97 of file Cylindrical3D.h.

◆ SetPhi()

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::SetPhi ( T phi)
inline

set the phi coordinate value keeping rho and z constant

Definition at line 155 of file Cylindrical3D.h.

◆ SetRho()

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::SetRho ( T rho)
inline

set the rho coordinate value keeping z and phi constant

Definition at line 145 of file Cylindrical3D.h.

◆ SetXYZ()

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::SetXYZ ( Scalar x,
Scalar y,
Scalar z )

set all values using cartesian coordinates

Definition at line 261 of file Cylindrical3D.h.

◆ SetZ()

template<class T >
void ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::SetZ ( T zz)
inline

set the z coordinate value keeping rho and phi constant

Definition at line 150 of file Cylindrical3D.h.

◆ Theta()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Theta ( ) const
inline

Definition at line 135 of file Cylindrical3D.h.

◆ X()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::X ( ) const
inline

Definition at line 129 of file Cylindrical3D.h.

◆ x()

template<class T >
T ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::x ( ) const
inline

Definition at line 212 of file Cylindrical3D.h.

◆ Y()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Y ( ) const
inline

Definition at line 130 of file Cylindrical3D.h.

◆ y()

template<class T >
T ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::y ( ) const
inline

Definition at line 213 of file Cylindrical3D.h.

◆ Z()

template<class T >
Scalar ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::Z ( ) const
inline

Definition at line 127 of file Cylindrical3D.h.

◆ z()

template<class T >
T ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::z ( ) const
inline

Definition at line 214 of file Cylindrical3D.h.

Member Data Documentation

◆ fPhi

template<class T >
T ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::fPhi = 0
private

Definition at line 239 of file Cylindrical3D.h.

◆ fRho

template<class T >
T ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::fRho = 0
private

Definition at line 237 of file Cylindrical3D.h.

◆ fZ

template<class T >
T ROOT::ROOT_MATH_ARCH::Cylindrical3D< T >::fZ = 0
private

Definition at line 238 of file Cylindrical3D.h.

  • math/experimental/genvectorx/inc/MathX/GenVectorX/Cylindrical3D.h