ROOT  6.06/09
Reference Guide
Public Types | Public Member Functions | Private Attributes | List of all members
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.

Definition at line 54 of file LorentzVector.h.

Public Types

typedef CoordSystem::Scalar Scalar
 
typedef CoordSystem CoordinateType
 
typedef DisplacementVector3D< Cartesian3D< Scalar > > BetaVector
 

Public Member Functions

 LorentzVector ()
 default constructor of an empty vector (Px = Py = Pz = E = 0 ) More...
 
 LorentzVector (const Scalar &a, const Scalar &b, const Scalar &c, const Scalar &d)
 generic constructors from four scalar values. More...
 
template<class Coords >
 LorentzVector (const LorentzVector< Coords > &v)
 constructor from a LorentzVector expressed in different coordinates, or using a different Scalar type 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 OtherCoords >
LorentzVectoroperator= (const LorentzVector< OtherCoords > &v)
 Assignment operator from a lorentz vector of arbitrary type. More...
 
template<class ForeignLorentzVector >
LorentzVectoroperator= (const ForeignLorentzVector &v)
 assignment from any other Lorentz vector implementing x(), y(), z() and t() More...
 
const CoordSystem & Coordinates () const
 Retrieve a const reference to the coordinates object. More...
 
LorentzVector< CoordSystem > & SetCoordinates (const Scalar src[])
 Set internal data based on an array of 4 Scalar numbers. More...
 
LorentzVector< CoordSystem > & SetCoordinates (Scalar a, Scalar b, Scalar c, Scalar d)
 Set internal data based on 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...
 
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...
 
template<class IT >
void GetCoordinates (IT begin, IT end) const
 get internal data into 4 Scalars at *begin to *end More...
 
template<class IT >
void GetCoordinates (IT begin) const
 get internal data into 4 Scalars at *begin More...
 
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...
 
LorentzVector< CoordSystem > & SetPxPyPzE (Scalar xx, Scalar yy, Scalar zz, Scalar ee)
 
bool operator== (const LorentzVector &rhs) const
 Exact equality. More...
 
bool operator!= (const LorentzVector &rhs) const
 
Scalar Px () const
 spatial X component More...
 
Scalar X () const
 
Scalar Py () const
 spatial Y component More...
 
Scalar Y () const
 
Scalar Pz () const
 spatial Z component More...
 
Scalar Z () const
 
Scalar E () const
 return 4-th component (time, or energy for a 4-momentum vector) More...
 
Scalar T () const
 
Scalar M2 () const
 return magnitude (mass) squared M2 = T**2 - X**2 - Y**2 - Z**2 (we use -,-,-,+ metric) More...
 
Scalar M () const
 return magnitude (mass) using the (-,-,-,+) metric. More...
 
Scalar R () const
 return the spatial (3D) magnitude ( sqrt(X**2 + Y**2 + Z**2) ) 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 Pt () const
 return the transverse spatial component sqrt ( X**2 + Y**2 ) More...
 
Scalar Rho () const
 
Scalar Mt2 () const
 return the transverse mass squared

\[ m_t^2 = E^2 - p{_z}^2 \]

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

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

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

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

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

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

More...
 
Scalar Phi () const
 azimuthal Angle More...
 
Scalar Theta () const
 polar Angle More...
 
Scalar Eta () const
 pseudorapidity

\[ \eta = - \ln { \tan { \frac { \theta} {2} } } \]

More...
 
::ROOT::Math::DisplacementVector3D< Cartesian3D< Scalar > > Vect () const
 get the spatial components of the Vector in a DisplacementVector based on Cartesian Coordinates 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...
 
template<class OtherLorentzVector >
LorentzVectoroperator+= (const OtherLorentzVector &q)
 Self addition with another Vector ( v+= q ) Enable the addition with 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...
 
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 >
LorentzVector operator- (const OtherLorentzVector &v2) const
 subtraction of two LorentzVectors (v3 = v1 - v2) Enable the subtraction of any other LorentzVector More...
 
LorentzVectoroperator*= (Scalar a)
 multiplication by a scalar quantity v *= a More...
 
LorentzVectoroperator/= (Scalar a)
 division by a scalar quantity v /= a More...
 
LorentzVector operator* (const Scalar &a) const
 product of a LorentzVector by a scalar quantity More...
 
LorentzVector< CoordSystem > operator/ (const Scalar &a) const
 Divide a LorentzVector by a scalar quantity. More...
 
LorentzVector operator- () const
 Negative of a LorentzVector (q = - v ) More...
 
LorentzVector operator+ () const
 
Scalar Rapidity () const
 Rapidity relative to the Z axis: .5 log [(E+Pz)/(E-Pz)]. More...
 
Scalar ColinearRapidity () const
 Rapidity in the direction of travel: atanh (|P|/E)=.5 log[(E+P)/(E-P)]. More...
 
bool isTimelike () const
 Determine if momentum-energy can represent a physical massive particle. 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...
 
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 Beta () const
 Return beta scalar value. More...
 
Scalar Gamma () const
 Return Gamma scalar value. More...
 
Scalar x () const
 
Scalar y () const
 
Scalar z () const
 
Scalar t () const
 
Scalar px () const
 
Scalar py () const
 
Scalar pz () const
 
Scalar e () const
 
Scalar r () const
 
Scalar theta () const
 
Scalar phi () const
 
Scalar rho () const
 
Scalar eta () const
 
Scalar pt () const
 
Scalar perp2 () const
 
Scalar mag2 () const
 
Scalar mag () const
 
Scalar mt () const
 
Scalar mt2 () const
 
Scalar energy () const
 
Scalar mass () const
 
Scalar mass2 () const
 
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 > & SetPy (Scalar a)
 
LorentzVector< CoordSystem > & SetPz (Scalar a)
 

Private Attributes

CoordSystem fCoordinates
 

#include <Math/GenVector/LorentzVector.h>

+ Collaboration diagram for ROOT::Math::LorentzVector< CoordSystem >:

Member Typedef Documentation

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

Definition at line 537 of file LorentzVector.h.

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

Definition at line 61 of file LorentzVector.h.

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

Definition at line 60 of file LorentzVector.h.

Constructor & Destructor Documentation

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

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

Definition at line 66 of file LorentzVector.h.

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
ascalar value (Px)
bscalar value (Py)
cscalar value (Pz)
dscalar value (E)

Definition at line 77 of file LorentzVector.h.

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 88 of file LorentzVector.h.

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 96 of file LorentzVector.h.

Member Function Documentation

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

Return beta scalar value.

Definition at line 587 of file LorentzVector.h.

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 543 of file LorentzVector.h.

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 565 of file LorentzVector.h.

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 505 of file LorentzVector.h.

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

Retrieve a const reference to the coordinates object.

Definition at line 157 of file LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator=().

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
qany 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 377 of file LorentzVector.h.

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

Definition at line 636 of file LorentzVector.h.

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

Definition at line 651 of file LorentzVector.h.

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 339 of file LorentzVector.h.

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 333 of file LorentzVector.h.

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

pseudorapidity

\[ \eta = - \ln { \tan { \frac { \theta} {2} } } \]

Definition at line 355 of file LorentzVector.h.

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

Definition at line 641 of file LorentzVector.h.

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

Return Gamma scalar value.

Definition at line 605 of file LorentzVector.h.

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 200 of file LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::GetCoordinates().

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 206 of file LorentzVector.h.

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 214 of file LorentzVector.h.

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 227 of file LorentzVector.h.

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

Determine if momentum-energy can represent a massless particle.

Definition at line 523 of file LorentzVector.h.

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

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

Definition at line 533 of file LorentzVector.h.

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

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

Definition at line 516 of file LorentzVector.h.

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 296 of file LorentzVector.h.

Referenced by test4D().

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 290 of file LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Beta(), and ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::BoostToCM().

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

Definition at line 645 of file LorentzVector.h.

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

Definition at line 644 of file LorentzVector.h.

Referenced by TrackD::mag2(), TrackD32::mag2(), and ClusterD::mag2().

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

Definition at line 652 of file LorentzVector.h.

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

Definition at line 653 of file LorentzVector.h.

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 327 of file LorentzVector.h.

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

Definition at line 646 of file LorentzVector.h.

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 321 of file LorentzVector.h.

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

Definition at line 647 of file LorentzVector.h.

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

Definition at line 258 of file LorentzVector.h.

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

product of a LorentzVector by a scalar quantity

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

Definition at line 458 of file LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator-().

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

multiplication by a scalar quantity v *= a

Definition at line 440 of file LorentzVector.h.

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
v2any LorentzVector implementing the x(), y() , z() and t() member functions
Returns
a new LorentzVector of the same type as v1

Definition at line 414 of file LorentzVector.h.

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

Definition at line 484 of file LorentzVector.h.

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
qany LorentzVector implementing the x(), y() , z() and t() member functions

Definition at line 388 of file LorentzVector.h.

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
v2any LorentzVector implementing the x(), y() , z() and t() member functions
Returns
a new LorentzVector of the same type as v1

Definition at line 429 of file LorentzVector.h.

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 479 of file LorentzVector.h.

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
qany LorentzVector implementing the x(), y() , z() and t() member functions

Definition at line 401 of file LorentzVector.h.

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

Divide a LorentzVector by a scalar quantity.

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

Definition at line 469 of file LorentzVector.h.

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

division by a scalar quantity v /= a

Definition at line 448 of file LorentzVector.h.

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 121 of file LorentzVector.h.

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 131 of file LorentzVector.h.

template<class CoordSystem>
bool ROOT::Math::LorentzVector< CoordSystem >::operator== ( const LorentzVector< CoordSystem > &  rhs) const
inline
template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::P ( ) const
inline
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 305 of file LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Beta(), and ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Gamma().

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 309 of file LorentzVector.h.

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

Definition at line 643 of file LorentzVector.h.

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

azimuthal Angle

Definition at line 344 of file LorentzVector.h.

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

Definition at line 639 of file LorentzVector.h.

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

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

Definition at line 314 of file LorentzVector.h.

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

Definition at line 642 of file LorentzVector.h.

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

spatial X component

Definition at line 269 of file LorentzVector.h.

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

Definition at line 633 of file LorentzVector.h.

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

spatial Y component

Definition at line 274 of file LorentzVector.h.

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

Definition at line 634 of file LorentzVector.h.

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

spatial Z component

Definition at line 279 of file LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Rapidity().

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

Definition at line 635 of file LorentzVector.h.

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 300 of file LorentzVector.h.

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

Definition at line 637 of file LorentzVector.h.

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 493 of file LorentzVector.h.

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

Definition at line 315 of file LorentzVector.h.

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

Definition at line 640 of file LorentzVector.h.

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

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

Definition at line 164 of file LorentzVector.h.

Referenced by ROOT::Math::operator>>(), and ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetCoordinates().

template<class CoordSystem>
LorentzVector<CoordSystem>& 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 172 of file LorentzVector.h.

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

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

Definition at line 187 of file LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& 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 661 of file LorentzVector.h.

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

Definition at line 662 of file LorentzVector.h.

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

Definition at line 663 of file LorentzVector.h.

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

Definition at line 664 of file LorentzVector.h.

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

Definition at line 665 of file LorentzVector.h.

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

Definition at line 666 of file LorentzVector.h.

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

Definition at line 245 of file LorentzVector.h.

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

Definition at line 667 of file LorentzVector.h.

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

Definition at line 668 of file LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& 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 241 of file LorentzVector.h.

Referenced by doTestL(), doTestLA(), ROOT::Math::VectorUtil::Mult(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator+=(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator-=(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator=(), setValues(), and writeTrack().

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

polar Angle

Definition at line 349 of file LorentzVector.h.

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

Definition at line 638 of file LorentzVector.h.

template<class CoordSystem>
::ROOT::Math::DisplacementVector3D<Cartesian3D<Scalar> > ROOT::Math::LorentzVector< CoordSystem >::Vect ( ) const
inline
template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::X ( ) const
inline
template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::x ( ) const
inline
template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Y ( ) const
inline
template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::y ( ) const
inline
template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Z ( ) const
inline
template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::z ( ) const
inline

Member Data Documentation

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

Definition at line 672 of file LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Coordinates(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::E(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::e(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::energy(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Et(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Et2(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Eta(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::eta(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::GetCoordinates(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::M(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::M2(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::mag(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::mag2(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::mass(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::mass2(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Mt(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::mt(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Mt2(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::mt2(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator*=(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator/=(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator=(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::operator==(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::P(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Perp2(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::perp2(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Phi(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::phi(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Pt(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::pt(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Px(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::px(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Py(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::py(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Pz(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::pz(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::R(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::r(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Rho(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::rho(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetCoordinates(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetE(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetEta(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetM(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetPhi(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetPt(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetPx(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetPxPyPzE(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetPy(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetPz(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::SetXYZT(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::T(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::t(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Theta(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::theta(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::X(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::x(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Y(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::y(), ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::Z(), and ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< Double32_t > >::z().


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