ROOT logo
ROOT » MATH » GENVECTOR » ROOT::Math::PtEtaPhiE4D<double>

class ROOT::Math::PtEtaPhiE4D<double>


    Class describing a 4D cylindrical coordinate system
    using Pt , Phi, Eta and E (or rho, phi, eta , T)
    The metric used is (-,-,-,+).
    Phi is restricted to be in the range [-PI,PI)

    @ingroup GenVector

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

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

Function Members (Methods)

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

Data Members

private:
doublefE
doublefEta
doublefPhi
doublefPt

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

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

{ fPt=src[0]; fEta=src[1]; fPhi=src[2]; fE=src[3]; Restrict(); }
void GetCoordinates(ROOT::Math::PtEtaPhiE4D<double>::Scalar* dest) const
      get internal data into an array of 4 Scalar numbers

{ dest[0] = fPt; dest[1] = fEta; dest[2] = fPhi; dest[3] = fE; }
void SetCoordinates(ROOT::Math::PtEtaPhiE4D<double>::Scalar pt, ROOT::Math::PtEtaPhiE4D<double>::Scalar eta, ROOT::Math::PtEtaPhiE4D<double>::Scalar phi, ROOT::Math::PtEtaPhiE4D<double>::Scalar e)
      Set internal data based on 4 Scalar numbers

{ fPt=pt; fEta = eta; fPhi = phi; fE = e; Restrict(); }
GetCoordinates(ROOT::Math::PtEtaPhiE4D<double>::Scalar& pt, ROOT::Math::PtEtaPhiE4D<double>::Scalar& eta, ROOT::Math::PtEtaPhiE4D<double>::Scalar& phi, ROOT::Math::PtEtaPhiE4D<double>::Scalar& e) const
      get internal data into 4 Scalar numbers

{ pt=fPt; eta=fEta; phi = fPhi; e = fE; }
Scalar Pt() const
 --------- Coordinates and Coordinate-like Scalar properties -------------
 4-D Cylindrical eta coordinate accessors
{ return fPt; }
Scalar Eta() const
{ return fEta; }
Scalar Phi() const
{ return fPhi; }
Scalar E() const
{ return fE; }
Scalar Perp() const
{ return Pt(); }
Scalar Rho() const
{ return Pt(); }
Scalar T() const
{ return E(); }
Scalar Px() const
 other coordinate representation
{ return fPt*cos(fPhi);}
Scalar X() const
{ return Px(); }
Scalar Py() const
{ return fPt*sin(fPhi);}
Scalar Y() const
{ return Py(); }
Scalar Pz() const
Scalar Z() const
{ return Pz(); }
Scalar P() const
       magnitude of momentum

Scalar R() const
{ return P(); }
Scalar P2() const
       squared magnitude of spatial components (momentum squared)

{ Scalar p = P(); return p*p; }
Scalar M2() const
      vector magnitude squared (or mass squared)

{ Scalar p = P(); return fE*fE - p*p; }
Scalar Mag2() const
{ return M2(); }
Scalar M() const
      invariant mass

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

{ return fPt*fPt;}
Scalar Perp2() const
{ return Pt2(); }
Scalar Mt2() const
       transverse mass squared

{ Scalar pz = Pz(); return fE*fE - pz*pz; }
Scalar Mt() const
      transverse mass

Scalar Et() const
      transverse energy


      transverse energy

Scalar Et2() const
       transverse energy squared

{ Scalar et = Et(); return et*et; }
Scalar pi()
{ return M_PI; }
void Restrict()
Scalar Theta() const
      polar angle

void SetPt(ROOT::Math::PtEtaPhiE4D<double>::Scalar pt)
 --------- Set Coordinates of this system  ---------------

      set Pt value

void SetEta(ROOT::Math::PtEtaPhiE4D<double>::Scalar eta)
      set eta value

void SetPhi(ROOT::Math::PtEtaPhiE4D<double>::Scalar phi)
      set phi value

void SetE(ROOT::Math::PtEtaPhiE4D<double>::Scalar e)
      set E value

void SetPxPyPzE(ROOT::Math::PtEtaPhiE4D<double>::Scalar px, ROOT::Math::PtEtaPhiE4D<double>::Scalar py, ROOT::Math::PtEtaPhiE4D<double>::Scalar pz, ROOT::Math::PtEtaPhiE4D<double>::Scalar e)
       set values using cartesian coordinate system

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

      negate the 4-vector

void Scale(ROOT::Math::PtEtaPhiE4D<double>::Scalar a)
      Scale coordinate values by a scalar quantity a

Scalar x() const
 ============= Compatibility secition ==================
 The following make this coordinate system look enough like a CLHEP
 vector that an assignment member template can work with either
{ return X(); }
Scalar y() const
{ return Y(); }
Scalar z() const
{ return Z(); }
Scalar t() const
{ return E(); }
void SetPx(ROOT::Math::PtEtaPhiE4D<double>::Scalar px)
 ====== Set member functions for coordinates in other systems =======
void SetPy(ROOT::Math::PtEtaPhiE4D<double>::Scalar py)
void SetPz(ROOT::Math::PtEtaPhiE4D<double>::Scalar pz)
void SetM(ROOT::Math::PtEtaPhiE4D<double>::Scalar m)