Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::ROOT_MATH_ARCH Namespace Reference

Namespaces

namespace  detail
 
namespace  GenVector_detail
 
namespace  gv_detail
 
namespace  Impl
 
namespace  VectorUtil
 Global Helper functions for generic Vector classes.
 

Classes

class  AxisAngle
 AxisAngle class describing rotation represented with direction axis (3D Vector) and an angle of rotation around that axis. More...
 
class  Boost
 Lorentz boost class with the (4D) transformation represented internally by a 4x4 orthosymplectic matrix. More...
 
class  BoostX
 Class representing a Lorentz Boost along the X axis, by beta. More...
 
class  BoostY
 Class representing a Lorentz Boost along the Y axis, by beta. More...
 
class  BoostZ
 Class representing a Lorentz Boost along the Z axis, by beta. More...
 
class  Cartesian2D
 Class describing a 2D cartesian coordinate system (x, y coordinates) More...
 
class  Cartesian3D
 Class describing a 3D cartesian coordinate system (x, y, z coordinates) More...
 
class  Cylindrical3D
 Class describing a cylindrical coordinate system based on rho, z and phi. More...
 
class  CylindricalEta3D
 Class describing a cylindrical coordinate system based on eta (pseudorapidity) instead of z. More...
 
class  DefaultCoordinateSystemTag
 DefaultCoordinateSystemTag Default tag for identifying any coordinate system. More...
 
class  DisplacementVector2D
 Class describing a generic displacement vector in 2 dimensions. More...
 
class  DisplacementVector3D
 Class describing a generic displacement vector in 3 dimensions. More...
 
class  EulerAngles
 EulerAngles class describing rotation as three angles (Euler Angles). More...
 
class  GenVector_exception
 
class  GlobalCoordinateSystemTag
 Tag for identifying vectors based on a global coordinate system. More...
 
class  LocalCoordinateSystemTag
 Tag for identifying vectors based on a local coordinate system. More...
 
class  LorentzRotation
 Lorentz transformation class with the (4D) transformation represented by a 4x4 orthosymplectic matrix. More...
 
class  LorentzVector
 Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system for the spatial vector part. More...
 
class  Polar2D
 Class describing a polar 2D coordinate system based on r and phi Phi is restricted to be in the range [-PI,PI) More...
 
class  Polar3D
 Class describing a polar coordinate system based on r, theta and phi Phi is restricted to be in the range [-PI,PI) More...
 
class  PositionVector2D
 Class describing a generic position vector (point) in 2 dimensions. More...
 
class  PositionVector3D
 Class describing a generic position vector (point) in 3 dimensions. More...
 
class  PtEtaPhiE4D
 Class describing a 4D cylindrical coordinate system using Pt , Phi, Eta and E (or rho, phi, eta , T) The metric used is (-,-,-,+). More...
 
class  PtEtaPhiM4D
 Class describing a 4D cylindrical coordinate system using Pt , Phi, Eta and M (mass) The metric used is (-,-,-,+). More...
 
class  PxPyPzE4D
 Class describing a 4D cartesian coordinate system (x, y, z, t coordinates) or momentum-energy vectors stored as (Px, Py, Pz, E). More...
 
class  PxPyPzM4D
 Class describing a 4D coordinate system or momentum-energy vectors stored as (Px, Py, Pz, M). More...
 
class  Quaternion
 Rotation class with the (3D) rotation represented by a unit quaternion (u, i, j, k). More...
 
class  Rotation3D
 Rotation class with the (3D) rotation represented by a 3x3 orthogonal matrix. More...
 
class  RotationX
 Rotation class representing a 3D rotation about the X axis by the angle of rotation. More...
 
class  RotationY
 Rotation class representing a 3D rotation about the Y axis by the angle of rotation. More...
 
class  RotationZ
 Rotation class representing a 3D rotation about the Z axis by the angle of rotation. More...
 
class  RotationZYX
 Rotation class with the (3D) rotation represented by angles describing first a rotation of an angle phi (yaw) about the Z axis, followed by a rotation of an angle theta (pitch) about the Y axis, followed by a third rotation of an angle psi (roll) about the X axis. More...
 

Typedefs

typedef Impl::Plane3D< doublePlane3D
 
typedef Impl::Plane3D< float > Plane3DF
 
typedef PositionVector2D< Polar2D< double >, DefaultCoordinateSystemTagPolar2DPoint
 2D Point based on the polar coordinates rho, theta, phi in double precision.
 
typedef Polar2DPoint Polar2DPointD
 
typedef PositionVector2D< Polar2D< float >, DefaultCoordinateSystemTagPolar2DPointF
 2D Point based on the polar coordinates rho, theta, phi in single precision.
 
typedef DisplacementVector2D< Polar2D< double >, DefaultCoordinateSystemTagPolar2DVector
 2D Vector based on the polar coordinates rho, phi in double precision.
 
typedef Polar2DVector Polar2DVectorD
 
typedef DisplacementVector2D< Polar2D< float >, DefaultCoordinateSystemTagPolar2DVectorF
 2D Vector based on the polar coordinates rho, phi in single precision.
 
typedef PositionVector3D< Polar3D< double >, DefaultCoordinateSystemTagPolar3DPoint
 3D Point based on the polar coordinates rho, theta, phi in double precision.
 
typedef Polar3DPoint Polar3DPointD
 
typedef PositionVector3D< Polar3D< float >, DefaultCoordinateSystemTagPolar3DPointF
 3D Point based on the polar coordinates rho, theta, phi in single precision.
 
typedef DisplacementVector3D< Polar3D< double >, DefaultCoordinateSystemTagPolar3DVector
 3D Vector based on the polar coordinates rho, theta, phi in double precision.
 
typedef Polar3DVector Polar3DVectorD
 
typedef DisplacementVector3D< Polar3D< float >, DefaultCoordinateSystemTagPolar3DVectorF
 3D Vector based on the polar coordinates rho, theta, phi in single precision.
 
typedef LorentzVector< PtEtaPhiE4D< double > > PtEtaPhiEVector
 LorentzVector based on the cylindrical coordinates Pt, eta, phi and E (rho, eta, phi, t) in double precision.
 
typedef LorentzVector< PtEtaPhiM4D< double > > PtEtaPhiMVector
 LorentzVector based on the cylindrical coordinates pt, eta, phi and Mass in double precision.
 
typedef LorentzVector< PxPyPzE4D< double > > PxPyPzEVector
 
typedef LorentzVector< PxPyPzM4D< double > > PxPyPzMVector
 LorentzVector based on the x, y, z, and Mass in double precision.
 
typedef PositionVector3D< CylindricalEta3D< double >, DefaultCoordinateSystemTagRhoEtaPhiPoint
 3D Point based on the eta based cylindrical coordinates rho, eta, phi in double precision.
 
typedef RhoEtaPhiPoint RhoEtaPhiPointD
 
typedef PositionVector3D< CylindricalEta3D< float >, DefaultCoordinateSystemTagRhoEtaPhiPointF
 3D Point based on the eta based cylindrical coordinates rho, eta, phi in single precision.
 
typedef DisplacementVector3D< CylindricalEta3D< double >, DefaultCoordinateSystemTagRhoEtaPhiVector
 3D Vector based on the eta based cylindrical coordinates rho, eta, phi in double precision.
 
typedef RhoEtaPhiVector RhoEtaPhiVectorD
 
typedef DisplacementVector3D< CylindricalEta3D< float >, DefaultCoordinateSystemTagRhoEtaPhiVectorF
 3D Vector based on the eta based cylindrical coordinates rho, eta, phi in single precision.
 
typedef PositionVector3D< Cylindrical3D< double >, DefaultCoordinateSystemTagRhoZPhiPoint
 3D Point based on the cylindrical coordinates rho, z, phi in double precision.
 
typedef RhoZPhiPoint RhoZPhiPointD
 
typedef PositionVector3D< Cylindrical3D< float >, DefaultCoordinateSystemTagRhoZPhiPointF
 3D Point based on the cylindrical coordinates rho, z, phi in single precision.
 
typedef DisplacementVector3D< Cylindrical3D< double >, DefaultCoordinateSystemTagRhoZPhiVector
 3D Vector based on the cylindrical coordinates rho, z, phi in double precision.
 
typedef RhoZPhiVector RhoZPhiVectorD
 
typedef DisplacementVector3D< Cylindrical3D< float >, DefaultCoordinateSystemTagRhoZPhiVectorF
 3D Vector based on the cylindrical coordinates rho, z, phi in single precision.
 
typedef Rotation3D::Scalar Scalar
 
typedef Impl::Transform3D< doubleTransform3D
 
typedef Impl::Transform3D< float > Transform3DF
 
typedef Impl::Translation3D< doubleTranslation3D
 
typedef Impl::Translation3D< float > Translation3DF
 
typedef PositionVector2D< Cartesian2D< double >, DefaultCoordinateSystemTagXYPoint
 2D Point based on the cartesian coordinates x,y,z in double precision
 
typedef XYPoint XYPointD
 
typedef PositionVector2D< Cartesian2D< float >, DefaultCoordinateSystemTagXYPointF
 2D Point based on the cartesian coordinates x,y,z in single precision
 
typedef DisplacementVector2D< Cartesian2D< double >, DefaultCoordinateSystemTagXYVector
 2D Vector based on the cartesian coordinates x,y in double precision
 
typedef XYVector XYVectorD
 
typedef DisplacementVector2D< Cartesian2D< float >, DefaultCoordinateSystemTagXYVectorF
 2D Vector based on the cartesian coordinates x,y,z in single precision
 
typedef PositionVector3D< Cartesian3D< double >, DefaultCoordinateSystemTagXYZPoint
 3D Point based on the cartesian coordinates x,y,z in double precision
 
typedef XYZPoint XYZPointD
 
typedef PositionVector3D< Cartesian3D< float >, DefaultCoordinateSystemTagXYZPointF
 3D Point based on the cartesian coordinates x,y,z in single precision
 
typedef LorentzVector< PxPyPzE4D< double > > XYZTVector
 LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in double precision with metric (-,-,-,+)
 
typedef LorentzVector< PxPyPzE4D< float > > XYZTVectorF
 LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in float precision with metric (-,-,-,+)
 
typedef DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTagXYZVector
 3D Vector based on the cartesian coordinates x,y,z in double precision
 
typedef XYZVector XYZVectorD
 
typedef DisplacementVector3D< Cartesian3D< float >, DefaultCoordinateSystemTagXYZVectorF
 3D Vector based on the cartesian coordinates x,y,z in single precision
 

Enumerations

enum  ERotation3DMatrixIndex {
  kXX = 0 , kXY = 1 , kXZ = 2 , kYX = 3 ,
  kYY = 4 , kYZ = 5 , kZX = 6 , kZY = 7 ,
  kZZ = 8
}
 

Functions

template<class CoordSystem >
LorentzVector< CoordSystem >::Scalar Acoplanarity (LorentzVector< CoordSystem > const &pp, LorentzVector< CoordSystem > const &pm)
 pair (p+ p-) acoplanarity alpha = 1 - |phi+ - phi-|/pi.
 
template<class CoordSystem >
LorentzVector< CoordSystem >::Scalar AsymmetryScalar (LorentzVector< CoordSystem > const &pp, LorentzVector< CoordSystem > const &pm)
 pair (p+ p-) scalar asymmetry As = ||Pt+| - |Pt-|/||Pt+| + |Pt-||.
 
template<class CoordSystem >
LorentzVector< CoordSystem >::Scalar AsymmetryVectorial (LorentzVector< CoordSystem > const &pp, LorentzVector< CoordSystem > const &pm)
 pair (p+ p-) vectorial asymmetry Av = |Pt+ - Pt-|/|Pt+ + Pt-|.
 
template<class R >
AxisAngle::Scalar Distance (const AxisAngle &r1, const R &r2)
 Distance between two rotations.
 
template<class R >
EulerAngles::Scalar Distance (const EulerAngles &r1, const R &r2)
 Distance between two rotations.
 
template<class R >
Quaternion::Scalar Distance (const Quaternion &r1, const R &r2)
 Distance between two rotations.
 
template<class R >
Rotation3D::Scalar Distance (const Rotation3D &r1, const R &r2)
 Distance between two rotations.
 
template<class R >
RotationX::Scalar Distance (const RotationX &r1, const R &r2)
 Distance between two rotations.
 
template<class R >
RotationY::Scalar Distance (const RotationY &r1, const R &r2)
 Distance between two rotations.
 
template<class R >
RotationZ::Scalar Distance (const RotationZ &r1, const R &r2)
 Distance between two rotations.
 
template<class R >
RotationZYX::Scalar Distance (const RotationZYX &r1, const R &r2)
 Distance between two rotations.
 
template<typename Scalar >
Scalar Eta_FromRhoZ (Scalar rho, Scalar z)
 
template<typename Scalar >
Scalar Eta_FromTheta (Scalar theta, Scalar r)
 Implementation of eta from -log(tan(theta/2)).
 
template<class T >
etaMax ()
 Function providing the maximum possible value of pseudorapidity for a non-zero rho, in the Scalar type with the largest dynamic range.
 
template<class T >
etaMax2 ()
 
__roohost__ __roodevice__ long double etaMax_impl ()
 The following function could be called to provide the maximum possible value of pseudorapidity for a non-zero rho.
 
void GenVector_Throw (const char *s)
 function throwing exception, by creating internally a GenVector_exception only when needed
 
template<class char_t , class traits_t >
std::basic_ios< char_t, traits_t > & human_readable (std::basic_ios< char_t, traits_t > &ios)
 
template<class char_t , class traits_t >
std::basic_ios< char_t, traits_t > & machine_readable (std::basic_ios< char_t, traits_t > &ios)
 
template<class Scalar >
Scalar math_acos (Scalar x)
 
template<class Scalar >
Scalar math_asin (Scalar x)
 
template<class Scalar >
Scalar math_atan (Scalar x)
 
template<class Scalar >
Scalar math_atan2 (Scalar x, Scalar y)
 
template<class Scalar >
Scalar math_cos (Scalar x)
 
template<class Scalar >
Scalar math_cosh (Scalar x)
 
template<class Scalar >
Scalar math_exp (Scalar x)
 
template<class Scalar >
Scalar math_fabs (Scalar x)
 
template<class Scalar >
Scalar math_floor (Scalar x)
 
template<class Scalar >
Scalar math_fmod (Scalar x, Scalar y)
 
template<class Scalar >
Scalar math_log (Scalar x)
 
template<class Scalar >
Scalar math_pow (Scalar x, Scalar y)
 
template<class Scalar >
Scalar math_sin (Scalar x)
 
template<class Scalar >
Scalar math_sinh (Scalar x)
 
template<class Scalar >
Scalar math_sqrt (Scalar x)
 
template<class Scalar >
Scalar math_tan (Scalar x)
 
template<class CoordSystem >
LorentzVector< CoordSystem > operator* (const typename LorentzVector< CoordSystem >::Scalar &a, const LorentzVector< CoordSystem > &v)
 Scale of a LorentzVector with a scalar quantity a.
 
AxisAngle operator* (RotationX const &r1, AxisAngle const &r2)
 Multiplication of an axial rotation by an AxisAngle.
 
EulerAngles operator* (RotationX const &r1, EulerAngles const &r2)
 Multiplication of an axial rotation by an AxisAngle.
 
Quaternion operator* (RotationX const &r1, Quaternion const &r2)
 Multiplication of an axial rotation by an AxisAngle.
 
Rotation3D operator* (RotationX const &r1, Rotation3D const &r2)
 Multiplication of an axial rotation by a Rotation3D.
 
Rotation3D operator* (RotationX const &r1, RotationY const &r2)
 Multiplication of an axial rotation by another axial Rotation.
 
Rotation3D operator* (RotationX const &r1, RotationZ const &r2)
 
RotationZYX operator* (RotationX const &r1, RotationZYX const &r2)
 Multiplication of an axial rotation by an AxisAngle.
 
AxisAngle operator* (RotationY const &r1, AxisAngle const &r2)
 
EulerAngles operator* (RotationY const &r1, EulerAngles const &r2)
 
Quaternion operator* (RotationY const &r1, Quaternion const &r2)
 
Rotation3D operator* (RotationY const &r1, Rotation3D const &r2)
 
Rotation3D operator* (RotationY const &r1, RotationX const &r2)
 
Rotation3D operator* (RotationY const &r1, RotationZ const &r2)
 
RotationZYX operator* (RotationY const &r1, RotationZYX const &r2)
 
AxisAngle operator* (RotationZ const &r1, AxisAngle const &r2)
 
EulerAngles operator* (RotationZ const &r1, EulerAngles const &r2)
 
Quaternion operator* (RotationZ const &r1, Quaternion const &r2)
 
Rotation3D operator* (RotationZ const &r1, Rotation3D const &r2)
 
Rotation3D operator* (RotationZ const &r1, RotationX const &r2)
 
Rotation3D operator* (RotationZ const &r1, RotationY const &r2)
 
RotationZYX operator* (RotationZ const &r1, RotationZYX const &r2)
 
template<class CoordSystem , class U >
DisplacementVector2D< CoordSystem, U > operator* (typename DisplacementVector2D< CoordSystem, U >::Scalar a, DisplacementVector2D< CoordSystem, U > v)
 Multiplication of a displacement vector by real number a*v.
 
template<class CoordSystem , class U >
DisplacementVector3D< CoordSystem, U > operator* (typename DisplacementVector3D< CoordSystem, U >::Scalar a, DisplacementVector3D< CoordSystem, U > v)
 Multiplication of a displacement vector by real number a*v.
 
template<class CoordSystem , class U >
PositionVector2D< CoordSystem > operator* (typename PositionVector2D< CoordSystem, U >::Scalar a, PositionVector2D< CoordSystem, U > v)
 Multiplication of a position vector by real number a*v.
 
template<class CoordSystem , class U >
PositionVector3D< CoordSystem > operator* (typename PositionVector3D< CoordSystem, U >::Scalar a, PositionVector3D< CoordSystem, U > v)
 Multiplication of a position vector by real number a*v.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
PositionVector2D< CoordSystem2, U > operator+ (DisplacementVector2D< CoordSystem1, U > const &v1, PositionVector2D< CoordSystem2, U > p2)
 Addition of a DisplacementVector2D and a PositionVector2D.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
DisplacementVector2D< CoordSystem1, U > operator+ (DisplacementVector2D< CoordSystem1, U > v1, const DisplacementVector2D< CoordSystem2, U > &v2)
 Addition of DisplacementVector2D vectors.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
PositionVector3D< CoordSystem2, U > operator+ (DisplacementVector3D< CoordSystem1, U > const &v1, PositionVector3D< CoordSystem2, U > p2)
 Addition of a DisplacementVector3D and a PositionVector3D.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
DisplacementVector3D< CoordSystem1, U > operator+ (DisplacementVector3D< CoordSystem1, U > v1, const DisplacementVector3D< CoordSystem2, U > &v2)
 Addition of DisplacementVector3D vectors.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
PositionVector2D< CoordSystem2, U > operator+ (PositionVector2D< CoordSystem2, U > p1, const DisplacementVector2D< CoordSystem1, U > &v2)
 Addition of a PositionVector2D and a DisplacementVector2D.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
PositionVector3D< CoordSystem2, U > operator+ (PositionVector3D< CoordSystem2, U > p1, const DisplacementVector3D< CoordSystem1, U > &v2)
 Addition of a PositionVector3D and a DisplacementVector3D.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
DisplacementVector2D< CoordSystem1, U > operator- (const PositionVector2D< CoordSystem1, U > &v1, const PositionVector2D< CoordSystem2, U > &v2)
 Difference between two PositionVector2D vectors.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
DisplacementVector3D< CoordSystem1, U > operator- (const PositionVector3D< CoordSystem1, U > &v1, const PositionVector3D< CoordSystem2, U > &v2)
 Difference between two PositionVector3D vectors.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
DisplacementVector2D< CoordSystem1, U > operator- (DisplacementVector2D< CoordSystem1, U > v1, DisplacementVector2D< CoordSystem2, U > const &v2)
 Difference between two DisplacementVector2D vectors.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
DisplacementVector3D< CoordSystem1, U > operator- (DisplacementVector3D< CoordSystem1, U > v1, DisplacementVector3D< CoordSystem2, U > const &v2)
 Difference between two DisplacementVector3D vectors.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
PositionVector2D< CoordSystem2, U > operator- (PositionVector2D< CoordSystem2, U > p1, DisplacementVector2D< CoordSystem1, U > const &v2)
 Subtraction of a DisplacementVector2D from a PositionVector2D.
 
template<class CoordSystem1 , class CoordSystem2 , class U >
PositionVector3D< CoordSystem2, U > operator- (PositionVector3D< CoordSystem2, U > p1, DisplacementVector3D< CoordSystem1, U > const &v2)
 Subtraction of a DisplacementVector3D from a PositionVector3D.
 
template<class char_t , class traits_t , class T , class U >
std::basic_ostream< char_t, traits_t > & operator<< (std::basic_ostream< char_t, traits_t > &os, DisplacementVector2D< T, U > const &v)
 
template<class char_t , class traits_t , class T , class U , typename std::enable_if< std::is_arithmetic< typename DisplacementVector3D< T, U >::Scalar >::value >::type * = nullptr>
std::basic_ostream< char_t, traits_t > & operator<< (std::basic_ostream< char_t, traits_t > &os, DisplacementVector3D< T, U > const &v)
 
template<class char_t , class traits_t , class Coords >
std::basic_ostream< char_t, traits_t > & operator<< (std::basic_ostream< char_t, traits_t > &os, LorentzVector< Coords > const &v)
 
template<class char_t , class traits_t , class T , class U >
std::basic_ostream< char_t, traits_t > & operator<< (std::basic_ostream< char_t, traits_t > &os, PositionVector2D< T, U > const &v)
 
template<class char_t , class traits_t , class T , class U , typename std::enable_if< std::is_arithmetic< typename PositionVector3D< T, U >::Scalar >::value >::type * = nullptr>
std::basic_ostream< char_t, traits_t > & operator<< (std::basic_ostream< char_t, traits_t > &os, PositionVector3D< T, U > const &v)
 
std::ostream & operator<< (std::ostream &os, const AxisAngle &a)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const Boost &b)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const BoostX &b)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const BoostY &b)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const BoostZ &b)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const EulerAngles &e)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const LorentzRotation &r)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const Quaternion &q)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const Rotation3D &r)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const RotationX &r)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const RotationY &r)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const RotationZ &r)
 Stream Output and Input.
 
std::ostream & operator<< (std::ostream &os, const RotationZYX &e)
 Stream Output and Input.
 
template<class char_t , class traits_t , class T , class U >
std::basic_istream< char_t, traits_t > & operator>> (std::basic_istream< char_t, traits_t > &is, DisplacementVector2D< T, U > &v)
 
template<class char_t , class traits_t , class T , class U >
std::basic_istream< char_t, traits_t > & operator>> (std::basic_istream< char_t, traits_t > &is, DisplacementVector3D< T, U > &v)
 
template<class char_t , class traits_t , class Coords >
std::basic_istream< char_t, traits_t > & operator>> (std::basic_istream< char_t, traits_t > &is, LorentzVector< Coords > &v)
 
template<class char_t , class traits_t , class T , class U >
std::basic_istream< char_t, traits_t > & operator>> (std::basic_istream< char_t, traits_t > &is, PositionVector2D< T, U > &v)
 
template<class char_t , class traits_t , class T , class U >
std::basic_istream< char_t, traits_t > & operator>> (std::basic_istream< char_t, traits_t > &is, PositionVector3D< T, U > &v)
 
template<class char_t >
detail::manipulator< char_t > set_close (char_t ch)
 
template<class char_t >
detail::manipulator< char_t > set_open (char_t ch)
 
template<class char_t >
detail::manipulator< char_t > set_separator (char_t ch)
 
static void swap (double &a, double &b)
 
void Throw (GenVector_exception &e)
 throw explicitly GenVector exceptions
 

Typedef Documentation

◆ Plane3D

◆ Plane3DF

◆ Polar2DPoint

2D Point based on the polar coordinates rho, theta, phi in double precision.

Definition at line 53 of file Point2Dfwd.h.

◆ Polar2DPointD

◆ Polar2DPointF

2D Point based on the polar coordinates rho, theta, phi in single precision.

Definition at line 59 of file Point2Dfwd.h.

◆ Polar2DVector

2D Vector based on the polar coordinates rho, phi in double precision.

To use it add the line #include <Vector2D.h>

See the documentation on the DisplacementVector2D page.

Definition at line 63 of file Vector2Dfwd.h.

◆ Polar2DVectorD

◆ Polar2DVectorF

2D Vector based on the polar coordinates rho, phi in single precision.

To use it add the line #include <Vector2D.h>

See the documentation on the DisplacementVector2D page.

Definition at line 73 of file Vector2Dfwd.h.

◆ Polar3DPoint

3D Point based on the polar coordinates rho, theta, phi in double precision.

Definition at line 66 of file Point3Dfwd.h.

◆ Polar3DPointD

◆ Polar3DPointF

3D Point based on the polar coordinates rho, theta, phi in single precision.

Definition at line 70 of file Point3Dfwd.h.

◆ Polar3DVector

3D Vector based on the polar coordinates rho, theta, phi in double precision.

To use it add the line #include <Vector3D.h>

See the documentation on the DisplacementVector3D page.

Definition at line 85 of file Vector3Dfwd.h.

◆ Polar3DVectorD

◆ Polar3DVectorF

3D Vector based on the polar coordinates rho, theta, phi in single precision.

To use it add the line #include <Vector3D.h>

See the documentation on the DisplacementVector3D page.

Definition at line 93 of file Vector3Dfwd.h.

◆ PtEtaPhiEVector

LorentzVector based on the cylindrical coordinates Pt, eta, phi and E (rho, eta, phi, t) in double precision.

To use it add the line #include <MathX/Vector4D.h>

See the documentation on the LorentzVector page.

Definition at line 79 of file Vector4Dfwd.h.

◆ PtEtaPhiMVector

LorentzVector based on the cylindrical coordinates pt, eta, phi and Mass in double precision.

To use it add the line #include <MathX/Vector4D.h>

See the documentation on the LorentzVector page.

Definition at line 88 of file Vector4Dfwd.h.

◆ PxPyPzEVector

◆ PxPyPzMVector

LorentzVector based on the x, y, z, and Mass in double precision.

To use it add the line #include <MathX/Vector4D.h>

See the documentation on the LorentzVector page.

Definition at line 70 of file Vector4Dfwd.h.

◆ RhoEtaPhiPoint

3D Point based on the eta based cylindrical coordinates rho, eta, phi in double precision.

Definition at line 56 of file Point3Dfwd.h.

◆ RhoEtaPhiPointD

◆ RhoEtaPhiPointF

3D Point based on the eta based cylindrical coordinates rho, eta, phi in single precision.

Definition at line 60 of file Point3Dfwd.h.

◆ RhoEtaPhiVector

3D Vector based on the eta based cylindrical coordinates rho, eta, phi in double precision.

To use it add the line #include <Vector3D.h>

See the documentation on the DisplacementVector3D page.

Definition at line 67 of file Vector3Dfwd.h.

◆ RhoEtaPhiVectorD

◆ RhoEtaPhiVectorF

3D Vector based on the eta based cylindrical coordinates rho, eta, phi in single precision.

To use it add the line #include <Vector3D.h>

See the documentation on the DisplacementVector3D page.

Definition at line 75 of file Vector3Dfwd.h.

◆ RhoZPhiPoint

3D Point based on the cylindrical coordinates rho, z, phi in double precision.

Definition at line 76 of file Point3Dfwd.h.

◆ RhoZPhiPointD

◆ RhoZPhiPointF

3D Point based on the cylindrical coordinates rho, z, phi in single precision.

Definition at line 80 of file Point3Dfwd.h.

◆ RhoZPhiVector

3D Vector based on the cylindrical coordinates rho, z, phi in double precision.

To use it add the line #include <Vector3D.h>

See the documentation on the DisplacementVector3D page.

Definition at line 103 of file Vector3Dfwd.h.

◆ RhoZPhiVectorD

◆ RhoZPhiVectorF

3D Vector based on the cylindrical coordinates rho, z, phi in single precision.

To use it add the line #include <Vector3D.h>

See the documentation on the DisplacementVector3D page.

Definition at line 111 of file Vector3Dfwd.h.

◆ Scalar

◆ Transform3D

◆ Transform3DF

◆ Translation3D

◆ Translation3DF

◆ XYPoint

2D Point based on the cartesian coordinates x,y,z in double precision

Definition at line 42 of file Point2Dfwd.h.

◆ XYPointD

◆ XYPointF

2D Point based on the cartesian coordinates x,y,z in single precision

Definition at line 48 of file Point2Dfwd.h.

◆ XYVector

2D Vector based on the cartesian coordinates x,y in double precision

To use it add the line #include <Vector2D.h>

See the documentation on the DisplacementVector2D page.

Definition at line 44 of file Vector2Dfwd.h.

◆ XYVectorD

◆ XYVectorF

2D Vector based on the cartesian coordinates x,y,z in single precision

To use it add the line #include <Vector2D.h>

See the documentation on the DisplacementVector2D page.

Definition at line 54 of file Vector2Dfwd.h.

◆ XYZPoint

3D Point based on the cartesian coordinates x,y,z in double precision

Definition at line 45 of file Point3Dfwd.h.

◆ XYZPointD

◆ XYZPointF

3D Point based on the cartesian coordinates x,y,z in single precision

Definition at line 50 of file Point3Dfwd.h.

◆ XYZTVector

LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in double precision with metric (-,-,-,+)

To use it add the line #include <MathX/Vector4D.h>

See the documentation on the LorentzVector page.

Definition at line 50 of file Vector4Dfwd.h.

◆ XYZTVectorF

LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in float precision with metric (-,-,-,+)

To use it add the line #include <MathX/Vector4D.h>

See the documentation on the LorentzVector page.

Definition at line 61 of file Vector4Dfwd.h.

◆ XYZVector

3D Vector based on the cartesian coordinates x,y,z in double precision

To use it add the line #include <Vector3D.h>

See the documentation on the DisplacementVector3D page.

Definition at line 49 of file Vector3Dfwd.h.

◆ XYZVectorD

◆ XYZVectorF

3D Vector based on the cartesian coordinates x,y,z in single precision

To use it add the line #include <Vector3D.h>

See the documentation on the DisplacementVector3D page.

Definition at line 57 of file Vector3Dfwd.h.

Enumeration Type Documentation

◆ ERotation3DMatrixIndex

Enumerator
kXX 
kXY 
kXZ 
kYX 
kYY 
kYZ 
kZX 
kZY 
kZZ 

Definition at line 70 of file AxisAngle.cxx.

Function Documentation

◆ Distance() [1/8]

template<class R >
AxisAngle::Scalar ROOT::ROOT_MATH_ARCH::Distance ( const AxisAngle & r1,
const R & r2 )
inline

Distance between two rotations.

Definition at line 346 of file AxisAngle.h.

◆ Distance() [2/8]

template<class R >
EulerAngles::Scalar ROOT::ROOT_MATH_ARCH::Distance ( const EulerAngles & r1,
const R & r2 )
inline

Distance between two rotations.

Definition at line 388 of file EulerAngles.h.

◆ Distance() [3/8]

template<class R >
Quaternion::Scalar ROOT::ROOT_MATH_ARCH::Distance ( const Quaternion & r1,
const R & r2 )
inline

Distance between two rotations.

Definition at line 349 of file Quaternion.h.

◆ Distance() [4/8]

template<class R >
Rotation3D::Scalar ROOT::ROOT_MATH_ARCH::Distance ( const Rotation3D & r1,
const R & r2 )
inline

Distance between two rotations.

Definition at line 547 of file Rotation3D.h.

◆ Distance() [5/8]

template<class R >
RotationX::Scalar ROOT::ROOT_MATH_ARCH::Distance ( const RotationX & r1,
const R & r2 )
inline

Distance between two rotations.

Definition at line 237 of file RotationX.h.

◆ Distance() [6/8]

template<class R >
RotationY::Scalar ROOT::ROOT_MATH_ARCH::Distance ( const RotationY & r1,
const R & r2 )
inline

Distance between two rotations.

Definition at line 238 of file RotationY.h.

◆ Distance() [7/8]

template<class R >
RotationZ::Scalar ROOT::ROOT_MATH_ARCH::Distance ( const RotationZ & r1,
const R & r2 )
inline

Distance between two rotations.

Definition at line 238 of file RotationZ.h.

◆ Distance() [8/8]

template<class R >
RotationZYX::Scalar ROOT::ROOT_MATH_ARCH::Distance ( const RotationZYX & r1,
const R & r2 )
inline

Distance between two rotations.

Definition at line 359 of file RotationZYX.h.

◆ Eta_FromRhoZ()

template<typename Scalar >
Scalar ROOT::ROOT_MATH_ARCH::Eta_FromRhoZ ( Scalar rho,
Scalar z )
inline

Definition at line 434 of file MathHeaders.h.

◆ Eta_FromTheta()

template<typename Scalar >
Scalar ROOT::ROOT_MATH_ARCH::Eta_FromTheta ( Scalar theta,
Scalar r )
inline

Implementation of eta from -log(tan(theta/2)).

This is convenient when theta is already known (for example in a polar coorindate system)

Definition at line 465 of file MathHeaders.h.

◆ etaMax()

template<class T >
T ROOT::ROOT_MATH_ARCH::etaMax ( )
inline

Function providing the maximum possible value of pseudorapidity for a non-zero rho, in the Scalar type with the largest dynamic range.

Definition at line 55 of file etaMax.h.

◆ etaMax2()

template<class T >
T ROOT::ROOT_MATH_ARCH::etaMax2 ( )
inline

Definition at line 428 of file MathHeaders.h.

◆ etaMax_impl()

__roohost__ __roodevice__ long double ROOT::ROOT_MATH_ARCH::etaMax_impl ( )
inline

The following function could be called to provide the maximum possible value of pseudorapidity for a non-zero rho.

This is log ( max/min ) where max and min are the extrema of positive values for type long double.

Definition at line 41 of file etaMax.h.

◆ GenVector_Throw()

void ROOT::ROOT_MATH_ARCH::GenVector_Throw ( const char * s)
inline

function throwing exception, by creating internally a GenVector_exception only when needed

Definition at line 80 of file GenVector_exception.h.

◆ human_readable()

template<class char_t , class traits_t >
std::basic_ios< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::human_readable ( std::basic_ios< char_t, traits_t > & ios)
inline

Definition at line 162 of file GenVectorIO.h.

◆ machine_readable()

template<class char_t , class traits_t >
std::basic_ios< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::machine_readable ( std::basic_ios< char_t, traits_t > & ios)
inline

Definition at line 170 of file GenVectorIO.h.

◆ math_acos()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_acos ( Scalar x)
inline

Definition at line 356 of file MathHeaders.h.

◆ math_asin()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_asin ( Scalar x)
inline

Definition at line 350 of file MathHeaders.h.

◆ math_atan()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_atan ( Scalar x)
inline

Definition at line 380 of file MathHeaders.h.

◆ math_atan2()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_atan2 ( Scalar x,
Scalar y )
inline

Definition at line 374 of file MathHeaders.h.

◆ math_cos()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_cos ( Scalar x)
inline

Definition at line 344 of file MathHeaders.h.

◆ math_cosh()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_cosh ( Scalar x)
inline

Definition at line 368 of file MathHeaders.h.

◆ math_exp()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_exp ( Scalar x)
inline

Definition at line 398 of file MathHeaders.h.

◆ math_fabs()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_fabs ( Scalar x)
inline

Definition at line 416 of file MathHeaders.h.

◆ math_floor()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_floor ( Scalar x)
inline

Definition at line 392 of file MathHeaders.h.

◆ math_fmod()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_fmod ( Scalar x,
Scalar y )
inline

Definition at line 332 of file MathHeaders.h.

◆ math_log()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_log ( Scalar x)
inline

Definition at line 404 of file MathHeaders.h.

◆ math_pow()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_pow ( Scalar x,
Scalar y )
inline

Definition at line 422 of file MathHeaders.h.

◆ math_sin()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_sin ( Scalar x)
inline

Definition at line 338 of file MathHeaders.h.

◆ math_sinh()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_sinh ( Scalar x)
inline

Definition at line 362 of file MathHeaders.h.

◆ math_sqrt()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_sqrt ( Scalar x)
inline

Definition at line 386 of file MathHeaders.h.

◆ math_tan()

template<class Scalar >
Scalar ROOT::ROOT_MATH_ARCH::math_tan ( Scalar x)
inline

Definition at line 410 of file MathHeaders.h.

◆ operator*() [1/26]

template<class CoordSystem >
LorentzVector< CoordSystem > ROOT::ROOT_MATH_ARCH::operator* ( const typename LorentzVector< CoordSystem >::Scalar & a,
const LorentzVector< CoordSystem > & v )
inline

Scale of a LorentzVector with a scalar quantity a.

Parameters
ascalar quantity of type a
vLorentzVector based on any coordinate system
Returns
a new mathcoreLorentzVector q = v * a same type as v

Definition at line 780 of file LorentzVector.h.

◆ operator*() [2/26]

AxisAngle ROOT::ROOT_MATH_ARCH::operator* ( RotationX const & r1,
AxisAngle const & r2 )

Multiplication of an axial rotation by an AxisAngle.

Definition at line 221 of file AxisAngleXother.cxx.

◆ operator*() [3/26]

EulerAngles ROOT::ROOT_MATH_ARCH::operator* ( RotationX const & r1,
EulerAngles const & r2 )

Multiplication of an axial rotation by an AxisAngle.

Definition at line 121 of file EulerAngles.cxx.

◆ operator*() [4/26]

Quaternion ROOT::ROOT_MATH_ARCH::operator* ( RotationX const & r1,
Quaternion const & r2 )

Multiplication of an axial rotation by an AxisAngle.

Definition at line 56 of file QuaternionXaxial.cxx.

◆ operator*() [5/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationX const & r1,
Rotation3D const & r2 )

Multiplication of an axial rotation by a Rotation3D.

Definition at line 45 of file Rotation3DxAxial.cxx.

◆ operator*() [6/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationX const & r1,
RotationY const & r2 )

Multiplication of an axial rotation by another axial Rotation.

Definition at line 69 of file Rotation3DxAxial.cxx.

◆ operator*() [7/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationX const & r1,
RotationZ const & r2 )

Definition at line 79 of file Rotation3DxAxial.cxx.

◆ operator*() [8/26]

RotationZYX ROOT::ROOT_MATH_ARCH::operator* ( RotationX const & r1,
RotationZYX const & r2 )

Multiplication of an axial rotation by an AxisAngle.

Definition at line 104 of file RotationZYX.cxx.

◆ operator*() [9/26]

AxisAngle ROOT::ROOT_MATH_ARCH::operator* ( RotationY const & r1,
AxisAngle const & r2 )

Definition at line 226 of file AxisAngleXother.cxx.

◆ operator*() [10/26]

EulerAngles ROOT::ROOT_MATH_ARCH::operator* ( RotationY const & r1,
EulerAngles const & r2 )

Definition at line 126 of file EulerAngles.cxx.

◆ operator*() [11/26]

Quaternion ROOT::ROOT_MATH_ARCH::operator* ( RotationY const & r1,
Quaternion const & r2 )

Definition at line 61 of file QuaternionXaxial.cxx.

◆ operator*() [12/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationY const & r1,
Rotation3D const & r2 )

Definition at line 52 of file Rotation3DxAxial.cxx.

◆ operator*() [13/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationY const & r1,
RotationX const & r2 )

Definition at line 89 of file Rotation3DxAxial.cxx.

◆ operator*() [14/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationY const & r1,
RotationZ const & r2 )

Definition at line 99 of file Rotation3DxAxial.cxx.

◆ operator*() [15/26]

RotationZYX ROOT::ROOT_MATH_ARCH::operator* ( RotationY const & r1,
RotationZYX const & r2 )

Definition at line 109 of file RotationZYX.cxx.

◆ operator*() [16/26]

AxisAngle ROOT::ROOT_MATH_ARCH::operator* ( RotationZ const & r1,
AxisAngle const & r2 )

Definition at line 231 of file AxisAngleXother.cxx.

◆ operator*() [17/26]

EulerAngles ROOT::ROOT_MATH_ARCH::operator* ( RotationZ const & r1,
EulerAngles const & r2 )

Definition at line 131 of file EulerAngles.cxx.

◆ operator*() [18/26]

Quaternion ROOT::ROOT_MATH_ARCH::operator* ( RotationZ const & r1,
Quaternion const & r2 )

Definition at line 66 of file QuaternionXaxial.cxx.

◆ operator*() [19/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationZ const & r1,
Rotation3D const & r2 )

Definition at line 59 of file Rotation3DxAxial.cxx.

◆ operator*() [20/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationZ const & r1,
RotationX const & r2 )

Definition at line 109 of file Rotation3DxAxial.cxx.

◆ operator*() [21/26]

Rotation3D ROOT::ROOT_MATH_ARCH::operator* ( RotationZ const & r1,
RotationY const & r2 )

Definition at line 119 of file Rotation3DxAxial.cxx.

◆ operator*() [22/26]

RotationZYX ROOT::ROOT_MATH_ARCH::operator* ( RotationZ const & r1,
RotationZYX const & r2 )

Definition at line 114 of file RotationZYX.cxx.

◆ operator*() [23/26]

template<class CoordSystem , class U >
DisplacementVector2D< CoordSystem, U > ROOT::ROOT_MATH_ARCH::operator* ( typename DisplacementVector2D< CoordSystem, U >::Scalar a,
DisplacementVector2D< CoordSystem, U > v )
inline

Multiplication of a displacement vector by real number a*v.

Definition at line 437 of file DisplacementVector2D.h.

◆ operator*() [24/26]

template<class CoordSystem , class U >
DisplacementVector3D< CoordSystem, U > ROOT::ROOT_MATH_ARCH::operator* ( typename DisplacementVector3D< CoordSystem, U >::Scalar a,
DisplacementVector3D< CoordSystem, U > v )
inline

Multiplication of a displacement vector by real number a*v.

Definition at line 638 of file DisplacementVector3D.h.

◆ operator*() [25/26]

template<class CoordSystem , class U >
PositionVector2D< CoordSystem > ROOT::ROOT_MATH_ARCH::operator* ( typename PositionVector2D< CoordSystem, U >::Scalar a,
PositionVector2D< CoordSystem, U > v )
inline

Multiplication of a position vector by real number a*v.

Definition at line 374 of file PositionVector2D.h.

◆ operator*() [26/26]

template<class CoordSystem , class U >
PositionVector3D< CoordSystem > ROOT::ROOT_MATH_ARCH::operator* ( typename PositionVector3D< CoordSystem, U >::Scalar a,
PositionVector3D< CoordSystem, U > v )
inline

Multiplication of a position vector by real number a*v.

Definition at line 552 of file PositionVector3D.h.

◆ operator+() [1/6]

PositionVector2D< CoordSystem2, U > ROOT::ROOT_MATH_ARCH::operator+ ( DisplacementVector2D< CoordSystem1, U > const & v1,
PositionVector2D< CoordSystem2, U > p2 )
inline

Addition of a DisplacementVector2D and a PositionVector2D.

The return type is a PositionVector2D, of the same (coordinate system) type as the input PositionVector2D.

Definition at line 415 of file PositionVector2D.h.

◆ operator+() [2/6]

DisplacementVector2D< CoordSystem1, U > ROOT::ROOT_MATH_ARCH::operator+ ( DisplacementVector2D< CoordSystem1, U > v1,
const DisplacementVector2D< CoordSystem2, U > & v2 )
inline

Addition of DisplacementVector2D vectors.

The (coordinate system) type of the returned vector is defined to be identical to that of the first vector, which is passed by value

Definition at line 415 of file DisplacementVector2D.h.

◆ operator+() [3/6]

PositionVector3D< CoordSystem2, U > ROOT::ROOT_MATH_ARCH::operator+ ( DisplacementVector3D< CoordSystem1, U > const & v1,
PositionVector3D< CoordSystem2, U > p2 )
inline

Addition of a DisplacementVector3D and a PositionVector3D.

The return type is a PositionVector3D, of the same (coordinate system) type as the input PositionVector3D.

Definition at line 593 of file PositionVector3D.h.

◆ operator+() [4/6]

DisplacementVector3D< CoordSystem1, U > ROOT::ROOT_MATH_ARCH::operator+ ( DisplacementVector3D< CoordSystem1, U > v1,
const DisplacementVector3D< CoordSystem2, U > & v2 )
inline

Addition of DisplacementVector3D vectors.

The (coordinate system) type of the returned vector is defined to be identical to that of the first vector, which is passed by value

Definition at line 614 of file DisplacementVector3D.h.

◆ operator+() [5/6]

PositionVector2D< CoordSystem2, U > ROOT::ROOT_MATH_ARCH::operator+ ( PositionVector2D< CoordSystem2, U > p1,
const DisplacementVector2D< CoordSystem1, U > & v2 )
inline

Addition of a PositionVector2D and a DisplacementVector2D.

The return type is a PositionVector2D, of the same (coordinate system) type as the input PositionVector2D.

Definition at line 403 of file PositionVector2D.h.

◆ operator+() [6/6]

PositionVector3D< CoordSystem2, U > ROOT::ROOT_MATH_ARCH::operator+ ( PositionVector3D< CoordSystem2, U > p1,
const DisplacementVector3D< CoordSystem1, U > & v2 )
inline

Addition of a PositionVector3D and a DisplacementVector3D.

The return type is a PositionVector3D, of the same (coordinate system) type as the input PositionVector3D.

Definition at line 581 of file PositionVector3D.h.

◆ operator-() [1/6]

DisplacementVector2D< CoordSystem1, U > ROOT::ROOT_MATH_ARCH::operator- ( const PositionVector2D< CoordSystem1, U > & v1,
const PositionVector2D< CoordSystem2, U > & v2 )
inline

Difference between two PositionVector2D vectors.

The result is a DisplacementVector2D. The (coordinate system) type of the returned vector is defined to be identical to that of the first position vector.

Definition at line 390 of file PositionVector2D.h.

◆ operator-() [2/6]

DisplacementVector3D< CoordSystem1, U > ROOT::ROOT_MATH_ARCH::operator- ( const PositionVector3D< CoordSystem1, U > & v1,
const PositionVector3D< CoordSystem2, U > & v2 )
inline

Difference between two PositionVector3D vectors.

The result is a DisplacementVector3D. The (coordinate system) type of the returned vector is defined to be identical to that of the first position vector.

Definition at line 568 of file PositionVector3D.h.

◆ operator-() [3/6]

DisplacementVector2D< CoordSystem1, U > ROOT::ROOT_MATH_ARCH::operator- ( DisplacementVector2D< CoordSystem1, U > v1,
DisplacementVector2D< CoordSystem2, U > const & v2 )
inline

Difference between two DisplacementVector2D vectors.

The (coordinate system) type of the returned vector is defined to be identical to that of the first vector.

Definition at line 427 of file DisplacementVector2D.h.

◆ operator-() [4/6]

DisplacementVector3D< CoordSystem1, U > ROOT::ROOT_MATH_ARCH::operator- ( DisplacementVector3D< CoordSystem1, U > v1,
DisplacementVector3D< CoordSystem2, U > const & v2 )
inline

Difference between two DisplacementVector3D vectors.

The (coordinate system) type of the returned vector is defined to be identical to that of the first vector.

Definition at line 626 of file DisplacementVector3D.h.

◆ operator-() [5/6]

PositionVector2D< CoordSystem2, U > ROOT::ROOT_MATH_ARCH::operator- ( PositionVector2D< CoordSystem2, U > p1,
DisplacementVector2D< CoordSystem1, U > const & v2 )
inline

Subtraction of a DisplacementVector2D from a PositionVector2D.

The return type is a PositionVector2D, of the same (coordinate system) type as the input PositionVector2D.

Definition at line 427 of file PositionVector2D.h.

◆ operator-() [6/6]

PositionVector3D< CoordSystem2, U > ROOT::ROOT_MATH_ARCH::operator- ( PositionVector3D< CoordSystem2, U > p1,
DisplacementVector3D< CoordSystem1, U > const & v2 )
inline

Subtraction of a DisplacementVector3D from a PositionVector3D.

The return type is a PositionVector3D, of the same (coordinate system) type as the input PositionVector3D.

Definition at line 605 of file PositionVector3D.h.

◆ operator<<() [1/18]

template<class char_t , class traits_t , class T , class U >
std::basic_ostream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator<< ( std::basic_ostream< char_t, traits_t > & os,
DisplacementVector2D< T, U > const & v )
inline

Definition at line 437 of file DisplacementVector2D.h.

◆ operator<<() [2/18]

template<class char_t , class traits_t , class T , class U , typename std::enable_if< std::is_arithmetic< typename DisplacementVector3D< T, U >::Scalar >::value >::type * = nullptr>
std::basic_ostream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator<< ( std::basic_ostream< char_t, traits_t > & os,
DisplacementVector3D< T, U > const & v )

Definition at line 638 of file DisplacementVector3D.h.

◆ operator<<() [3/18]

template<class char_t , class traits_t , class Coords >
std::basic_ostream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator<< ( std::basic_ostream< char_t, traits_t > & os,
LorentzVector< Coords > const & v )
inline

Definition at line 847 of file LorentzVector.h.

◆ operator<<() [4/18]

template<class char_t , class traits_t , class T , class U >
std::basic_ostream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator<< ( std::basic_ostream< char_t, traits_t > & os,
PositionVector2D< T, U > const & v )
inline

Definition at line 427 of file PositionVector2D.h.

◆ operator<<() [5/18]

template<class char_t , class traits_t , class T , class U , typename std::enable_if< std::is_arithmetic< typename PositionVector3D< T, U >::Scalar >::value >::type * = nullptr>
std::basic_ostream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator<< ( std::basic_ostream< char_t, traits_t > & os,
PositionVector3D< T, U > const & v )

Definition at line 605 of file PositionVector3D.h.

◆ operator<<() [6/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const AxisAngle & a )

Stream Output and Input.

Definition at line 98 of file AxisAngle.cxx.

◆ operator<<() [7/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const Boost & b )

Stream Output and Input.

Definition at line 200 of file Boost.cxx.

◆ operator<<() [8/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const BoostX & b )

Stream Output and Input.

Definition at line 129 of file BoostX.cxx.

◆ operator<<() [9/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const BoostY & b )

Stream Output and Input.

Definition at line 129 of file BoostY.cxx.

◆ operator<<() [10/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const BoostZ & b )

Stream Output and Input.

Definition at line 129 of file BoostZ.cxx.

◆ operator<<() [11/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const EulerAngles & e )

Stream Output and Input.

Definition at line 139 of file EulerAngles.cxx.

◆ operator<<() [12/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const LorentzRotation & r )

Stream Output and Input.

Definition at line 297 of file LorentzRotation.cxx.

◆ operator<<() [13/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const Quaternion & q )

Stream Output and Input.

Definition at line 113 of file Quaternion.cxx.

◆ operator<<() [14/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const Rotation3D & r )

Stream Output and Input.

Definition at line 152 of file Rotation3D.cxx.

◆ operator<<() [15/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const RotationX & r )
inline

Stream Output and Input.

Definition at line 249 of file RotationX.h.

◆ operator<<() [16/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const RotationY & r )
inline

Stream Output and Input.

Definition at line 250 of file RotationY.h.

◆ operator<<() [17/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const RotationZ & r )
inline

Stream Output and Input.

Definition at line 250 of file RotationZ.h.

◆ operator<<() [18/18]

std::ostream & ROOT::ROOT_MATH_ARCH::operator<< ( std::ostream & os,
const RotationZYX & e )

Stream Output and Input.

Definition at line 163 of file RotationZYX.cxx.

◆ operator>>() [1/5]

template<class char_t , class traits_t , class T , class U >
std::basic_istream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator>> ( std::basic_istream< char_t, traits_t > & is,
DisplacementVector2D< T, U > & v )
inline

Definition at line 477 of file DisplacementVector2D.h.

◆ operator>>() [2/5]

template<class char_t , class traits_t , class T , class U >
std::basic_istream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator>> ( std::basic_istream< char_t, traits_t > & is,
DisplacementVector3D< T, U > & v )
inline

Definition at line 694 of file DisplacementVector3D.h.

◆ operator>>() [3/5]

template<class char_t , class traits_t , class Coords >
std::basic_istream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator>> ( std::basic_istream< char_t, traits_t > & is,
LorentzVector< Coords > & v )
inline

Definition at line 884 of file LorentzVector.h.

◆ operator>>() [4/5]

template<class char_t , class traits_t , class T , class U >
std::basic_istream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator>> ( std::basic_istream< char_t, traits_t > & is,
PositionVector2D< T, U > & v )
inline

Definition at line 463 of file PositionVector2D.h.

◆ operator>>() [5/5]

template<class char_t , class traits_t , class T , class U >
std::basic_istream< char_t, traits_t > & ROOT::ROOT_MATH_ARCH::operator>> ( std::basic_istream< char_t, traits_t > & is,
PositionVector3D< T, U > & v )
inline

Definition at line 659 of file PositionVector3D.h.

◆ set_close()

template<class char_t >
detail::manipulator< char_t > ROOT::ROOT_MATH_ARCH::set_close ( char_t ch)
inline

Definition at line 155 of file GenVectorIO.h.

◆ set_open()

template<class char_t >
detail::manipulator< char_t > ROOT::ROOT_MATH_ARCH::set_open ( char_t ch)
inline

Definition at line 141 of file GenVectorIO.h.

◆ set_separator()

template<class char_t >
detail::manipulator< char_t > ROOT::ROOT_MATH_ARCH::set_separator ( char_t ch)
inline

Definition at line 148 of file GenVectorIO.h.

◆ swap()

static void ROOT::ROOT_MATH_ARCH::swap ( double & a,
double & b )
inlinestatic

Definition at line 110 of file Rotation3D.cxx.

◆ Throw()

void ROOT::ROOT_MATH_ARCH::Throw ( GenVector_exception & e)
inline

throw explicitly GenVector exceptions

Definition at line 73 of file GenVector_exception.h.