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

template<class T>
class ROOT::Math::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 42 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
 

Static Public Attributes

static constexpr unsigned int Dimension = 3U
 

Private Member Functions

void Restrict ()
 

Static Private Member Functions

static Scalar pi ()
 

Private Attributes

fPhi = 0
 
fRho = 0
 
fZ = 0
 

#include <Math/GenVector/Cylindrical3D.h>

Member Typedef Documentation

◆ Scalar

template<class T >
typedef T ROOT::Math::Cylindrical3D< T >::Scalar

Definition at line 46 of file Cylindrical3D.h.

Constructor & Destructor Documentation

◆ Cylindrical3D() [1/3]

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

Default constructor with rho=z=phi=0.

◆ Cylindrical3D() [2/3]

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

Construct from rho eta and phi values.

Definition at line 57 of file Cylindrical3D.h.

◆ Cylindrical3D() [3/3]

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

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

Definition at line 64 of file Cylindrical3D.h.

Member Function Documentation

◆ Eta()

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

Definition at line 114 of file Cylindrical3D.h.

◆ GetCoordinates() [1/2]

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

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

Definition at line 88 of file Cylindrical3D.h.

◆ GetCoordinates() [2/2]

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

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

Definition at line 76 of file Cylindrical3D.h.

◆ Mag2()

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

Definition at line 108 of file Cylindrical3D.h.

◆ Negate()

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

negate the vector

Definition at line 164 of file Cylindrical3D.h.

◆ operator!=()

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

Definition at line 187 of file Cylindrical3D.h.

◆ operator=()

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

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

Definition at line 174 of file Cylindrical3D.h.

◆ operator==()

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

Exact component-by-component equality.

Definition at line 184 of file Cylindrical3D.h.

◆ Perp2()

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

Definition at line 110 of file Cylindrical3D.h.

◆ Phi()

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

Definition at line 104 of file Cylindrical3D.h.

◆ pi()

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

Definition at line 92 of file Cylindrical3D.h.

◆ R()

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

Definition at line 109 of file Cylindrical3D.h.

◆ Restrict()

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

Definition at line 93 of file Cylindrical3D.h.

◆ Rho()

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

Definition at line 102 of file Cylindrical3D.h.

◆ Scale()

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

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

Definition at line 152 of file Cylindrical3D.h.

◆ SetCoordinates() [1/2]

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

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

Definition at line 70 of file Cylindrical3D.h.

◆ SetCoordinates() [2/2]

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

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

Definition at line 82 of file Cylindrical3D.h.

◆ SetPhi()

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

set the phi coordinate value keeping rho and z constant

Definition at line 138 of file Cylindrical3D.h.

◆ SetRho()

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

set the rho coordinate value keeping z and phi constant

Definition at line 124 of file Cylindrical3D.h.

◆ SetXYZ()

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

set all values using cartesian coordinates

Definition at line 245 of file Cylindrical3D.h.

◆ SetZ()

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

set the z coordinate value keeping rho and phi constant

Definition at line 131 of file Cylindrical3D.h.

◆ Theta()

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

Definition at line 111 of file Cylindrical3D.h.

◆ X()

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

Definition at line 105 of file Cylindrical3D.h.

◆ x()

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

Definition at line 195 of file Cylindrical3D.h.

◆ Y()

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

Definition at line 106 of file Cylindrical3D.h.

◆ y()

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

Definition at line 196 of file Cylindrical3D.h.

◆ Z()

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

Definition at line 103 of file Cylindrical3D.h.

◆ z()

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

Definition at line 197 of file Cylindrical3D.h.

Member Data Documentation

◆ Dimension

template<class T >
constexpr unsigned int ROOT::Math::Cylindrical3D< T >::Dimension = 3U
staticconstexpr

Definition at line 47 of file Cylindrical3D.h.

◆ fPhi

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

Definition at line 223 of file Cylindrical3D.h.

◆ fRho

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

Definition at line 221 of file Cylindrical3D.h.

◆ fZ

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

Definition at line 222 of file Cylindrical3D.h.

  • math/genvector/inc/Math/GenVector/Cylindrical3D.h