Logo ROOT  
Reference Guide
ROOT::Math::PxPyPzE4D< ScalarType > Class Template Reference

template<class ScalarType = double>
class ROOT::Math::PxPyPzE4D< ScalarType >

Class describing a 4D cartesian coordinate system (x, y, z, t coordinates) or momentum-energy vectors stored as (Px, Py, Pz, E).

The metric used is (-,-,-,+)

Definition at line 52 of file PxPyPzE4D.h.

Public Types

typedef ScalarType Scalar
 

Public Member Functions

 PxPyPzE4D ()
 Default constructor with x=y=z=t=0. More...
 
template<class CoordSystem >
 PxPyPzE4D (const CoordSystem &v)
 construct from any vector or coordinate system class implementing x(), y() and z() and t() More...
 
 PxPyPzE4D (const PxPyPzE4D &v)
 copy constructor More...
 
 PxPyPzE4D (Scalar px, Scalar py, Scalar pz, Scalar e)
 Constructor from x, y , z , t values. More...
 
Scalar E () const
 
Scalar Et () const
 transverse energy More...
 
Scalar Et2 () const
 transverse energy squared More...
 
Scalar Eta () const
 pseudorapidity More...
 
void GetCoordinates (Scalar &px, Scalar &py, Scalar &pz, Scalar &e) 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...
 
Scalar M () const
 invariant mass More...
 
Scalar M2 () const
 vector magnitude squared (or mass squared) More...
 
Scalar Mag () const
 
Scalar Mag2 () const
 
Scalar Mt () const
 transverse mass More...
 
Scalar Mt2 () const
 transverse mass squared More...
 
void Negate ()
 negate the 4-vector More...
 
bool operator!= (const PxPyPzE4D &rhs) const
 
template<class AnyCoordSystem >
PxPyPzE4Doperator= (const AnyCoordSystem &v)
 Assignment from a generic coordinate system implementing x(), y(), z() and t() More...
 
PxPyPzE4Doperator= (const PxPyPzE4D &v)
 assignment operator More...
 
bool operator== (const PxPyPzE4D &rhs) const
 Exact equality. More...
 
Scalar P () const
 magnitude of spatial components (magnitude of 3-momentum) More...
 
Scalar P2 () const
 squared magnitude of spatial components More...
 
Scalar Perp () const
 
Scalar Perp2 () const
 
Scalar Phi () const
 azimuthal angle More...
 
Scalar Pt () const
 Transverse spatial component (P_perp or rho) More...
 
Scalar Pt2 () const
 transverse spatial component squared More...
 
Scalar Px () const
 
Scalar Py () const
 
Scalar Pz () const
 
Scalar R () const
 
Scalar Rho () const
 
void Scale (const Scalar &a)
 scale coordinate values by a scalar quantity a More...
 
void SetCoordinates (const Scalar src[])
 Set internal data based on an array of 4 Scalar numbers. More...
 
void SetCoordinates (Scalar px, Scalar py, Scalar pz, Scalar e)
 Set internal data based on 4 Scalar numbers. More...
 
void SetE (Scalar e)
 set T value More...
 
void SetPx (Scalar px)
 set X value More...
 
void SetPxPyPzE (Scalar px, Scalar py, Scalar pz, Scalar e)
 set all values using cartesian coordinates More...
 
void SetPy (Scalar py)
 set Y value More...
 
void SetPz (Scalar pz)
 set Z value More...
 
Scalar T () const
 
Scalar t () const
 
Scalar Theta () const
 polar angle More...
 
Scalar X () const
 
Scalar x () const
 
Scalar Y () const
 
Scalar y () const
 
Scalar Z () const
 
Scalar z () const
 

Private Attributes

ScalarType fT
 
ScalarType fX
 (contigous) data containing the coordinate values x,y,z,t More...
 
ScalarType fY
 
ScalarType fZ
 

#include <Math/GenVector/PxPyPzE4D.h>

Member Typedef Documentation

◆ Scalar

template<class ScalarType = double>
typedef ScalarType ROOT::Math::PxPyPzE4D< ScalarType >::Scalar

Definition at line 61 of file PxPyPzE4D.h.

Constructor & Destructor Documentation

◆ PxPyPzE4D() [1/4]

template<class ScalarType = double>
ROOT::Math::PxPyPzE4D< ScalarType >::PxPyPzE4D ( )
inline

Default constructor with x=y=z=t=0.

Definition at line 68 of file PxPyPzE4D.h.

◆ PxPyPzE4D() [2/4]

template<class ScalarType = double>
ROOT::Math::PxPyPzE4D< ScalarType >::PxPyPzE4D ( Scalar  px,
Scalar  py,
Scalar  pz,
Scalar  e 
)
inline

Constructor from x, y , z , t values.

Definition at line 74 of file PxPyPzE4D.h.

◆ PxPyPzE4D() [3/4]

template<class ScalarType = double>
template<class CoordSystem >
ROOT::Math::PxPyPzE4D< ScalarType >::PxPyPzE4D ( const CoordSystem &  v)
inlineexplicit

construct from any vector or coordinate system class implementing x(), y() and z() and t()

Definition at line 83 of file PxPyPzE4D.h.

◆ PxPyPzE4D() [4/4]

template<class ScalarType = double>
ROOT::Math::PxPyPzE4D< ScalarType >::PxPyPzE4D ( const PxPyPzE4D< ScalarType > &  v)
inline

copy constructor

Definition at line 91 of file PxPyPzE4D.h.

Member Function Documentation

◆ E()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::E ( ) const
inline

Definition at line 136 of file PxPyPzE4D.h.

◆ Et()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Et ( ) const
inline

transverse energy

Definition at line 222 of file PxPyPzE4D.h.

◆ Et2()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Et2 ( ) const
inline

transverse energy squared

Definition at line 213 of file PxPyPzE4D.h.

◆ Eta()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Eta ( ) const
inline

pseudorapidity

Definition at line 240 of file PxPyPzE4D.h.

◆ GetCoordinates() [1/2]

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::GetCoordinates ( Scalar px,
Scalar py,
Scalar pz,
Scalar e 
) const
inline

get internal data into 4 Scalar numbers

Definition at line 126 of file PxPyPzE4D.h.

◆ GetCoordinates() [2/2]

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::GetCoordinates ( Scalar  dest[]) const
inline

get internal data into an array of 4 Scalar numbers

Definition at line 114 of file PxPyPzE4D.h.

◆ M()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::M ( ) const
inline

invariant mass

Definition at line 165 of file PxPyPzE4D.h.

◆ M2()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::M2 ( ) const
inline

vector magnitude squared (or mass squared)

Definition at line 159 of file PxPyPzE4D.h.

◆ Mag()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Mag ( ) const
inline

Definition at line 176 of file PxPyPzE4D.h.

◆ Mag2()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Mag2 ( ) const
inline

Definition at line 160 of file PxPyPzE4D.h.

◆ Mt()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Mt ( ) const
inline

transverse mass

Definition at line 199 of file PxPyPzE4D.h.

◆ Mt2()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Mt2 ( ) const
inline

transverse mass squared

Definition at line 194 of file PxPyPzE4D.h.

◆ Negate()

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::Negate ( )
inline

negate the 4-vector

Definition at line 289 of file PxPyPzE4D.h.

◆ operator!=()

template<class ScalarType = double>
bool ROOT::Math::PxPyPzE4D< ScalarType >::operator!= ( const PxPyPzE4D< ScalarType > &  rhs) const
inline

Definition at line 320 of file PxPyPzE4D.h.

◆ operator=() [1/2]

template<class ScalarType = double>
template<class AnyCoordSystem >
PxPyPzE4D& ROOT::Math::PxPyPzE4D< ScalarType >::operator= ( const AnyCoordSystem &  v)
inline

Assignment from a generic coordinate system implementing x(), y(), z() and t()

Definition at line 306 of file PxPyPzE4D.h.

◆ operator=() [2/2]

template<class ScalarType = double>
PxPyPzE4D& ROOT::Math::PxPyPzE4D< ScalarType >::operator= ( const PxPyPzE4D< ScalarType > &  v)
inline

assignment operator

Definition at line 97 of file PxPyPzE4D.h.

◆ operator==()

template<class ScalarType = double>
bool ROOT::Math::PxPyPzE4D< ScalarType >::operator== ( const PxPyPzE4D< ScalarType > &  rhs) const
inline

Exact equality.

Definition at line 317 of file PxPyPzE4D.h.

◆ P()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::P ( ) const
inline

magnitude of spatial components (magnitude of 3-momentum)

Definition at line 153 of file PxPyPzE4D.h.

◆ P2()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::P2 ( ) const
inline

squared magnitude of spatial components

Definition at line 148 of file PxPyPzE4D.h.

◆ Perp()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Perp ( ) const
inline

Definition at line 188 of file PxPyPzE4D.h.

◆ Perp2()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Perp2 ( ) const
inline

Definition at line 182 of file PxPyPzE4D.h.

◆ Phi()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Phi ( ) const
inline

azimuthal angle

Definition at line 230 of file PxPyPzE4D.h.

◆ Pt()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Pt ( ) const
inline

Transverse spatial component (P_perp or rho)

Definition at line 187 of file PxPyPzE4D.h.

◆ Pt2()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Pt2 ( ) const
inline

transverse spatial component squared

Definition at line 181 of file PxPyPzE4D.h.

◆ Px()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Px ( ) const
inline

Definition at line 133 of file PxPyPzE4D.h.

◆ Py()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Py ( ) const
inline

Definition at line 134 of file PxPyPzE4D.h.

◆ Pz()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Pz ( ) const
inline

Definition at line 135 of file PxPyPzE4D.h.

◆ R()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::R ( ) const
inline

Definition at line 154 of file PxPyPzE4D.h.

◆ Rho()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Rho ( ) const
inline

Definition at line 189 of file PxPyPzE4D.h.

◆ Scale()

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::Scale ( const Scalar a)
inline

scale coordinate values by a scalar quantity a

Definition at line 294 of file PxPyPzE4D.h.

◆ SetCoordinates() [1/2]

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::SetCoordinates ( const Scalar  src[])
inline

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

Definition at line 108 of file PxPyPzE4D.h.

◆ SetCoordinates() [2/2]

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::SetCoordinates ( Scalar  px,
Scalar  py,
Scalar  pz,
Scalar  e 
)
inline

Set internal data based on 4 Scalar numbers.

Definition at line 120 of file PxPyPzE4D.h.

◆ SetE()

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::SetE ( Scalar  e)
inline

set T value

Definition at line 268 of file PxPyPzE4D.h.

◆ SetPx()

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::SetPx ( Scalar  px)
inline

set X value

Definition at line 250 of file PxPyPzE4D.h.

◆ SetPxPyPzE()

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::SetPxPyPzE ( Scalar  px,
Scalar  py,
Scalar  pz,
Scalar  e 
)
inline

set all values using cartesian coordinates

Definition at line 275 of file PxPyPzE4D.h.

◆ SetPy()

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::SetPy ( Scalar  py)
inline

set Y value

Definition at line 256 of file PxPyPzE4D.h.

◆ SetPz()

template<class ScalarType = double>
void ROOT::Math::PxPyPzE4D< ScalarType >::SetPz ( Scalar  pz)
inline

set Z value

Definition at line 262 of file PxPyPzE4D.h.

◆ T()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::T ( ) const
inline

Definition at line 141 of file PxPyPzE4D.h.

◆ t()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::t ( ) const
inline

Definition at line 330 of file PxPyPzE4D.h.

◆ Theta()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Theta ( ) const
inline

polar angle

Definition at line 235 of file PxPyPzE4D.h.

◆ X()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::X ( ) const
inline

Definition at line 138 of file PxPyPzE4D.h.

◆ x()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::x ( ) const
inline

Definition at line 327 of file PxPyPzE4D.h.

◆ Y()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Y ( ) const
inline

Definition at line 139 of file PxPyPzE4D.h.

◆ y()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::y ( ) const
inline

Definition at line 328 of file PxPyPzE4D.h.

◆ Z()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::Z ( ) const
inline

Definition at line 140 of file PxPyPzE4D.h.

◆ z()

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzE4D< ScalarType >::z ( ) const
inline

Definition at line 329 of file PxPyPzE4D.h.

Member Data Documentation

◆ fT

template<class ScalarType = double>
ScalarType ROOT::Math::PxPyPzE4D< ScalarType >::fT
private

Definition at line 357 of file PxPyPzE4D.h.

◆ fX

template<class ScalarType = double>
ScalarType ROOT::Math::PxPyPzE4D< ScalarType >::fX
private

(contigous) data containing the coordinate values x,y,z,t

Definition at line 354 of file PxPyPzE4D.h.

◆ fY

template<class ScalarType = double>
ScalarType ROOT::Math::PxPyPzE4D< ScalarType >::fY
private

Definition at line 355 of file PxPyPzE4D.h.

◆ fZ

template<class ScalarType = double>
ScalarType ROOT::Math::PxPyPzE4D< ScalarType >::fZ
private

Definition at line 356 of file PxPyPzE4D.h.

Libraries for ROOT::Math::PxPyPzE4D< ScalarType >:
[legend]

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