class ROOT::Math::PxPyPzE4D<double>


    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 (-,-,-,+)

    @ingroup GenVector

This class is also known as (typedefs to this class)

ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::CoordinateType

Function Members (Methods)

public:
~PxPyPzE4D<double>()
ROOT::Math::PxPyPzE4D<double>::ScalarE() const
ROOT::Math::PxPyPzE4D<double>::ScalarEt() const
ROOT::Math::PxPyPzE4D<double>::ScalarEt2() const
ROOT::Math::PxPyPzE4D<double>::ScalarEta() const
voidGetCoordinates(ROOT::Math::PxPyPzE4D<double>::Scalar* dest) const
voidGetCoordinates(ROOT::Math::PxPyPzE4D<double>::Scalar& px, ROOT::Math::PxPyPzE4D<double>::Scalar& py, ROOT::Math::PxPyPzE4D<double>::Scalar& pz, ROOT::Math::PxPyPzE4D<double>::Scalar& e) const
ROOT::Math::PxPyPzE4D<double>::ScalarM() const
ROOT::Math::PxPyPzE4D<double>::ScalarM2() const
ROOT::Math::PxPyPzE4D<double>::ScalarMag() const
ROOT::Math::PxPyPzE4D<double>::ScalarMag2() const
ROOT::Math::PxPyPzE4D<double>::ScalarMt() const
ROOT::Math::PxPyPzE4D<double>::ScalarMt2() const
voidNegate()
booloperator!=(const ROOT::Math::PxPyPzE4D<double>& rhs) const
ROOT::Math::PxPyPzE4D<double>&operator=(const ROOT::Math::PxPyPzE4D<double>& v)
booloperator==(const ROOT::Math::PxPyPzE4D<double>& rhs) const
ROOT::Math::PxPyPzE4D<double>::ScalarP() const
ROOT::Math::PxPyPzE4D<double>::ScalarP2() const
ROOT::Math::PxPyPzE4D<double>::ScalarPerp() const
ROOT::Math::PxPyPzE4D<double>::ScalarPerp2() const
ROOT::Math::PxPyPzE4D<double>::ScalarPhi() const
ROOT::Math::PxPyPzE4D<double>::ScalarPt() const
ROOT::Math::PxPyPzE4D<double>::ScalarPt2() const
ROOT::Math::PxPyPzE4D<double>::ScalarPx() const
ROOT::Math::PxPyPzE4D<double>PxPyPzE4D<double>()
ROOT::Math::PxPyPzE4D<double>PxPyPzE4D<double>(const ROOT::Math::PxPyPzE4D<double>& v)
ROOT::Math::PxPyPzE4D<double>PxPyPzE4D<double>(ROOT::Math::PxPyPzE4D<double>::Scalar px, ROOT::Math::PxPyPzE4D<double>::Scalar py, ROOT::Math::PxPyPzE4D<double>::Scalar pz, ROOT::Math::PxPyPzE4D<double>::Scalar e)
ROOT::Math::PxPyPzE4D<double>::ScalarPy() const
ROOT::Math::PxPyPzE4D<double>::ScalarPz() const
ROOT::Math::PxPyPzE4D<double>::ScalarR() const
ROOT::Math::PxPyPzE4D<double>::ScalarRho() const
voidScale(const ROOT::Math::PxPyPzE4D<double>::Scalar& a)
voidSetCoordinates(const ROOT::Math::PxPyPzE4D<double>::Scalar* src)
voidSetCoordinates(ROOT::Math::PxPyPzE4D<double>::Scalar px, ROOT::Math::PxPyPzE4D<double>::Scalar py, ROOT::Math::PxPyPzE4D<double>::Scalar pz, ROOT::Math::PxPyPzE4D<double>::Scalar e)
voidSetE(ROOT::Math::PxPyPzE4D<double>::Scalar e)
voidSetEta(ROOT::Math::PxPyPzE4D<double>::Scalar eta)
voidSetM(ROOT::Math::PxPyPzE4D<double>::Scalar m)
voidSetPhi(ROOT::Math::PxPyPzE4D<double>::Scalar phi)
voidSetPt(ROOT::Math::PxPyPzE4D<double>::Scalar pt)
voidSetPx(ROOT::Math::PxPyPzE4D<double>::Scalar px)
voidSetPxPyPzE(ROOT::Math::PxPyPzE4D<double>::Scalar px, ROOT::Math::PxPyPzE4D<double>::Scalar py, ROOT::Math::PxPyPzE4D<double>::Scalar pz, ROOT::Math::PxPyPzE4D<double>::Scalar e)
voidSetPy(ROOT::Math::PxPyPzE4D<double>::Scalar py)
voidSetPz(ROOT::Math::PxPyPzE4D<double>::Scalar pz)
ROOT::Math::PxPyPzE4D<double>::ScalarT() const
ROOT::Math::PxPyPzE4D<double>::Scalart() const
ROOT::Math::PxPyPzE4D<double>::ScalarTheta() const
ROOT::Math::PxPyPzE4D<double>::ScalarX() const
ROOT::Math::PxPyPzE4D<double>::Scalarx() const
ROOT::Math::PxPyPzE4D<double>::ScalarY() const
ROOT::Math::PxPyPzE4D<double>::Scalary() const
ROOT::Math::PxPyPzE4D<double>::ScalarZ() const
ROOT::Math::PxPyPzE4D<double>::Scalarz() const

Data Members

private:
doublefT
doublefX
doublefY
doublefZ

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void SetCoordinates(const ROOT::Math::PxPyPzE4D<double>::Scalar* src)
      Set internal data based on an array of 4 Scalar numbers

{ fX=src[0]; fY=src[1]; fZ=src[2]; fT=src[3]; }
void GetCoordinates(ROOT::Math::PxPyPzE4D<double>::Scalar* dest) const
      get internal data into an array of 4 Scalar numbers

{ dest[0] = fX; dest[1] = fY; dest[2] = fZ; dest[3] = fT; }
void SetCoordinates(ROOT::Math::PxPyPzE4D<double>::Scalar px, ROOT::Math::PxPyPzE4D<double>::Scalar py, ROOT::Math::PxPyPzE4D<double>::Scalar pz, ROOT::Math::PxPyPzE4D<double>::Scalar e)
      Set internal data based on 4 Scalar numbers

{ fX=px; fY=py; fZ=pz; fT=e;}
void GetCoordinates(ROOT::Math::PxPyPzE4D<double>::Scalar& px, ROOT::Math::PxPyPzE4D<double>::Scalar& py, ROOT::Math::PxPyPzE4D<double>::Scalar& pz, ROOT::Math::PxPyPzE4D<double>::Scalar& e) const
      get internal data into 4 Scalar numbers

{ px=fX; py=fY; pz=fZ; e=fT;}
Scalar Px()
 --------- Coordinates and Coordinate-like Scalar properties -------------
 cartesian (Minkowski)coordinate accessors
{ return fX;}
Scalar Py()
{ return fY;}
Scalar Pz()
{ return fZ;}
Scalar E()
{ return fT;}
Scalar X()
{ return fX;}
Scalar Y()
{ return fY;}
Scalar Z()
{ return fZ;}
Scalar T()
{ return fT;}
Scalar P2()
 other coordinate representation

      squared magnitude of spatial components

{ return fX*fX + fY*fY + fZ*fZ; }
Scalar P()
      magnitude of spatial components (magnitude of 3-momentum)

{ return std::sqrt(P2()); }
Scalar R()
{ return P(); }
Scalar M2()
      vector magnitude squared (or mass squared)

{ return fT*fT - fX*fX - fY*fY - fZ*fZ;}
Scalar Mag2()
{ return M2(); }
Scalar M()
      invariant mass

Scalar Mag()
{ return M(); }
Scalar Pt2()
       transverse spatial component squared

{ return fX*fX + fY*fY;}
Scalar Perp2()
{ return Pt2();}
Scalar Pt()
      Transverse spatial component (P_perp or rho)

{ return std::sqrt(Perp2());}
Scalar Perp()
{ return Pt();}
Scalar Rho()
{ return Pt();}
Scalar Mt2()
       transverse mass squared

{ return fT*fT - fZ*fZ; }
Scalar Mt()
      transverse mass

Scalar Et2()
       transverse energy squared

Scalar Et()
      transverse energy

Scalar Phi()
      azimuthal angle

Scalar Theta()
      polar angle

Scalar Eta()
       pseudorapidity

void SetPx(ROOT::Math::PxPyPzE4D<double>::Scalar px)
 --------- Set Coordinates of this system  ---------------

      set X value

void SetPy(ROOT::Math::PxPyPzE4D<double>::Scalar py)
      set Y value

void SetPz(ROOT::Math::PxPyPzE4D<double>::Scalar pz)
      set Z value

void SetE(ROOT::Math::PxPyPzE4D<double>::Scalar e)
      set T value

void SetPxPyPzE(ROOT::Math::PxPyPzE4D<double>::Scalar px, ROOT::Math::PxPyPzE4D<double>::Scalar py, ROOT::Math::PxPyPzE4D<double>::Scalar pz, ROOT::Math::PxPyPzE4D<double>::Scalar e)
       set all values using cartesian coordinates

void Negate( )
 ------ Manipulations -------------

      negate the 4-vector

{ fX = -fX; fY = -fY; fZ = -fZ; fT = -fT;}
void Scale(const ROOT::Math::PxPyPzE4D<double>::Scalar& a)
      scale coordinate values by a scalar quantity a

Scalar x()
 ============= Compatibility section ==================
 The following make this coordinate system look enough like a CLHEP
 vector that an assignment member template can work with either
{ return fX; }
Scalar y()
{ return fY; }
Scalar z()
{ return fZ; }
Scalar t()
{ return fT; }
void SetPt(ROOT::Math::PxPyPzE4D<double>::Scalar pt)
 ====== Set member functions for coordinates in other systems =======
void SetEta(ROOT::Math::PxPyPzE4D<double>::Scalar eta)
void SetPhi(ROOT::Math::PxPyPzE4D<double>::Scalar phi)
void SetM(ROOT::Math::PxPyPzE4D<double>::Scalar m)

Last change: root/mathcore:$Id: PxPyPzE4D.h 24923 2008-07-23 15:43:05Z moneta $
Last generated: 2008-08-06 08:06
Copyright (c) 2005 , LCG ROOT MathLib Team *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.