 ROOT   Reference Guide ROOT::Math::LorentzVector< CoordSystem > Class Template Reference
template<class CoordSystem>
class ROOT::Math::LorentzVector< CoordSystem >
    Class describing a generic LorentzVector in the 4D space-time,
using the specified coordinate system for the spatial vector part.
The metric used for the LorentzVector is (-,-,-,+).
In the case of LorentzVector we don't distinguish the concepts
of points and displacement vectors as in the 3D case,
since the main use case for 4D Vectors is to describe the kinematics of
relativistic particles. A LorentzVector behaves like a
DisplacementVector in 4D.  The Minkowski components could be viewed as
v and t, or for kinematic 4-vectors, as p and E.

ROOT provides specialisations and aliases to them of the ROOT::Math::LorentzVector template:
- ROOT::Math::PtEtaPhiMVector based on pt (rho),eta,phi and M (t) coordinates in double precision
- ROOT::Math::PtEtaPhiEVector based on pt (rho),eta,phi and E (t) coordinates in double precision
- ROOT::Math::PxPyPzMVector based on px,py,pz and M (mass) coordinates in double precision
- ROOT::Math::PxPyPzEVector based on px,py,pz and E (energy) coordinates in double precision
- ROOT::Math::XYZTVector based on x,y,z,t coordinates (cartesian) in double precision (same as PxPyPzEVector)
- ROOT::Math::XYZTVectorF based on x,y,z,t coordinates (cartesian) in float precision (same as PxPyPzEVector but float)


More details about the GenVector package can be found here.

 @ingroup GenVector


Definition at line 59 of file LorentzVector.h.

## Public Types

typedef DisplacementVector3D< Cartesian3D< Scalar > > BetaVector

typedef CoordSystem CoordinateType

typedef CoordSystem::Scalar Scalar

## Public Member Functions

LorentzVector ()
default constructor of an empty vector (Px = Py = Pz = E = 0 ) More...

template<class ForeignLorentzVector >
LorentzVector (const ForeignLorentzVector &v)
Construct from a foreign 4D vector type, for example, HepLorentzVector Precondition: v must implement methods x(), y(), z(), and t() More...

template<class Coords >
LorentzVector (const LorentzVector< Coords > &v)
constructor from a LorentzVector expressed in different coordinates, or using a different Scalar type More...

LorentzVector (const Scalar &a, const Scalar &b, const Scalar &c, const Scalar &d)
generic constructors from four scalar values. More...

Scalar Beta () const
Return beta scalar value. More...

BetaVector BoostToCM () const
The beta vector for the boost that would bring this vector into its center of mass frame (zero momentum) More...

template<class Other4Vector >
BetaVector BoostToCM (const Other4Vector &v) const
The beta vector for the boost that would bring this vector into its center of mass frame (zero momentum) More...

Scalar ColinearRapidity () const
Rapidity in the direction of travel: atanh (|P|/E)=.5 log[(E+P)/(E-P)]. More...

const CoordSystem & Coordinates () const
Retrieve a const reference to the coordinates object. More...

template<class OtherLorentzVector >
Scalar Dot (const OtherLorentzVector &q) const
scalar (Dot) product of two LorentzVector vectors (metric is -,-,-,+) Enable the product using any other LorentzVector implementing the x(), y() , y() and t() member functions More...

Scalar E () const
return 4-th component (time, or energy for a 4-momentum vector) More...

Scalar e () const

Scalar energy () const

Scalar Et () const
return the transverse energy More...

Scalar Et2 () const
return the transverse energy squared More...

Scalar Eta () const
pseudorapidity More...

Scalar eta () const

Scalar Gamma () const
Return Gamma scalar value. More...

template<class IT >
void GetCoordinates (IT begin) const
get internal data into 4 Scalars at *begin More...

template<class IT >
void GetCoordinates (IT begin, IT end) const
get internal data into 4 Scalars at *begin to *end More...

void GetCoordinates (Scalar &a, Scalar &b, Scalar &c, Scalar &d) const
get internal data into 4 Scalar numbers More...

void GetCoordinates (Scalar dest[]) const
get internal data into an array of 4 Scalar numbers More...

bool isLightlike (Scalar tolerance=100 *std::numeric_limits< Scalar >::epsilon()) const
Determine if momentum-energy can represent a massless particle. More...

bool isSpacelike () const
Determine if momentum-energy is spacelike, and represents a tachyon. More...

bool isTimelike () const
Determine if momentum-energy can represent a physical massive particle. More...

Scalar M () const
return magnitude (mass) using the (-,-,-,+) metric. More...

Scalar M2 () const
return magnitude (mass) squared M2 = T**2 - X**2 - Y**2 - Z**2 (we use -,-,-,+ metric) More...

Scalar mag () const

Scalar mag2 () const

Scalar mass () const

Scalar mass2 () const

Scalar Mt () const
return the transverse mass More...

Scalar mt () const

Scalar Mt2 () const
return the transverse mass squared More...

Scalar mt2 () const

bool operator!= (const LorentzVector &rhs) const

LorentzVector operator* (const Scalar &a) const
product of a LorentzVector by a scalar quantity More...

LorentzVectoroperator*= (Scalar a)
multiplication by a scalar quantity v *= a More...

LorentzVector operator+ () const

template<class OtherLorentzVector >
LorentzVector operator+ (const OtherLorentzVector &v2) const
addition of two LorentzVectors (v3 = v1 + v2) Enable the addition with any other LorentzVector More...

template<class OtherLorentzVector >
LorentzVectoroperator+= (const OtherLorentzVector &q)
Self addition with another Vector ( v+= q ) Enable the addition with any other LorentzVector. More...

LorentzVector operator- () const
Negative of a LorentzVector (q = - v ) More...

template<class OtherLorentzVector >
LorentzVector operator- (const OtherLorentzVector &v2) const
subtraction of two LorentzVectors (v3 = v1 - v2) Enable the subtraction of any other LorentzVector More...

template<class OtherLorentzVector >
LorentzVectoroperator-= (const OtherLorentzVector &q)
Self subtraction of another Vector from this ( v-= q ) Enable the addition with any other LorentzVector. More...

LorentzVector< CoordSystem > operator/ (const Scalar &a) const
Divide a LorentzVector by a scalar quantity. More...

LorentzVectoroperator/= (Scalar a)
division by a scalar quantity v /= a More...

template<class ForeignLorentzVector >
LorentzVectoroperator= (const ForeignLorentzVector &v)
assignment from any other Lorentz vector implementing x(), y(), z() and t() More...

template<class OtherCoords >
LorentzVectoroperator= (const LorentzVector< OtherCoords > &v)
Assignment operator from a lorentz vector of arbitrary type. More...

bool operator== (const LorentzVector &rhs) const
Exact equality. More...

Scalar P () const

Scalar P2 () const
return the square of the spatial (3D) magnitude ( X**2 + Y**2 + Z**2 ) More...

Scalar Perp2 () const
return the square of the transverse spatial component ( X**2 + Y**2 ) More...

Scalar perp2 () const

Scalar Phi () const
azimuthal Angle More...

Scalar phi () const

Scalar Pt () const
return the transverse spatial component sqrt ( X**2 + Y**2 ) More...

Scalar pt () const

Scalar Px () const
spatial X component More...

Scalar px () const

Scalar Py () const
spatial Y component More...

Scalar py () const

Scalar Pz () const
spatial Z component More...

Scalar pz () const

Scalar R () const
return the spatial (3D) magnitude ( sqrt(X**2 + Y**2 + Z**2) ) More...

Scalar r () const

Scalar Rapidity () const
Rapidity relative to the Z axis: .5 log [(E+Pz)/(E-Pz)]. More...

Scalar Rho () const

Scalar rho () const

LorentzVector< CoordSystem > & SetCoordinates (const Scalar src[])
Set internal data based on an array of 4 Scalar numbers. More...

template<class IT >
LorentzVector< CoordSystem > & SetCoordinates (IT begin, IT end)
Set internal data based on 4 Scalars at *begin to *end. More...

LorentzVector< CoordSystem > & SetCoordinates (Scalar a, Scalar b, Scalar c, Scalar d)
Set internal data based on 4 Scalar numbers. More...

LorentzVector< CoordSystem > & SetE (Scalar a)
Methods setting a Single-component Work only if the component is one of which the vector is represented. More...

LorentzVector< CoordSystem > & SetEta (Scalar a)

LorentzVector< CoordSystem > & SetM (Scalar a)

LorentzVector< CoordSystem > & SetPhi (Scalar a)

LorentzVector< CoordSystem > & SetPt (Scalar a)

LorentzVector< CoordSystem > & SetPx (Scalar a)

LorentzVector< CoordSystem > & SetPxPyPzE (Scalar xx, Scalar yy, Scalar zz, Scalar ee)

LorentzVector< CoordSystem > & SetPy (Scalar a)

LorentzVector< CoordSystem > & SetPz (Scalar a)

LorentzVector< CoordSystem > & SetXYZT (Scalar xx, Scalar yy, Scalar zz, Scalar tt)
set the values of the vector from the cartesian components (x,y,z,t) (if the vector is held in another coordinates, like (Pt,eta,phi,m) then (x, y, z, t) are converted to that form) More...

Scalar T () const

Scalar t () const

Scalar Theta () const
polar Angle More...

Scalar theta () const

::ROOT::Math::DisplacementVector3D< Cartesian3D< Scalar > > Vect () const
get the spatial components of the Vector in a DisplacementVector based on Cartesian Coordinates More...

Scalar X () const

Scalar x () const

Scalar Y () const

Scalar y () const

Scalar Z () const

Scalar z () const

## Private Attributes

CoordSystem fCoordinates

#include <Math/GenVector/LorentzVector.h>

## ◆ BetaVector

template<class CoordSystem >
 typedef DisplacementVector3D< Cartesian3D > ROOT::Math::LorentzVector< CoordSystem >::BetaVector

Definition at line 531 of file LorentzVector.h.

## ◆ CoordinateType

template<class CoordSystem >
 typedef CoordSystem ROOT::Math::LorentzVector< CoordSystem >::CoordinateType

Definition at line 66 of file LorentzVector.h.

## ◆ Scalar

template<class CoordSystem >
 typedef CoordSystem::Scalar ROOT::Math::LorentzVector< CoordSystem >::Scalar

Definition at line 65 of file LorentzVector.h.

## ◆ LorentzVector() [1/4]

template<class CoordSystem >
 ROOT::Math::LorentzVector< CoordSystem >::LorentzVector ( )
inline

default constructor of an empty vector (Px = Py = Pz = E = 0 )

Definition at line 71 of file LorentzVector.h.

## ◆ LorentzVector() [2/4]

template<class CoordSystem >
 ROOT::Math::LorentzVector< CoordSystem >::LorentzVector ( const Scalar & a, const Scalar & b, const Scalar & c, const Scalar & d )
inline

generic constructors from four scalar values.

The association between values and coordinate depends on the coordinate system. For PxPyPzE4D,

Parameters
 a scalar value (Px) b scalar value (Py) c scalar value (Pz) d scalar value (E)

Definition at line 82 of file LorentzVector.h.

## ◆ LorentzVector() [3/4]

template<class CoordSystem >
template<class Coords >
 ROOT::Math::LorentzVector< CoordSystem >::LorentzVector ( const LorentzVector< Coords > & v )
inlineexplicit

constructor from a LorentzVector expressed in different coordinates, or using a different Scalar type

Definition at line 93 of file LorentzVector.h.

## ◆ LorentzVector() [4/4]

template<class CoordSystem >
template<class ForeignLorentzVector >
 ROOT::Math::LorentzVector< CoordSystem >::LorentzVector ( const ForeignLorentzVector< CoordSystem > & v )
inlineexplicit

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

Definition at line 101 of file LorentzVector.h.

## ◆ Beta()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Beta ( ) const
inline

Return beta scalar value.

Definition at line 581 of file LorentzVector.h.

## ◆ BoostToCM() [1/2]

template<class CoordSystem >
 BetaVector ROOT::Math::LorentzVector< CoordSystem >::BoostToCM ( ) const
inline

The beta vector for the boost that would bring this vector into its center of mass frame (zero momentum)

Definition at line 537 of file LorentzVector.h.

## ◆ BoostToCM() [2/2]

template<class CoordSystem >
template<class Other4Vector >
 BetaVector ROOT::Math::LorentzVector< CoordSystem >::BoostToCM ( const Other4Vector & v ) const
inline

The beta vector for the boost that would bring this vector into its center of mass frame (zero momentum)

Definition at line 559 of file LorentzVector.h.

## ◆ ColinearRapidity()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::ColinearRapidity ( ) const
inline

Rapidity in the direction of travel: atanh (|P|/E)=.5 log[(E+P)/(E-P)].

Definition at line 499 of file LorentzVector.h.

## ◆ Coordinates()

template<class CoordSystem >
 const CoordSystem& ROOT::Math::LorentzVector< CoordSystem >::Coordinates ( ) const
inline

Retrieve a const reference to the coordinates object.

Definition at line 162 of file LorentzVector.h.

## ◆ Dot()

template<class CoordSystem >
template<class OtherLorentzVector >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Dot ( const OtherLorentzVector< CoordSystem > & q ) const
inline

scalar (Dot) product of two LorentzVector vectors (metric is -,-,-,+) Enable the product using any other LorentzVector implementing the x(), y() , y() and t() member functions

Parameters
 q any LorentzVector implementing the x(), y() , z() and t() member functions
Returns
the result of v.q of type according to the base scalar type of v

Definition at line 371 of file LorentzVector.h.

## ◆ E()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::E ( ) const
inline

return 4-th component (time, or energy for a 4-momentum vector)

Definition at line 278 of file LorentzVector.h.

## ◆ e()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::e ( ) const
inline

Definition at line 630 of file LorentzVector.h.

## ◆ energy()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::energy ( ) const
inline

Definition at line 645 of file LorentzVector.h.

## ◆ Et()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Et ( ) const
inline

return the transverse energy

$e_t = \sqrt{ \frac{E^2 p_{\perp}^2 }{ |p|^2 } } X sign(E)$

Definition at line 333 of file LorentzVector.h.

## ◆ Et2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Et2 ( ) const
inline

return the transverse energy squared

$e_t = \frac{E^2 p_{\perp}^2 }{ |p|^2 }$

Definition at line 327 of file LorentzVector.h.

## ◆ Eta()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Eta ( ) const
inline

pseudorapidity

$\eta = - \ln { \tan { \frac { \theta} {2} } }$

Definition at line 349 of file LorentzVector.h.

## ◆ eta()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::eta ( ) const
inline

Definition at line 635 of file LorentzVector.h.

## ◆ Gamma()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Gamma ( ) const
inline

Return Gamma scalar value.

Definition at line 599 of file LorentzVector.h.

## ◆ GetCoordinates() [1/4]

template<class CoordSystem >
template<class IT >
 void ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates ( IT begin ) const
inline

get internal data into 4 Scalars at *begin

Definition at line 221 of file LorentzVector.h.

## ◆ GetCoordinates() [2/4]

template<class CoordSystem >
template<class IT >
 void ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates ( IT begin, IT end ) const
inline

get internal data into 4 Scalars at *begin to *end

Definition at line 210 of file LorentzVector.h.

## ◆ GetCoordinates() [3/4]

template<class CoordSystem >
 void ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates ( Scalar & a, Scalar & b, Scalar & c, Scalar & d ) const
inline

get internal data into 4 Scalar numbers

Definition at line 197 of file LorentzVector.h.

## ◆ GetCoordinates() [4/4]

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

get internal data into an array of 4 Scalar numbers

Definition at line 203 of file LorentzVector.h.

## ◆ isLightlike()

template<class CoordSystem >
 bool ROOT::Math::LorentzVector< CoordSystem >::isLightlike ( Scalar tolerance = 100*std::numeric_limits::epsilon() ) const
inline

Determine if momentum-energy can represent a massless particle.

Definition at line 517 of file LorentzVector.h.

## ◆ isSpacelike()

template<class CoordSystem >
 bool ROOT::Math::LorentzVector< CoordSystem >::isSpacelike ( ) const
inline

Determine if momentum-energy is spacelike, and represents a tachyon.

Definition at line 527 of file LorentzVector.h.

## ◆ isTimelike()

template<class CoordSystem >
 bool ROOT::Math::LorentzVector< CoordSystem >::isTimelike ( ) const
inline

Determine if momentum-energy can represent a physical massive particle.

Definition at line 510 of file LorentzVector.h.

## ◆ M()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::M ( ) const
inline

return magnitude (mass) using the (-,-,-,+) metric.

If M2 is negative (space-like vector) a GenVector_exception is suggested and if continuing, - sqrt( -M2) is returned

Definition at line 290 of file LorentzVector.h.

## ◆ M2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::M2 ( ) const
inline

return magnitude (mass) squared M2 = T**2 - X**2 - Y**2 - Z**2 (we use -,-,-,+ metric)

Definition at line 284 of file LorentzVector.h.

## ◆ mag()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::mag ( ) const
inline

Definition at line 639 of file LorentzVector.h.

## ◆ mag2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::mag2 ( ) const
inline

Definition at line 638 of file LorentzVector.h.

## ◆ mass()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::mass ( ) const
inline

Definition at line 646 of file LorentzVector.h.

## ◆ mass2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::mass2 ( ) const
inline

Definition at line 647 of file LorentzVector.h.

## ◆ Mt()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Mt ( ) const
inline

return the transverse mass

$\sqrt{ m_t^2 = E^2 - p{_z}^2} X sign(E^ - p{_z}^2)$

Definition at line 321 of file LorentzVector.h.

## ◆ mt()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::mt ( ) const
inline

Definition at line 640 of file LorentzVector.h.

## ◆ Mt2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Mt2 ( ) const
inline

return the transverse mass squared

$m_t^2 = E^2 - p{_z}^2$

Definition at line 315 of file LorentzVector.h.

## ◆ mt2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::mt2 ( ) const
inline

Definition at line 641 of file LorentzVector.h.

## ◆ operator!=()

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

Definition at line 252 of file LorentzVector.h.

## ◆ operator*()

template<class CoordSystem >
 LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator* ( const Scalar & a ) const
inline

product of a LorentzVector by a scalar quantity

Parameters
 a scalar quantity of type a
Returns
a new mathcoreLorentzVector q = v * a same type as v

Definition at line 452 of file LorentzVector.h.

## ◆ operator*=()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator*= ( Scalar a )
inline

multiplication by a scalar quantity v *= a

Definition at line 434 of file LorentzVector.h.

## ◆ operator+() [1/2]

template<class CoordSystem >
 LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator+ ( ) const
inline

Definition at line 478 of file LorentzVector.h.

## ◆ operator+() [2/2]

template<class CoordSystem >
template<class OtherLorentzVector >
 LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator+ ( const OtherLorentzVector< CoordSystem > & v2 ) const
inline

addition of two LorentzVectors (v3 = v1 + v2) Enable the addition with any other LorentzVector

Parameters
 v2 any LorentzVector implementing the x(), y() , z() and t() member functions
Returns
a new LorentzVector of the same type as v1

Definition at line 408 of file LorentzVector.h.

## ◆ operator+=()

template<class CoordSystem >
template<class OtherLorentzVector >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator+= ( const OtherLorentzVector< CoordSystem > & q )
inline

Self addition with another Vector ( v+= q ) Enable the addition with any other LorentzVector.

Parameters
 q any LorentzVector implementing the x(), y() , z() and t() member functions

Definition at line 382 of file LorentzVector.h.

## ◆ operator-() [1/2]

template<class CoordSystem >
 LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator- ( ) const
inline

Negative of a LorentzVector (q = - v )

Returns
a new LorentzVector with opposite direction and time

Definition at line 473 of file LorentzVector.h.

## ◆ operator-() [2/2]

template<class CoordSystem >
template<class OtherLorentzVector >
 LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator- ( const OtherLorentzVector< CoordSystem > & v2 ) const
inline

subtraction of two LorentzVectors (v3 = v1 - v2) Enable the subtraction of any other LorentzVector

Parameters
 v2 any LorentzVector implementing the x(), y() , z() and t() member functions
Returns
a new LorentzVector of the same type as v1

Definition at line 423 of file LorentzVector.h.

## ◆ operator-=()

template<class CoordSystem >
template<class OtherLorentzVector >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator-= ( const OtherLorentzVector< CoordSystem > & q )
inline

Self subtraction of another Vector from this ( v-= q ) Enable the addition with any other LorentzVector.

Parameters
 q any LorentzVector implementing the x(), y() , z() and t() member functions

Definition at line 395 of file LorentzVector.h.

## ◆ operator/()

template<class CoordSystem >
 LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator/ ( const Scalar & a ) const
inline

Divide a LorentzVector by a scalar quantity.

Parameters
 a scalar quantity of type a
Returns
a new mathcoreLorentzVector q = v / a same type as v

Definition at line 463 of file LorentzVector.h.

## ◆ operator/=()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator/= ( Scalar a )
inline

division by a scalar quantity v /= a

Definition at line 442 of file LorentzVector.h.

## ◆ operator=() [1/2]

template<class CoordSystem >
template<class ForeignLorentzVector >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator= ( const ForeignLorentzVector< CoordSystem > & v )
inline

assignment from any other Lorentz vector implementing x(), y(), z() and t()

Definition at line 136 of file LorentzVector.h.

## ◆ operator=() [2/2]

template<class CoordSystem >
template<class OtherCoords >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator= ( const LorentzVector< OtherCoords > & v )
inline

Assignment operator from a lorentz vector of arbitrary type.

Definition at line 126 of file LorentzVector.h.

## ◆ operator==()

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

Exact equality.

Definition at line 249 of file LorentzVector.h.

## ◆ P()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::P ( ) const
inline

Definition at line 295 of file LorentzVector.h.

## ◆ P2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::P2 ( ) const
inline

return the square of the spatial (3D) magnitude ( X**2 + Y**2 + Z**2 )

Definition at line 299 of file LorentzVector.h.

## ◆ Perp2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Perp2 ( ) const
inline

return the square of the transverse spatial component ( X**2 + Y**2 )

Definition at line 303 of file LorentzVector.h.

## ◆ perp2()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::perp2 ( ) const
inline

Definition at line 637 of file LorentzVector.h.

## ◆ Phi()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Phi ( ) const
inline

azimuthal Angle

Definition at line 338 of file LorentzVector.h.

## ◆ phi()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::phi ( ) const
inline

Definition at line 633 of file LorentzVector.h.

## ◆ Pt()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Pt ( ) const
inline

return the transverse spatial component sqrt ( X**2 + Y**2 )

Definition at line 308 of file LorentzVector.h.

## ◆ pt()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::pt ( ) const
inline

Definition at line 636 of file LorentzVector.h.

## ◆ Px()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Px ( ) const
inline

spatial X component

Definition at line 263 of file LorentzVector.h.

## ◆ px()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::px ( ) const
inline

Definition at line 627 of file LorentzVector.h.

## ◆ Py()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Py ( ) const
inline

spatial Y component

Definition at line 268 of file LorentzVector.h.

## ◆ py()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::py ( ) const
inline

Definition at line 628 of file LorentzVector.h.

## ◆ Pz()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Pz ( ) const
inline

spatial Z component

Definition at line 273 of file LorentzVector.h.

## ◆ pz()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::pz ( ) const
inline

Definition at line 629 of file LorentzVector.h.

## ◆ R()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::R ( ) const
inline

return the spatial (3D) magnitude ( sqrt(X**2 + Y**2 + Z**2) )

Definition at line 294 of file LorentzVector.h.

## ◆ r()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::r ( ) const
inline

Definition at line 631 of file LorentzVector.h.

## ◆ Rapidity()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Rapidity ( ) const
inline

Rapidity relative to the Z axis: .5 log [(E+Pz)/(E-Pz)].

Definition at line 487 of file LorentzVector.h.

## ◆ Rho()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Rho ( ) const
inline

Definition at line 309 of file LorentzVector.h.

## ◆ rho()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::rho ( ) const
inline

Definition at line 634 of file LorentzVector.h.

## ◆ SetCoordinates() [1/3]

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetCoordinates ( const Scalar src[] )
inline

Set internal data based on an array of 4 Scalar numbers.

Definition at line 169 of file LorentzVector.h.

## ◆ SetCoordinates() [2/3]

template<class CoordSystem >
template<class IT >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetCoordinates ( IT begin, IT end )
inline

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

Definition at line 186 of file LorentzVector.h.

## ◆ SetCoordinates() [3/3]

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetCoordinates ( Scalar a, Scalar b, Scalar c, Scalar d )
inline

Set internal data based on 4 Scalar numbers.

Definition at line 177 of file LorentzVector.h.

## ◆ SetE()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetE ( Scalar a )
inline

Methods setting a Single-component Work only if the component is one of which the vector is represented.

For example SetE will work for a PxPyPzE Vector but not for a PxPyPzM Vector.

Definition at line 655 of file LorentzVector.h.

## ◆ SetEta()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetEta ( Scalar a )
inline

Definition at line 656 of file LorentzVector.h.

## ◆ SetM()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetM ( Scalar a )
inline

Definition at line 657 of file LorentzVector.h.

## ◆ SetPhi()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetPhi ( Scalar a )
inline

Definition at line 658 of file LorentzVector.h.

## ◆ SetPt()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetPt ( Scalar a )
inline

Definition at line 659 of file LorentzVector.h.

## ◆ SetPx()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetPx ( Scalar a )
inline

Definition at line 660 of file LorentzVector.h.

## ◆ SetPxPyPzE()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetPxPyPzE ( Scalar xx, Scalar yy, Scalar zz, Scalar ee )
inline

Definition at line 239 of file LorentzVector.h.

## ◆ SetPy()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetPy ( Scalar a )
inline

Definition at line 661 of file LorentzVector.h.

## ◆ SetPz()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetPz ( Scalar a )
inline

Definition at line 662 of file LorentzVector.h.

## ◆ SetXYZT()

template<class CoordSystem >
 LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::SetXYZT ( Scalar xx, Scalar yy, Scalar zz, Scalar tt )
inline

set the values of the vector from the cartesian components (x,y,z,t) (if the vector is held in another coordinates, like (Pt,eta,phi,m) then (x, y, z, t) are converted to that form)

Definition at line 235 of file LorentzVector.h.

## ◆ T()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::T ( ) const
inline

Definition at line 279 of file LorentzVector.h.

## ◆ t()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::t ( ) const
inline

Definition at line 626 of file LorentzVector.h.

## ◆ Theta()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Theta ( ) const
inline

polar Angle

Definition at line 343 of file LorentzVector.h.

## ◆ theta()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::theta ( ) const
inline

Definition at line 632 of file LorentzVector.h.

## ◆ Vect()

template<class CoordSystem >
 ::ROOT::Math::DisplacementVector3D > ROOT::Math::LorentzVector< CoordSystem >::Vect ( ) const
inline

get the spatial components of the Vector in a DisplacementVector based on Cartesian Coordinates

Definition at line 355 of file LorentzVector.h.

## ◆ X()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::X ( ) const
inline

Definition at line 264 of file LorentzVector.h.

## ◆ x()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::x ( ) const
inline

Definition at line 623 of file LorentzVector.h.

## ◆ Y()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Y ( ) const
inline

Definition at line 269 of file LorentzVector.h.

## ◆ y()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::y ( ) const
inline

Definition at line 624 of file LorentzVector.h.

## ◆ Z()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::Z ( ) const
inline

Definition at line 274 of file LorentzVector.h.

## ◆ z()

template<class CoordSystem >
 Scalar ROOT::Math::LorentzVector< CoordSystem >::z ( ) const
inline

Definition at line 625 of file LorentzVector.h.

## ◆ fCoordinates

template<class CoordSystem >
 CoordSystem ROOT::Math::LorentzVector< CoordSystem >::fCoordinates
private

Definition at line 666 of file LorentzVector.h.

Libraries for ROOT::Math::LorentzVector< CoordSystem >: [legend]

The documentation for this class was generated from the following file: