Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::PositionVector3D< CoordSystem, Tag > Class Template Reference

template<class CoordSystem, class Tag = DefaultCoordinateSystemTag>
class ROOT::Math::PositionVector3D< CoordSystem, Tag >

Class describing a generic position vector (point) in 3 dimensions.

Class describing a 3D Position vector.

This class is templated on the type of Coordinate system. One example is the XYZPoint which is a vector based on double precision x,y,z data members by using the ROOT::Math::Cartesian3D<double> Coordinate system. The class is having also an extra template parameter, the coordinate system tag, to be able to identify (tag) vector described in different reference coordinate system, like global or local coordinate systems.

See also
GenVector

Definition at line 55 of file PositionVector3D.h.

Public Types

typedef Tag CoordinateSystemTag
 
typedef CoordSystem CoordinateType
 
typedef CoordSystem::Scalar Scalar
 

Public Member Functions

constexpr PositionVector3D () noexcept=default
 Default constructor.
 
template<class T >
constexpr PositionVector3D (const DisplacementVector3D< T, Tag > &p)
 Construct from an arbitrary displacement vector.
 
template<class ForeignVector >
constexpr PositionVector3D (const ForeignVector &v)
 Construct from a foreign 3D vector type, for example, Hep3Vector Precondition: v must implement methods x(), y() and z()
 
template<class T >
constexpr PositionVector3D (const PositionVector3D< T, Tag > &v)
 Construct from a position vector expressed in different coordinates, or using a different Scalar type.
 
constexpr PositionVector3D (const Scalar &a, const Scalar &b, const Scalar &c) noexcept
 Construct from three values of type Scalar.
 
const CoordSystem & Coordinates () const
 Retrieve a copy of the coordinates object.
 
template<class OtherCoords >
PositionVector3D Cross (const DisplacementVector3D< OtherCoords, Tag > &v) const
 Return vector (Cross) product of this point with a displacement, as a point vector in this coordinate system of the first.
 
unsigned int Dimension () const
 Dimension.
 
template<class OtherCoords >
Scalar Dot (const DisplacementVector3D< OtherCoords, Tag > &v) const
 Return the scalar (Dot) product of this with a displacement vector in any coordinate system, but with the same tag.
 
Scalar Eta () const
 Polar eta, converting if necessary from internal coordinate system.
 
Scalar eta () const
 
template<class IT >
void GetCoordinates (IT begin) const
 get internal data into 3 Scalars at *begin
 
template<class IT >
void GetCoordinates (IT begin, IT end) const
 get internal data into 3 Scalars at *begin to *end (3 past begin)
 
void GetCoordinates (Scalar &a, Scalar &b, Scalar &c) const
 get internal data into 3 Scalar numbers
 
void GetCoordinates (Scalar dest[]) const
 get internal data into a C-style array of 3 Scalar numbers
 
Scalar Mag2 () const
 Magnitute squared ( r^2 in spherical coordinate)
 
Scalar mag2 () const
 
bool operator!= (const PositionVector3D &rhs) const
 
PositionVector3D operator* (Scalar a) const
 Multiply a vector by a real number.
 
PositionVector3Doperator*= (Scalar a)
 multiply this vector by a scalar quantity
 
template<class OtherCoords >
PositionVector3Doperator+= (const DisplacementVector3D< OtherCoords, Tag > &v)
 Self Addition with a displacement vector.
 
template<class OtherCoords >
PositionVector3Doperator-= (const DisplacementVector3D< OtherCoords, Tag > &v)
 Self Difference with a displacement vector.
 
PositionVector3D operator/ (Scalar a) const
 Division of a vector with a real number.
 
PositionVector3Doperator/= (Scalar a)
 divide this vector by a scalar quantity
 
template<class OtherCoords >
PositionVector3Doperator= (const DisplacementVector3D< OtherCoords, Tag > &v)
 Assignment operator from a displacement vector of arbitrary type.
 
template<class ForeignVector >
PositionVector3Doperator= (const ForeignVector &v)
 Assignment from a foreign 3D vector type, for example, Hep3Vector Precondition: v must implement methods x(), y() and z()
 
template<class OtherCoords >
PositionVector3Doperator= (const PositionVector3D< OtherCoords, Tag > &v)
 Assignment operator from a position vector of arbitrary type.
 
bool operator== (const PositionVector3D &rhs) const
 Exact equality.
 
Scalar Perp2 () const
 Transverse component squared (rho^2 in cylindrical coordinates.
 
Scalar perp2 () const
 
Scalar Phi () const
 Polar phi, converting if necessary from internal coordinate system.
 
Scalar phi () const
 
Scalar R () const
 Polar R, converting if necessary from internal coordinate system.
 
Scalar r () const
 
Scalar Rho () const
 Cylindrical transverse component rho.
 
Scalar rho () const
 
PositionVector3D< CoordSystem, Tag > & SetCoordinates (const Scalar src[])
 Set internal data based on a C-style array of 3 Scalar numbers.
 
template<class IT >
PositionVector3D< CoordSystem, Tag > & SetCoordinates (IT begin, IT end)
 Set internal data based on 3 Scalars at *begin to *end.
 
PositionVector3D< CoordSystem, Tag > & SetCoordinates (Scalar a, Scalar b, Scalar c)
 Set internal data based on 3 Scalar numbers.
 
PositionVector3D< CoordSystem, Tag > & SetEta (Scalar etaval)
 Change Eta - CylindricalEta3D coordinates only.
 
PositionVector3D< CoordSystem, Tag > & SetPhi (Scalar ang)
 Change Phi - Polar3D or CylindricalEta3D coordinates.
 
PositionVector3D< CoordSystem, Tag > & SetR (Scalar rr)
 Change R - Polar3D coordinates only.
 
PositionVector3D< CoordSystem, Tag > & SetRho (Scalar rr)
 Change Rho - CylindricalEta3D coordinates only.
 
PositionVector3D< CoordSystem, Tag > & SetTheta (Scalar ang)
 Change Theta - Polar3D coordinates only.
 
PositionVector3D< CoordSystem, Tag > & SetX (Scalar xx)
 Change X - Cartesian3D coordinates only.
 
PositionVector3D< CoordSystem, Tag > & SetXYZ (Scalar a, Scalar b, Scalar c)
 set the values of the vector from the cartesian components (x,y,z) (if the vector is held in polar or cylindrical eta coordinates, then (x, y, z) are converted to that form)
 
PositionVector3D< CoordSystem, Tag > & SetY (Scalar yy)
 Change Y - Cartesian3D coordinates only.
 
PositionVector3D< CoordSystem, Tag > & SetZ (Scalar zz)
 Change Z - Cartesian3D coordinates only.
 
Scalar Theta () const
 Polar theta, converting if necessary from internal coordinate system.
 
Scalar theta () const
 
Scalar X () const
 Cartesian X, converting if necessary from internal coordinate system.
 
Scalar x () const
 
Scalar Y () const
 Cartesian Y, converting if necessary from internal coordinate system.
 
Scalar y () const
 
Scalar Z () const
 Cartesian Z, converting if necessary from internal coordinate system.
 
Scalar z () const
 

Private Member Functions

template<class OtherCoords , class OtherTag >
constexpr PositionVector3D (const DisplacementVector3D< OtherCoords, OtherTag > &)
 
template<class OtherCoords , class OtherTag >
constexpr PositionVector3D (const PositionVector3D< OtherCoords, OtherTag > &)
 
template<class OtherCoords , class OtherTag >
PositionVector3Doperator+= (const DisplacementVector3D< OtherCoords, OtherTag > &)
 
template<class OtherCoords , class OtherTag >
PositionVector3Doperator-= (const DisplacementVector3D< OtherCoords, OtherTag > &)
 
template<class OtherCoords , class OtherTag >
PositionVector3Doperator= (const DisplacementVector3D< OtherCoords, OtherTag > &)
 
template<class OtherCoords , class OtherTag >
PositionVector3Doperator= (const PositionVector3D< OtherCoords, OtherTag > &)
 

Private Attributes

CoordSystem fCoordinates
 

Static Private Attributes

static constexpr unsigned int fDimension = CoordinateType::Dimension
 

#include <Math/GenVector/PositionVector3D.h>

Member Typedef Documentation

◆ CoordinateSystemTag

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
typedef Tag ROOT::Math::PositionVector3D< CoordSystem, Tag >::CoordinateSystemTag

Definition at line 61 of file PositionVector3D.h.

◆ CoordinateType

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
typedef CoordSystem ROOT::Math::PositionVector3D< CoordSystem, Tag >::CoordinateType

Definition at line 60 of file PositionVector3D.h.

◆ Scalar

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
typedef CoordSystem::Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Scalar

Definition at line 59 of file PositionVector3D.h.

Constructor & Destructor Documentation

◆ PositionVector3D() [1/7]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
constexpr ROOT::Math::PositionVector3D< CoordSystem, Tag >::PositionVector3D ( )
constexprdefaultnoexcept

Default constructor.

Construct an empty object with zero values

◆ PositionVector3D() [2/7]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
constexpr ROOT::Math::PositionVector3D< CoordSystem, Tag >::PositionVector3D ( const Scalar & a,
const Scalar & b,
const Scalar & c )
inlineconstexprnoexcept

Construct from three values of type Scalar.

In the case of a XYZPoint the values are x,y,z In the case of a polar vector they are r,theta,phi

Definition at line 76 of file PositionVector3D.h.

◆ PositionVector3D() [3/7]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class T >
constexpr ROOT::Math::PositionVector3D< CoordSystem, Tag >::PositionVector3D ( const PositionVector3D< T, Tag > & v)
inlineexplicitconstexpr

Construct from a position vector expressed in different coordinates, or using a different Scalar type.

Definition at line 83 of file PositionVector3D.h.

◆ PositionVector3D() [4/7]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class T >
constexpr ROOT::Math::PositionVector3D< CoordSystem, Tag >::PositionVector3D ( const DisplacementVector3D< T, Tag > & p)
inlineexplicitconstexpr

Construct from an arbitrary displacement vector.

Definition at line 90 of file PositionVector3D.h.

◆ PositionVector3D() [5/7]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class ForeignVector >
constexpr ROOT::Math::PositionVector3D< CoordSystem, Tag >::PositionVector3D ( const ForeignVector & v)
inlineexplicitconstexpr

Construct from a foreign 3D vector type, for example, Hep3Vector Precondition: v must implement methods x(), y() and z()

Definition at line 98 of file PositionVector3D.h.

◆ PositionVector3D() [6/7]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
constexpr ROOT::Math::PositionVector3D< CoordSystem, Tag >::PositionVector3D ( const PositionVector3D< OtherCoords, OtherTag > & )
explicitconstexprprivate

◆ PositionVector3D() [7/7]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
constexpr ROOT::Math::PositionVector3D< CoordSystem, Tag >::PositionVector3D ( const DisplacementVector3D< OtherCoords, OtherTag > & )
explicitconstexprprivate

Member Function Documentation

◆ Coordinates()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
const CoordSystem & ROOT::Math::PositionVector3D< CoordSystem, Tag >::Coordinates ( ) const
inline

Retrieve a copy of the coordinates object.

Definition at line 169 of file PositionVector3D.h.

◆ Cross()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class OtherCoords >
PositionVector3D ROOT::Math::PositionVector3D< CoordSystem, Tag >::Cross ( const DisplacementVector3D< OtherCoords, Tag > & v) const
inline

Return vector (Cross) product of this point with a displacement, as a point vector in this coordinate system of the first.

Definition at line 381 of file PositionVector3D.h.

◆ Dimension()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
unsigned int ROOT::Math::PositionVector3D< CoordSystem, Tag >::Dimension ( ) const
inline

Dimension.

Definition at line 261 of file PositionVector3D.h.

◆ Dot()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class OtherCoords >
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Dot ( const DisplacementVector3D< OtherCoords, Tag > & v) const
inline

Return the scalar (Dot) product of this with a displacement vector in any coordinate system, but with the same tag.

Definition at line 371 of file PositionVector3D.h.

◆ Eta()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Eta ( ) const
inline

Polar eta, converting if necessary from internal coordinate system.

Definition at line 299 of file PositionVector3D.h.

◆ eta()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::eta ( ) const
inline

Definition at line 460 of file PositionVector3D.h.

◆ GetCoordinates() [1/4]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class IT >
void ROOT::Math::PositionVector3D< CoordSystem, Tag >::GetCoordinates ( IT begin) const
inline

get internal data into 3 Scalars at *begin

Definition at line 224 of file PositionVector3D.h.

◆ GetCoordinates() [2/4]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class IT >
void ROOT::Math::PositionVector3D< CoordSystem, Tag >::GetCoordinates ( IT begin,
IT end ) const
inline

get internal data into 3 Scalars at *begin to *end (3 past begin)

Definition at line 213 of file PositionVector3D.h.

◆ GetCoordinates() [3/4]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
void ROOT::Math::PositionVector3D< CoordSystem, Tag >::GetCoordinates ( Scalar & a,
Scalar & b,
Scalar & c ) const
inline

get internal data into 3 Scalar numbers

Definition at line 200 of file PositionVector3D.h.

◆ GetCoordinates() [4/4]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
void ROOT::Math::PositionVector3D< CoordSystem, Tag >::GetCoordinates ( Scalar dest[]) const
inline

get internal data into a C-style array of 3 Scalar numbers

Definition at line 206 of file PositionVector3D.h.

◆ Mag2()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Mag2 ( ) const
inline

Magnitute squared ( r^2 in spherical coordinate)

Definition at line 311 of file PositionVector3D.h.

◆ mag2()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::mag2 ( ) const
inline

Definition at line 462 of file PositionVector3D.h.

◆ operator!=()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
bool ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator!= ( const PositionVector3D< CoordSystem, Tag > & rhs) const
inline

Definition at line 252 of file PositionVector3D.h.

◆ operator*()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator* ( Scalar a) const
inline

Multiply a vector by a real number.

Definition at line 437 of file PositionVector3D.h.

◆ operator*=()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator*= ( Scalar a)
inline

multiply this vector by a scalar quantity

Definition at line 419 of file PositionVector3D.h.

◆ operator+=() [1/2]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator+= ( const DisplacementVector3D< OtherCoords, OtherTag > & )
private

◆ operator+=() [2/2]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class OtherCoords >
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator+= ( const DisplacementVector3D< OtherCoords, Tag > & v)
inline

Self Addition with a displacement vector.

Definition at line 400 of file PositionVector3D.h.

◆ operator-=() [1/2]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator-= ( const DisplacementVector3D< OtherCoords, OtherTag > & )
private

◆ operator-=() [2/2]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class OtherCoords >
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator-= ( const DisplacementVector3D< OtherCoords, Tag > & v)
inline

Self Difference with a displacement vector.

Definition at line 410 of file PositionVector3D.h.

◆ operator/()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator/ ( Scalar a) const
inline

Division of a vector with a real number.

Definition at line 446 of file PositionVector3D.h.

◆ operator/=()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator/= ( Scalar a)
inline

divide this vector by a scalar quantity

Definition at line 427 of file PositionVector3D.h.

◆ operator=() [1/5]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator= ( const DisplacementVector3D< OtherCoords, OtherTag > & )
private

◆ operator=() [2/5]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class OtherCoords >
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator= ( const DisplacementVector3D< OtherCoords, Tag > & v)
inline

Assignment operator from a displacement vector of arbitrary type.

Definition at line 134 of file PositionVector3D.h.

◆ operator=() [3/5]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class ForeignVector >
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator= ( const ForeignVector & v)
inline

Assignment from a foreign 3D vector type, for example, Hep3Vector Precondition: v must implement methods x(), y() and z()

Definition at line 145 of file PositionVector3D.h.

◆ operator=() [4/5]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator= ( const PositionVector3D< OtherCoords, OtherTag > & )
private

◆ operator=() [5/5]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class OtherCoords >
PositionVector3D & ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator= ( const PositionVector3D< OtherCoords, Tag > & v)
inline

Assignment operator from a position vector of arbitrary type.

Definition at line 124 of file PositionVector3D.h.

◆ operator==()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
bool ROOT::Math::PositionVector3D< CoordSystem, Tag >::operator== ( const PositionVector3D< CoordSystem, Tag > & rhs) const
inline

Exact equality.

Definition at line 249 of file PositionVector3D.h.

◆ Perp2()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Perp2 ( ) const
inline

Transverse component squared (rho^2 in cylindrical coordinates.

Definition at line 316 of file PositionVector3D.h.

◆ perp2()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::perp2 ( ) const
inline

Definition at line 463 of file PositionVector3D.h.

◆ Phi()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Phi ( ) const
inline

Polar phi, converting if necessary from internal coordinate system.

Definition at line 294 of file PositionVector3D.h.

◆ phi()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::phi ( ) const
inline

Definition at line 459 of file PositionVector3D.h.

◆ R()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::R ( ) const
inline

Polar R, converting if necessary from internal coordinate system.

Definition at line 284 of file PositionVector3D.h.

◆ r()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::r ( ) const
inline

Definition at line 457 of file PositionVector3D.h.

◆ Rho()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Rho ( ) const
inline

Cylindrical transverse component rho.

Definition at line 304 of file PositionVector3D.h.

◆ rho()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::rho ( ) const
inline

Definition at line 461 of file PositionVector3D.h.

◆ SetCoordinates() [1/3]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetCoordinates ( const Scalar src[])
inline

Set internal data based on a C-style array of 3 Scalar numbers.

Definition at line 176 of file PositionVector3D.h.

◆ SetCoordinates() [2/3]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
template<class IT >
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetCoordinates ( IT begin,
IT end )
inline

Set internal data based on 3 Scalars at *begin to *end.

Definition at line 189 of file PositionVector3D.h.

◆ SetCoordinates() [3/3]

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetCoordinates ( Scalar a,
Scalar b,
Scalar c )
inline

Set internal data based on 3 Scalar numbers.

Definition at line 182 of file PositionVector3D.h.

◆ SetEta()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetEta ( Scalar etaval)
inline

Change Eta - CylindricalEta3D coordinates only.

Definition at line 361 of file PositionVector3D.h.

◆ SetPhi()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetPhi ( Scalar ang)
inline

Change Phi - Polar3D or CylindricalEta3D coordinates.

Definition at line 351 of file PositionVector3D.h.

◆ SetR()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetR ( Scalar rr)
inline

Change R - Polar3D coordinates only.

Definition at line 341 of file PositionVector3D.h.

◆ SetRho()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetRho ( Scalar rr)
inline

Change Rho - CylindricalEta3D coordinates only.

Definition at line 356 of file PositionVector3D.h.

◆ SetTheta()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetTheta ( Scalar ang)
inline

Change Theta - Polar3D coordinates only.

Definition at line 346 of file PositionVector3D.h.

◆ SetX()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetX ( Scalar xx)
inline

Change X - Cartesian3D coordinates only.

Definition at line 326 of file PositionVector3D.h.

◆ SetXYZ()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetXYZ ( Scalar a,
Scalar b,
Scalar c )
inline

set the values of the vector from the cartesian components (x,y,z) (if the vector is held in polar or cylindrical eta coordinates, then (x, y, z) are converted to that form)

Definition at line 239 of file PositionVector3D.h.

◆ SetY()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetY ( Scalar yy)
inline

Change Y - Cartesian3D coordinates only.

Definition at line 331 of file PositionVector3D.h.

◆ SetZ()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
PositionVector3D< CoordSystem, Tag > & ROOT::Math::PositionVector3D< CoordSystem, Tag >::SetZ ( Scalar zz)
inline

Change Z - Cartesian3D coordinates only.

Definition at line 336 of file PositionVector3D.h.

◆ Theta()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Theta ( ) const
inline

Polar theta, converting if necessary from internal coordinate system.

Definition at line 289 of file PositionVector3D.h.

◆ theta()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::theta ( ) const
inline

Definition at line 458 of file PositionVector3D.h.

◆ X()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::X ( ) const
inline

Cartesian X, converting if necessary from internal coordinate system.

Definition at line 269 of file PositionVector3D.h.

◆ x()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::x ( ) const
inline

Definition at line 454 of file PositionVector3D.h.

◆ Y()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Y ( ) const
inline

Cartesian Y, converting if necessary from internal coordinate system.

Definition at line 274 of file PositionVector3D.h.

◆ y()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::y ( ) const
inline

Definition at line 455 of file PositionVector3D.h.

◆ Z()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::Z ( ) const
inline

Cartesian Z, converting if necessary from internal coordinate system.

Definition at line 279 of file PositionVector3D.h.

◆ z()

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
Scalar ROOT::Math::PositionVector3D< CoordSystem, Tag >::z ( ) const
inline

Definition at line 456 of file PositionVector3D.h.

Member Data Documentation

◆ fCoordinates

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
CoordSystem ROOT::Math::PositionVector3D< CoordSystem, Tag >::fCoordinates
private

Definition at line 467 of file PositionVector3D.h.

◆ fDimension

template<class CoordSystem , class Tag = DefaultCoordinateSystemTag>
constexpr unsigned int ROOT::Math::PositionVector3D< CoordSystem, Tag >::fDimension = CoordinateType::Dimension
staticconstexprprivate

Definition at line 468 of file PositionVector3D.h.

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