Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::ROOT_MATH_ARCH::LorentzRotation Class Reference

Lorentz transformation class with the (4D) transformation represented by a 4x4 orthosymplectic matrix.

See also Boost, BoostX, BoostY and BoostZ for classes representing specialized Lorentz transformations. Also, the 3-D rotation classes can be considered to be special Lorentz transformations which do not mix space and time components.

See also
Physics Vectors

Definition at line 57 of file LorentzRotation.h.

Public Types

enum  ELorentzRotationMatrixIndex {
  kXX = 0 , kXY = 1 , kXZ = 2 , kXT = 3 ,
  kYX = 4 , kYY = 5 , kYZ = 6 , kYT = 7 ,
  kZX = 8 , kZY = 9 , kZZ = 10 , kZT = 11 ,
  kTX = 12 , kTY = 13 , kTZ = 14 , kTT = 15
}
 
typedef double Scalar
 

Public Member Functions

 LorentzRotation ()
 Default constructor (identity transformation)
 
 LorentzRotation (AxisAngle const &a)
 
 LorentzRotation (Boost const &b)
 Construct from a pure boost.
 
 LorentzRotation (BoostX const &bx)
 
 LorentzRotation (BoostY const &by)
 
 LorentzRotation (BoostZ const &bz)
 
template<class Foreign4Vector >
 LorentzRotation (const Foreign4Vector &v1, const Foreign4Vector &v2, const Foreign4Vector &v3, const Foreign4Vector &v4)
 Construct from four orthosymplectic vectors (which must have methods x(), y(), z() and t()) which will be used as the columns of the Lorentz rotation matrix.
 
template<class ForeignMatrix >
 LorentzRotation (const ForeignMatrix &m)
 Construct from a linear algebra matrix of size at least 4x4, which must support operator()(i,j) to obtain elements (0,3) thru (3,3).
 
 LorentzRotation (EulerAngles const &e)
 
template<class IT >
 LorentzRotation (IT begin, IT end)
 Construct given a pair of pointers or iterators defining the beginning and end of an array of sixteen Scalars.
 
 LorentzRotation (LorentzRotation const &r)
 Copy constructor.
 
 LorentzRotation (Quaternion const &q)
 
 LorentzRotation (Rotation3D const &r)
 Construct from a 3-D rotation (no space-time mixing)
 
 LorentzRotation (RotationX const &r)
 
 LorentzRotation (RotationY const &r)
 
 LorentzRotation (RotationZ const &r)
 
 LorentzRotation (Scalar xx, Scalar xy, Scalar xz, Scalar xt, Scalar yx, Scalar yy, Scalar yz, Scalar yt, Scalar zx, Scalar zy, Scalar zz, Scalar zt, Scalar tx, Scalar ty, Scalar tz, Scalar tt)
 Raw constructor from sixteen Scalar components (without any checking)
 
template<class Foreign4Vector >
void GetComponents (Foreign4Vector &v1, Foreign4Vector &v2, Foreign4Vector &v3, Foreign4Vector &v4) const
 Get components into four 4-vectors which will be the (orthosymplectic) columns of the rotation matrix.
 
template<class IT >
void GetComponents (IT begin) const
 Get the 16 matrix components into data specified by an iterator begin.
 
template<class IT >
void GetComponents (IT begin, IT end) const
 Get the 16 matrix components into data specified by an iterator begin and another to the end of the desired data (16 past start).
 
void GetComponents (Scalar &xx, Scalar &xy, Scalar &xz, Scalar &xt, Scalar &yx, Scalar &yy, Scalar &yz, Scalar &yt, Scalar &zx, Scalar &zy, Scalar &zz, Scalar &zt, Scalar &tx, Scalar &ty, Scalar &tz, Scalar &tt) const
 Get the sixteen components into sixteen scalars.
 
template<class ForeignMatrix >
void GetRotationMatrix (ForeignMatrix &m) const
 Get components into a linear algebra matrix of size at least 4x4, which must support operator()(i,j) for write access to elements (0,0) thru (3,3).
 
LorentzRotation Inverse () const
 Return inverse of a rotation.
 
void Invert ()
 Invert a Lorentz rotation in place.
 
bool operator!= (const LorentzRotation &rhs) const
 
template<class Foreign4Vector >
Foreign4Vector operator() (const Foreign4Vector &v) const
 Lorentz transformation operation on an arbitrary 4-vector v.
 
template<class CoordSystem >
LorentzVector< CoordSystem > operator() (const LorentzVector< CoordSystem > &v) const
 Lorentz transformation operation on a LorentzVector in any coordinate system.
 
LorentzVector< PxPyPzE4D< double > > operator() (const LorentzVector< PxPyPzE4D< double > > &v) const
 Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector.
 
template<class A4Vector >
A4Vector operator* (const A4Vector &v) const
 Overload operator * for rotation on a vector.
 
LorentzRotation operator* (const AxisAngle &a) const
 
LorentzRotation operator* (const Boost &b) const
 Multiply (combine) this Lorentz rotation by a pure Lorentz boost.
 
LorentzRotation operator* (const BoostX &b) const
 
LorentzRotation operator* (const BoostY &b) const
 
LorentzRotation operator* (const BoostZ &b) const
 
LorentzRotation operator* (const EulerAngles &e) const
 
LorentzRotation operator* (const LorentzRotation &r) const
 Multiply (combine) this Lorentz rotation by another LorentzRotation.
 
LorentzRotation operator* (const Quaternion &q) const
 
LorentzRotation operator* (const Rotation3D &r) const
 Multiply (combine) this Lorentz rotation by a 3-D Rotation.
 
LorentzRotation operator* (const RotationX &rx) const
 
LorentzRotation operator* (const RotationY &ry) const
 
LorentzRotation operator* (const RotationZ &rz) const
 
template<class R >
LorentzRotationoperator*= (const R &r)
 Post-Multiply (on right) by another LorentzRotation, Boost, or rotation : T = T*R.
 
LorentzRotationoperator= (AxisAngle const &a)
 
LorentzRotationoperator= (Boost const &b)
 Assign from a pure boost.
 
LorentzRotationoperator= (BoostX const &b)
 
LorentzRotationoperator= (BoostY const &b)
 
LorentzRotationoperator= (BoostZ const &b)
 
template<class ForeignMatrix >
LorentzRotationoperator= (const ForeignMatrix &m)
 Assign from a linear algebra matrix of size at least 4x4, which must support operator()(i,j) to obtain elements (0,3) thru (3,3).
 
LorentzRotationoperator= (EulerAngles const &e)
 
LorentzRotationoperator= (LorentzRotation const &rhs)
 Assign from another LorentzRotation.
 
LorentzRotationoperator= (Quaternion const &q)
 
LorentzRotationoperator= (Rotation3D const &r)
 Assign from a 3-D rotation.
 
LorentzRotationoperator= (RotationX const &r)
 
LorentzRotationoperator= (RotationY const &r)
 
LorentzRotationoperator= (RotationZ const &r)
 
bool operator== (const LorentzRotation &rhs) const
 Equality/inequality operators.
 
void Rectify ()
 Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.
 
template<class Foreign4Vector >
void SetComponents (const Foreign4Vector &v1, const Foreign4Vector &v2, const Foreign4Vector &v3, const Foreign4Vector &v4)
 Set components from four orthosymplectic vectors (which must have methods x(), y(), z(), and t()) which will be used as the columns of the Lorentz rotation matrix.
 
template<class IT >
void SetComponents (IT begin, IT end)
 Set the 16 matrix components given an iterator to the start of the desired data, and another to the end (16 past start).
 
void SetComponents (Scalar xx, Scalar xy, Scalar xz, Scalar xt, Scalar yx, Scalar yy, Scalar yz, Scalar yt, Scalar zx, Scalar zy, Scalar zz, Scalar zt, Scalar tx, Scalar ty, Scalar tz, Scalar tt)
 Set the components from sixteen scalars – UNCHECKED for orthosymplectic.
 
template<class ForeignMatrix >
void SetRotationMatrix (const ForeignMatrix &m)
 Set components from a linear algebra matrix of size at least 4x4, which must support operator()(i,j) to obtain elements (0,0) thru (3,3).
 

Private Attributes

Scalar fM [16]
 

#include <MathX/GenVectorX/LorentzRotation.h>

Member Typedef Documentation

◆ Scalar

Member Enumeration Documentation

◆ ELorentzRotationMatrixIndex

Enumerator
kXX 
kXY 
kXZ 
kXT 
kYX 
kYY 
kYZ 
kYT 
kZX 
kZY 
kZZ 
kZT 
kTX 
kTY 
kTZ 
kTT 

Definition at line 62 of file LorentzRotation.h.

Constructor & Destructor Documentation

◆ LorentzRotation() [1/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( )

Default constructor (identity transformation)

Definition at line 40 of file LorentzRotation.cxx.

◆ LorentzRotation() [2/17]

template<class IT >
ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( IT begin,
IT end )
inline

Construct given a pair of pointers or iterators defining the beginning and end of an array of sixteen Scalars.

Definition at line 93 of file LorentzRotation.h.

◆ LorentzRotation() [3/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( LorentzRotation const & r)
inline

Copy constructor.

Definition at line 104 of file LorentzRotation.h.

◆ LorentzRotation() [4/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( Boost const & b)
inlineexplicit

Construct from a pure boost.

Definition at line 109 of file LorentzRotation.h.

◆ LorentzRotation() [5/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( BoostX const & bx)
inlineexplicit

Definition at line 110 of file LorentzRotation.h.

◆ LorentzRotation() [6/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( BoostY const & by)
inlineexplicit

Definition at line 111 of file LorentzRotation.h.

◆ LorentzRotation() [7/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( BoostZ const & bz)
inlineexplicit

Definition at line 112 of file LorentzRotation.h.

◆ LorentzRotation() [8/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( Rotation3D const & r)
explicit

Construct from a 3-D rotation (no space-time mixing)

Definition at line 61 of file LorentzRotation.cxx.

◆ LorentzRotation() [9/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( AxisAngle const & a)
explicit

Definition at line 74 of file LorentzRotation.cxx.

◆ LorentzRotation() [10/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( EulerAngles const & e)
explicit

Definition at line 88 of file LorentzRotation.cxx.

◆ LorentzRotation() [11/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( Quaternion const & q)
explicit

Definition at line 102 of file LorentzRotation.cxx.

◆ LorentzRotation() [12/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( RotationX const & r)
explicit

Definition at line 116 of file LorentzRotation.cxx.

◆ LorentzRotation() [13/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( RotationY const & r)
explicit

Definition at line 139 of file LorentzRotation.cxx.

◆ LorentzRotation() [14/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( RotationZ const & r)
explicit

Definition at line 162 of file LorentzRotation.cxx.

◆ LorentzRotation() [15/17]

template<class ForeignMatrix >
ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( const ForeignMatrix & m)
inlineexplicit

Construct from a linear algebra matrix of size at least 4x4, which must support operator()(i,j) to obtain elements (0,3) thru (3,3).

Precondition: The matrix is assumed to be orthosymplectic. NO checking or re-adjusting is performed. Note: (0,0) refers to the XX component; (3,3) refers to the TT component.

Definition at line 133 of file LorentzRotation.h.

◆ LorentzRotation() [16/17]

template<class Foreign4Vector >
ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( const Foreign4Vector & v1,
const Foreign4Vector & v2,
const Foreign4Vector & v3,
const Foreign4Vector & v4 )
inline

Construct from four orthosymplectic vectors (which must have methods x(), y(), z() and t()) which will be used as the columns of the Lorentz rotation matrix.

The orthosymplectic conditions will be checked, and values adjusted so that the result will always be a good Lorentz rotation matrix.

Definition at line 146 of file LorentzRotation.h.

◆ LorentzRotation() [17/17]

ROOT::ROOT_MATH_ARCH::LorentzRotation::LorentzRotation ( Scalar xx,
Scalar xy,
Scalar xz,
Scalar xt,
Scalar yx,
Scalar yy,
Scalar yz,
Scalar yt,
Scalar zx,
Scalar zy,
Scalar zz,
Scalar zt,
Scalar tx,
Scalar ty,
Scalar tz,
Scalar tt )
inline

Raw constructor from sixteen Scalar components (without any checking)

Definition at line 155 of file LorentzRotation.h.

Member Function Documentation

◆ GetComponents() [1/4]

template<class Foreign4Vector >
void ROOT::ROOT_MATH_ARCH::LorentzRotation::GetComponents ( Foreign4Vector & v1,
Foreign4Vector & v2,
Foreign4Vector & v3,
Foreign4Vector & v4 ) const
inline

Get components into four 4-vectors which will be the (orthosymplectic) columns of the rotation matrix.

(The 4-vector class must have a constructor from 4 Scalars used as x, y, z, t)

Definition at line 247 of file LorentzRotation.h.

◆ GetComponents() [2/4]

template<class IT >
void ROOT::ROOT_MATH_ARCH::LorentzRotation::GetComponents ( IT begin) const
inline

Get the 16 matrix components into data specified by an iterator begin.

Definition at line 289 of file LorentzRotation.h.

◆ GetComponents() [3/4]

template<class IT >
void ROOT::ROOT_MATH_ARCH::LorentzRotation::GetComponents ( IT begin,
IT end ) const
inline

Get the 16 matrix components into data specified by an iterator begin and another to the end of the desired data (16 past start).

Definition at line 275 of file LorentzRotation.h.

◆ GetComponents() [4/4]

void ROOT::ROOT_MATH_ARCH::LorentzRotation::GetComponents ( Scalar & xx,
Scalar & xy,
Scalar & xz,
Scalar & xt,
Scalar & yx,
Scalar & yy,
Scalar & yz,
Scalar & yt,
Scalar & zx,
Scalar & zy,
Scalar & zz,
Scalar & zt,
Scalar & tx,
Scalar & ty,
Scalar & tz,
Scalar & tt ) const
inline

Get the sixteen components into sixteen scalars.

Definition at line 374 of file LorentzRotation.h.

◆ GetRotationMatrix()

template<class ForeignMatrix >
void ROOT::ROOT_MATH_ARCH::LorentzRotation::GetRotationMatrix ( ForeignMatrix & m) const
inline

Get components into a linear algebra matrix of size at least 4x4, which must support operator()(i,j) for write access to elements (0,0) thru (3,3).

Definition at line 327 of file LorentzRotation.h.

◆ Inverse()

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::Inverse ( ) const

Return inverse of a rotation.

Definition at line 267 of file LorentzRotation.cxx.

◆ Invert()

void ROOT::ROOT_MATH_ARCH::LorentzRotation::Invert ( )

Invert a Lorentz rotation in place.

Definition at line 243 of file LorentzRotation.cxx.

◆ operator!=()

bool ROOT::ROOT_MATH_ARCH::LorentzRotation::operator!= ( const LorentzRotation & rhs) const
inline

Definition at line 552 of file LorentzRotation.h.

◆ operator()() [1/3]

template<class Foreign4Vector >
Foreign4Vector ROOT::ROOT_MATH_ARCH::LorentzRotation::operator() ( const Foreign4Vector & v) const
inline

Lorentz transformation operation on an arbitrary 4-vector v.

Preconditions: v must implement methods x(), y(), z(), and t() and the arbitrary vector type must have a constructor taking (x,y,z,t)

Definition at line 431 of file LorentzRotation.h.

◆ operator()() [2/3]

template<class CoordSystem >
LorentzVector< CoordSystem > ROOT::ROOT_MATH_ARCH::LorentzRotation::operator() ( const LorentzVector< CoordSystem > & v) const
inline

Lorentz transformation operation on a LorentzVector in any coordinate system.

Definition at line 418 of file LorentzRotation.h.

◆ operator()() [3/3]

LorentzVector< PxPyPzE4D< double > > ROOT::ROOT_MATH_ARCH::LorentzRotation::operator() ( const LorentzVector< PxPyPzE4D< double > > & v) const
inline

Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector.

Definition at line 402 of file LorentzRotation.h.

◆ operator*() [1/13]

template<class A4Vector >
A4Vector ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const A4Vector & v) const
inline

Overload operator * for rotation on a vector.

Definition at line 442 of file LorentzRotation.h.

◆ operator*() [2/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const AxisAngle & a) const
inline

Definition at line 499 of file LorentzRotation.h.

◆ operator*() [3/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const Boost & b) const
inline

Multiply (combine) this Lorentz rotation by a pure Lorentz boost.

Definition at line 470 of file LorentzRotation.h.

◆ operator*() [4/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const BoostX & b) const
inline

Definition at line 475 of file LorentzRotation.h.

◆ operator*() [5/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const BoostY & b) const
inline

Definition at line 480 of file LorentzRotation.h.

◆ operator*() [6/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const BoostZ & b) const
inline

Definition at line 485 of file LorentzRotation.h.

◆ operator*() [7/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const EulerAngles & e) const
inline

Definition at line 504 of file LorentzRotation.h.

◆ operator*() [8/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const LorentzRotation & r) const

Multiply (combine) this Lorentz rotation by another LorentzRotation.

Definition at line 274 of file LorentzRotation.cxx.

◆ operator*() [9/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const Quaternion & q) const
inline

Definition at line 509 of file LorentzRotation.h.

◆ operator*() [10/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const Rotation3D & r) const
inline

Multiply (combine) this Lorentz rotation by a 3-D Rotation.

Definition at line 494 of file LorentzRotation.h.

◆ operator*() [11/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const RotationX & rx) const
inline

Definition at line 514 of file LorentzRotation.h.

◆ operator*() [12/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const RotationY & ry) const
inline

Definition at line 519 of file LorentzRotation.h.

◆ operator*() [13/13]

LorentzRotation ROOT::ROOT_MATH_ARCH::LorentzRotation::operator* ( const RotationZ & rz) const
inline

Definition at line 524 of file LorentzRotation.h.

◆ operator*=()

template<class R >
LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator*= ( const R & r)
inline

Post-Multiply (on right) by another LorentzRotation, Boost, or rotation : T = T*R.

Definition at line 536 of file LorentzRotation.h.

◆ operator=() [1/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( AxisAngle const & a)
inline

Definition at line 183 of file LorentzRotation.h.

◆ operator=() [2/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( Boost const & b)
inline

Assign from a pure boost.

Definition at line 174 of file LorentzRotation.h.

◆ operator=() [3/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( BoostX const & b)
inline

Definition at line 175 of file LorentzRotation.h.

◆ operator=() [4/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( BoostY const & b)
inline

Definition at line 176 of file LorentzRotation.h.

◆ operator=() [5/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( BoostZ const & b)
inline

Definition at line 177 of file LorentzRotation.h.

◆ operator=() [6/13]

template<class ForeignMatrix >
LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( const ForeignMatrix & m)
inline

Assign from a linear algebra matrix of size at least 4x4, which must support operator()(i,j) to obtain elements (0,3) thru (3,3).

Precondition: The matrix is assumed to be orthosymplectic. NO checking or re-adjusting is performed.

Definition at line 197 of file LorentzRotation.h.

◆ operator=() [7/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( EulerAngles const & e)
inline

Definition at line 184 of file LorentzRotation.h.

◆ operator=() [8/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( LorentzRotation const & rhs)
inline

Assign from another LorentzRotation.

Definition at line 164 of file LorentzRotation.h.

◆ operator=() [9/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( Quaternion const & q)
inline

Definition at line 185 of file LorentzRotation.h.

◆ operator=() [10/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( Rotation3D const & r)
inline

Assign from a 3-D rotation.

Definition at line 182 of file LorentzRotation.h.

◆ operator=() [11/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( RotationX const & r)
inline

Definition at line 188 of file LorentzRotation.h.

◆ operator=() [12/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( RotationY const & r)
inline

Definition at line 187 of file LorentzRotation.h.

◆ operator=() [13/13]

LorentzRotation & ROOT::ROOT_MATH_ARCH::LorentzRotation::operator= ( RotationZ const & r)
inline

Definition at line 186 of file LorentzRotation.h.

◆ operator==()

bool ROOT::ROOT_MATH_ARCH::LorentzRotation::operator== ( const LorentzRotation & rhs) const
inline

Equality/inequality operators.

Definition at line 544 of file LorentzRotation.h.

◆ Rectify()

void ROOT::ROOT_MATH_ARCH::LorentzRotation::Rectify ( )

Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.

Definition at line 185 of file LorentzRotation.cxx.

◆ SetComponents() [1/3]

template<class Foreign4Vector >
void ROOT::ROOT_MATH_ARCH::LorentzRotation::SetComponents ( const Foreign4Vector & v1,
const Foreign4Vector & v2,
const Foreign4Vector & v3,
const Foreign4Vector & v4 )
inline

Set components from four orthosymplectic vectors (which must have methods x(), y(), z(), and t()) which will be used as the columns of the Lorentz rotation matrix.

The values will be adjusted so that the result will always be a good Lorentz rotation matrix.

Definition at line 220 of file LorentzRotation.h.

◆ SetComponents() [2/3]

template<class IT >
void ROOT::ROOT_MATH_ARCH::LorentzRotation::SetComponents ( IT begin,
IT end )
inline

Set the 16 matrix components given an iterator to the start of the desired data, and another to the end (16 past start).

Definition at line 260 of file LorentzRotation.h.

◆ SetComponents() [3/3]

void ROOT::ROOT_MATH_ARCH::LorentzRotation::SetComponents ( Scalar xx,
Scalar xy,
Scalar xz,
Scalar xt,
Scalar yx,
Scalar yy,
Scalar yz,
Scalar yt,
Scalar zx,
Scalar zy,
Scalar zz,
Scalar zt,
Scalar tx,
Scalar ty,
Scalar tz,
Scalar tt )
inline

Set the components from sixteen scalars – UNCHECKED for orthosymplectic.

Definition at line 350 of file LorentzRotation.h.

◆ SetRotationMatrix()

template<class ForeignMatrix >
void ROOT::ROOT_MATH_ARCH::LorentzRotation::SetRotationMatrix ( const ForeignMatrix & m)
inline

Set components from a linear algebra matrix of size at least 4x4, which must support operator()(i,j) to obtain elements (0,0) thru (3,3).

Precondition: The matrix is assumed to be orthosymplectic. NO checking or re-adjusting is performed.

Definition at line 301 of file LorentzRotation.h.

Member Data Documentation

◆ fM

Scalar ROOT::ROOT_MATH_ARCH::LorentzRotation::fM[16]
private

Definition at line 555 of file LorentzRotation.h.

  • math/experimental/genvectorx/inc/MathX/GenVectorX/LorentzRotation.h
  • math/experimental/genvectorx/src/LorentzRotation.cxx