HepMC event record
Public Member Functions | Static Public Member Functions | Private Attributes
FourVector Class Reference

Detailed Description

Generic 4-vector.

Interpretation of its content depends on accessors used: it's much simpler to do this than to distinguish between space and momentum vectors via the type system (especially given the need for backward compatibility with HepMC2). Be sensible and don't call energy functions on spatial vectors! To avoid duplication, most definitions are only implemented on the spatial function names, with the energy-momentum functions as aliases.

This is not intended to be a fully featured 4-vector, but does contain the majority of common non-boosting functionality, as well as a few support operations on 4-vectors.

The implementations in this class are fully inlined.

Examples:
basic_tree.cc.

Definition at line 33 of file build/outputs/include/HepMC/FourVector.h.

#include <FourVector.h>

Public Member Functions

 FourVector ()
 Default constructor. More...
 
 FourVector (double xx, double yy, double zz, double ee)
 Sets all FourVector fields. More...
 
 FourVector (const FourVector &v)
 Copy constructor. More...
 
 FourVector ()
 Default constructor. More...
 
 FourVector (double xx, double yy, double zz, double ee)
 Sets all FourVector fields. More...
 
 FourVector (const FourVector &v)
 Copy constructor. More...
 
Component accessors
void set (double x1, double x2, double x3, double x4)
 Set all FourVector fields, in order x,y,z,t. More...
 
double x () const
 x-component of position/displacement More...
 
void setX (double xx)
 Set x-component of position/displacement. More...
 
double y () const
 y-component of position/displacement More...
 
void setY (double yy)
 Set y-component of position/displacement. More...
 
double z () const
 z-component of position/displacement More...
 
void setZ (double zz)
 Set z-component of position/displacement. More...
 
double t () const
 Time component of position/displacement. More...
 
void setT (double tt)
 Set time component of position/displacement. More...
 
double px () const
 x-component of momentum More...
 
void setPx (double pxx)
 Set x-component of momentum. More...
 
double py () const
 y-component of momentum More...
 
void setPy (double pyy)
 Set y-component of momentum. More...
 
double pz () const
 z-component of momentum More...
 
void setPz (double pzz)
 Set z-component of momentum. More...
 
double e () const
 Energy component of momentum. More...
 
void setE (double ee)
 Set energy component of momentum. More...
 
void set (double x1, double x2, double x3, double x4)
 Set all FourVector fields, in order x,y,z,t. More...
 
double x () const
 x-component of position/displacement More...
 
void setX (double xx)
 Set x-component of position/displacement. More...
 
double y () const
 y-component of position/displacement More...
 
void setY (double yy)
 Set y-component of position/displacement. More...
 
double z () const
 z-component of position/displacement More...
 
void setZ (double zz)
 Set z-component of position/displacement. More...
 
double t () const
 Time component of position/displacement. More...
 
void setT (double tt)
 Set time component of position/displacement. More...
 
double px () const
 x-component of momentum More...
 
void setPx (double pxx)
 Set x-component of momentum. More...
 
double py () const
 y-component of momentum More...
 
void setPy (double pyy)
 Set y-component of momentum. More...
 
double pz () const
 z-component of momentum More...
 
void setPz (double pzz)
 Set z-component of momentum. More...
 
double e () const
 Energy component of momentum. More...
 
void setE (double ee)
 Set energy component of momentum. More...
 
Computed properties
double length2 () const
 Squared magnitude of (x, y, z) 3-vector. More...
 
double length () const
 Magnitude of spatial (x, y, z) 3-vector. More...
 
double perp2 () const
 Squared magnitude of (x, y) vector. More...
 
double perp () const
 Magnitude of (x, y) vector. More...
 
double interval () const
 Spacetime invariant interval s^2 = t^2 - x^2 - y^2 - z^2. More...
 
double p3mod2 () const
 Squared magnitude of p3 = (px, py, pz) vector. More...
 
double p3mod () const
 Magnitude of p3 = (px, py, pz) vector. More...
 
double pt2 () const
 Squared transverse momentum px^2 + py^2. More...
 
double pt () const
 Transverse momentum. More...
 
double m2 () const
 Squared invariant mass m^2 = E^2 - px^2 - py^2 - pz^2. More...
 
double m () const
 Invariant mass. Returns -sqrt(-m) if e^2 - P^2 is negative. More...
 
double phi () const
 Azimuthal angle. More...
 
double theta () const
 Polar angle w.r.t. z direction. More...
 
double eta () const
 
double rap () const
 
double abs_eta () const
 Absolute pseudorapidity. More...
 
double abs_rap () const
 Absolute rapidity. More...
 
double pseudoRapidity () const
 Same as eta. More...
 
double length2 () const
 Squared magnitude of (x, y, z) 3-vector. More...
 
double length () const
 Magnitude of spatial (x, y, z) 3-vector. More...
 
double perp2 () const
 Squared magnitude of (x, y) vector. More...
 
double perp () const
 Magnitude of (x, y) vector. More...
 
double interval () const
 Spacetime invariant interval s^2 = t^2 - x^2 - y^2 - z^2. More...
 
double p3mod2 () const
 Squared magnitude of p3 = (px, py, pz) vector. More...
 
double p3mod () const
 Magnitude of p3 = (px, py, pz) vector. More...
 
double pt2 () const
 Squared transverse momentum px^2 + py^2. More...
 
double pt () const
 Transverse momentum. More...
 
double m2 () const
 Squared invariant mass m^2 = E^2 - px^2 - py^2 - pz^2. More...
 
double m () const
 Invariant mass. Returns -sqrt(-m) if e^2 - P^2 is negative. More...
 
double phi () const
 Azimuthal angle. More...
 
double theta () const
 Polar angle w.r.t. z direction. More...
 
double eta () const
 
double rap () const
 
double abs_eta () const
 Absolute pseudorapidity. More...
 
double abs_rap () const
 Absolute rapidity. More...
 
double pseudoRapidity () const
 Same as eta. More...
 
Comparisons to another FourVector
bool is_zero () const
 Check if the length of this vertex is zero. More...
 
double delta_phi (const FourVector &v) const
 Signed azimuthal angle separation in [-pi, pi]. More...
 
double delta_eta (const FourVector &v) const
 Pseudorapidity separation. More...
 
double delta_rap (const FourVector &v) const
 Rapidity separation. More...
 
double delta_r2_eta (const FourVector &v) const
 R_eta^2-distance separation dR^2 = dphi^2 + deta^2. More...
 
double delta_r_eta (const FourVector &v) const
 R_eta-distance separation dR = sqrt(dphi^2 + deta^2) More...
 
double delta_r2_rap (const FourVector &v) const
 R_rap^2-distance separation dR^2 = dphi^2 + drap^2. More...
 
double delta_r_rap (const FourVector &v) const
 R-rap-distance separation dR = sqrt(dphi^2 + drap^2) More...
 
bool is_zero () const
 Check if the length of this vertex is zero. More...
 
double delta_phi (const FourVector &v) const
 Signed azimuthal angle separation in [-pi, pi]. More...
 
double delta_eta (const FourVector &v) const
 Pseudorapidity separation. More...
 
double delta_rap (const FourVector &v) const
 Rapidity separation. More...
 
double delta_r2_eta (const FourVector &v) const
 R_eta^2-distance separation dR^2 = dphi^2 + deta^2. More...
 
double delta_r_eta (const FourVector &v) const
 R_eta-distance separation dR = sqrt(dphi^2 + deta^2) More...
 
double delta_r2_rap (const FourVector &v) const
 R_rap^2-distance separation dR^2 = dphi^2 + drap^2. More...
 
double delta_r_rap (const FourVector &v) const
 R-rap-distance separation dR = sqrt(dphi^2 + drap^2) More...
 
Operators
bool operator== (const FourVector &rhs) const
 Equality. More...
 
bool operator!= (const FourVector &rhs) const
 Inequality. More...
 
FourVector operator+ (const FourVector &rhs) const
 Arithmetic operator +. More...
 
FourVector operator- (const FourVector &rhs) const
 Arithmetic operator -. More...
 
FourVector operator* (const double rhs) const
 Arithmetic operator * by scalar. More...
 
FourVector operator/ (const double rhs) const
 Arithmetic operator / by scalar. More...
 
void operator+= (const FourVector &rhs)
 Arithmetic operator +=. More...
 
void operator-= (const FourVector &rhs)
 Arithmetic operator -=. More...
 
void operator*= (const double rhs)
 Arithmetic operator *= by scalar. More...
 
void operator/= (const double rhs)
 Arithmetic operator /= by scalar. More...
 
bool operator== (const FourVector &rhs) const
 Equality. More...
 
bool operator!= (const FourVector &rhs) const
 Inequality. More...
 
FourVector operator+ (const FourVector &rhs) const
 Arithmetic operator +. More...
 
FourVector operator- (const FourVector &rhs) const
 Arithmetic operator -. More...
 
FourVector operator* (const double rhs) const
 Arithmetic operator * by scalar. More...
 
FourVector operator/ (const double rhs) const
 Arithmetic operator / by scalar. More...
 
void operator+= (const FourVector &rhs)
 Arithmetic operator +=. More...
 
void operator-= (const FourVector &rhs)
 Arithmetic operator -=. More...
 
void operator*= (const double rhs)
 Arithmetic operator *= by scalar. More...
 
void operator/= (const double rhs)
 Arithmetic operator /= by scalar. More...
 

Static Public Member Functions

static const FourVectorZERO_VECTOR ()
 Static null FourVector = (0,0,0,0) More...
 
static const FourVectorZERO_VECTOR ()
 Static null FourVector = (0,0,0,0) More...
 

Private Attributes

double m_v1
 px or x. Interpretation depends on accessors used More...
 
double m_v2
 py or y. Interpretation depends on accessors used More...
 
double m_v3
 pz or z. Interpretation depends on accessors used More...
 
double m_v4
 e or t. Interpretation depends on accessors used More...
 

Constructor & Destructor Documentation

◆ FourVector() [1/6]

FourVector ( )
inline

Default constructor.

Definition at line 37 of file build/outputs/include/HepMC/FourVector.h.

◆ FourVector() [2/6]

FourVector ( double  xx,
double  yy,
double  zz,
double  ee 
)
inline

Sets all FourVector fields.

Definition at line 40 of file build/outputs/include/HepMC/FourVector.h.

◆ FourVector() [3/6]

FourVector ( const FourVector v)
inline

Copy constructor.

Definition at line 43 of file build/outputs/include/HepMC/FourVector.h.

◆ FourVector() [4/6]

FourVector ( )
inline

Default constructor.

Definition at line 37 of file include/HepMC/FourVector.h.

◆ FourVector() [5/6]

FourVector ( double  xx,
double  yy,
double  zz,
double  ee 
)
inline

Sets all FourVector fields.

Definition at line 40 of file include/HepMC/FourVector.h.

◆ FourVector() [6/6]

FourVector ( const FourVector v)
inline

Copy constructor.

Definition at line 43 of file include/HepMC/FourVector.h.

Member Function Documentation

◆ abs_eta() [1/2]

double abs_eta ( ) const
inline

Absolute pseudorapidity.

Definition at line 141 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::eta().

◆ abs_eta() [2/2]

double abs_eta ( ) const
inline

Absolute pseudorapidity.

Definition at line 141 of file include/HepMC/FourVector.h.

References FourVector::eta().

◆ abs_rap() [1/2]

double abs_rap ( ) const
inline

Absolute rapidity.

Definition at line 143 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::rap().

◆ abs_rap() [2/2]

double abs_rap ( ) const
inline

Absolute rapidity.

Definition at line 143 of file include/HepMC/FourVector.h.

References FourVector::rap().

◆ delta_eta() [1/2]

double delta_eta ( const FourVector v) const
inline

Pseudorapidity separation.

Definition at line 169 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::eta().

◆ delta_eta() [2/2]

double delta_eta ( const FourVector v) const
inline

Pseudorapidity separation.

Definition at line 169 of file include/HepMC/FourVector.h.

References FourVector::eta().

◆ delta_phi() [1/2]

double delta_phi ( const FourVector v) const
inline

Signed azimuthal angle separation in [-pi, pi].

Definition at line 160 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::phi().

◆ delta_phi() [2/2]

double delta_phi ( const FourVector v) const
inline

Signed azimuthal angle separation in [-pi, pi].

Definition at line 160 of file include/HepMC/FourVector.h.

References FourVector::phi().

◆ delta_r2_eta() [1/2]

double delta_r2_eta ( const FourVector v) const
inline

R_eta^2-distance separation dR^2 = dphi^2 + deta^2.

Definition at line 175 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::delta_eta(), FourVector::delta_phi(), and HepMC::sqr().

◆ delta_r2_eta() [2/2]

double delta_r2_eta ( const FourVector v) const
inline

R_eta^2-distance separation dR^2 = dphi^2 + deta^2.

Definition at line 175 of file include/HepMC/FourVector.h.

References FourVector::delta_eta(), FourVector::delta_phi(), and HepMC::sqr().

◆ delta_r2_rap() [1/2]

double delta_r2_rap ( const FourVector v) const
inline

R_rap^2-distance separation dR^2 = dphi^2 + drap^2.

Definition at line 185 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::delta_phi(), FourVector::delta_rap(), and HepMC::sqr().

◆ delta_r2_rap() [2/2]

double delta_r2_rap ( const FourVector v) const
inline

R_rap^2-distance separation dR^2 = dphi^2 + drap^2.

Definition at line 185 of file include/HepMC/FourVector.h.

References FourVector::delta_phi(), FourVector::delta_rap(), and HepMC::sqr().

◆ delta_r_eta() [1/2]

double delta_r_eta ( const FourVector v) const
inline

R_eta-distance separation dR = sqrt(dphi^2 + deta^2)

Definition at line 180 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::delta_r2_eta().

◆ delta_r_eta() [2/2]

double delta_r_eta ( const FourVector v) const
inline

R_eta-distance separation dR = sqrt(dphi^2 + deta^2)

Definition at line 180 of file include/HepMC/FourVector.h.

References FourVector::delta_r2_eta().

◆ delta_r_rap() [1/2]

double delta_r_rap ( const FourVector v) const
inline

R-rap-distance separation dR = sqrt(dphi^2 + drap^2)

Definition at line 190 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::delta_r2_rap().

◆ delta_r_rap() [2/2]

double delta_r_rap ( const FourVector v) const
inline

R-rap-distance separation dR = sqrt(dphi^2 + drap^2)

Definition at line 190 of file include/HepMC/FourVector.h.

References FourVector::delta_r2_rap().

◆ delta_rap() [1/2]

double delta_rap ( const FourVector v) const
inline

Rapidity separation.

Definition at line 172 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::rap().

◆ delta_rap() [2/2]

double delta_rap ( const FourVector v) const
inline

Rapidity separation.

Definition at line 172 of file include/HepMC/FourVector.h.

References FourVector::rap().

◆ e() [1/2]

double e ( ) const
inline

Energy component of momentum.

Definition at line 96 of file include/HepMC/FourVector.h.

References FourVector::t().

◆ e() [2/2]

double e ( ) const
inline

Energy component of momentum.

Definition at line 96 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::t().

◆ eta() [1/2]

double eta ( ) const
inline

Pseudorapidity

Todo:
Improve numerical stability

Definition at line 136 of file include/HepMC/FourVector.h.

References FourVector::p3mod(), and FourVector::pz().

◆ eta() [2/2]

double eta ( ) const
inline

Pseudorapidity

Todo:
Improve numerical stability

Definition at line 136 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::p3mod(), and FourVector::pz().

◆ interval() [1/2]

double interval ( ) const
inline

Spacetime invariant interval s^2 = t^2 - x^2 - y^2 - z^2.

Definition at line 115 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::length2(), HepMC::sqr(), and FourVector::t().

◆ interval() [2/2]

double interval ( ) const
inline

Spacetime invariant interval s^2 = t^2 - x^2 - y^2 - z^2.

Definition at line 115 of file include/HepMC/FourVector.h.

References FourVector::length2(), HepMC::sqr(), and FourVector::t().

◆ is_zero() [1/2]

bool is_zero ( ) const
inline

Check if the length of this vertex is zero.

Definition at line 157 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ is_zero() [2/2]

bool is_zero ( ) const
inline

Check if the length of this vertex is zero.

Definition at line 157 of file include/HepMC/FourVector.h.

References FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ length() [1/2]

double length ( ) const
inline

Magnitude of spatial (x, y, z) 3-vector.

Definition at line 109 of file include/HepMC/FourVector.h.

References FourVector::length2().

◆ length() [2/2]

double length ( ) const
inline

Magnitude of spatial (x, y, z) 3-vector.

Definition at line 109 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::length2().

◆ length2() [1/2]

double length2 ( ) const
inline

Squared magnitude of (x, y, z) 3-vector.

Definition at line 107 of file build/outputs/include/HepMC/FourVector.h.

References HepMC::sqr(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ length2() [2/2]

double length2 ( ) const
inline

Squared magnitude of (x, y, z) 3-vector.

Definition at line 107 of file include/HepMC/FourVector.h.

References HepMC::sqr(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ m() [1/2]

double m ( ) const
inline

Invariant mass. Returns -sqrt(-m) if e^2 - P^2 is negative.

Definition at line 128 of file include/HepMC/FourVector.h.

References FourVector::m2().

◆ m() [2/2]

double m ( ) const
inline

Invariant mass. Returns -sqrt(-m) if e^2 - P^2 is negative.

Definition at line 128 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m2().

◆ m2() [1/2]

double m2 ( ) const
inline

Squared invariant mass m^2 = E^2 - px^2 - py^2 - pz^2.

Definition at line 126 of file include/HepMC/FourVector.h.

References FourVector::interval().

◆ m2() [2/2]

double m2 ( ) const
inline

Squared invariant mass m^2 = E^2 - px^2 - py^2 - pz^2.

Definition at line 126 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::interval().

◆ operator!=() [1/2]

bool operator!= ( const FourVector rhs) const
inline

Inequality.

Definition at line 205 of file build/outputs/include/HepMC/FourVector.h.

◆ operator!=() [2/2]

bool operator!= ( const FourVector rhs) const
inline

Inequality.

Definition at line 205 of file include/HepMC/FourVector.h.

◆ operator*() [1/2]

FourVector operator* ( const double  rhs) const
inline

Arithmetic operator * by scalar.

Definition at line 216 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::FourVector(), FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ operator*() [2/2]

FourVector operator* ( const double  rhs) const
inline

Arithmetic operator * by scalar.

Definition at line 216 of file include/HepMC/FourVector.h.

References FourVector::FourVector(), FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ operator*=() [1/2]

void operator*= ( const double  rhs)
inline

◆ operator*=() [2/2]

void operator*= ( const double  rhs)
inline

◆ operator+() [1/2]

FourVector operator+ ( const FourVector rhs) const
inline

◆ operator+() [2/2]

FourVector operator+ ( const FourVector rhs) const
inline

Arithmetic operator +.

Definition at line 208 of file include/HepMC/FourVector.h.

References FourVector::FourVector(), FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ operator+=() [1/2]

void operator+= ( const FourVector rhs)
inline

◆ operator+=() [2/2]

void operator+= ( const FourVector rhs)
inline

◆ operator-() [1/2]

FourVector operator- ( const FourVector rhs) const
inline

◆ operator-() [2/2]

FourVector operator- ( const FourVector rhs) const
inline

Arithmetic operator -.

Definition at line 212 of file include/HepMC/FourVector.h.

References FourVector::FourVector(), FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ operator-=() [1/2]

void operator-= ( const FourVector rhs)
inline

◆ operator-=() [2/2]

void operator-= ( const FourVector rhs)
inline

◆ operator/() [1/2]

FourVector operator/ ( const double  rhs) const
inline

Arithmetic operator / by scalar.

Definition at line 220 of file include/HepMC/FourVector.h.

References FourVector::FourVector(), FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ operator/() [2/2]

FourVector operator/ ( const double  rhs) const
inline

Arithmetic operator / by scalar.

Definition at line 220 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::FourVector(), FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ operator/=() [1/2]

void operator/= ( const double  rhs)
inline

◆ operator/=() [2/2]

void operator/= ( const double  rhs)
inline

◆ operator==() [1/2]

bool operator== ( const FourVector rhs) const
inline

Equality.

Definition at line 201 of file include/HepMC/FourVector.h.

References FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ operator==() [2/2]

bool operator== ( const FourVector rhs) const
inline

◆ p3mod() [1/2]

double p3mod ( ) const
inline

Magnitude of p3 = (px, py, pz) vector.

Definition at line 120 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::length().

◆ p3mod() [2/2]

double p3mod ( ) const
inline

Magnitude of p3 = (px, py, pz) vector.

Definition at line 120 of file include/HepMC/FourVector.h.

References FourVector::length().

◆ p3mod2() [1/2]

double p3mod2 ( ) const
inline

Squared magnitude of p3 = (px, py, pz) vector.

Definition at line 118 of file include/HepMC/FourVector.h.

References FourVector::length2().

◆ p3mod2() [2/2]

double p3mod2 ( ) const
inline

Squared magnitude of p3 = (px, py, pz) vector.

Definition at line 118 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::length2().

◆ perp() [1/2]

double perp ( ) const
inline

Magnitude of (x, y) vector.

Definition at line 113 of file include/HepMC/FourVector.h.

References FourVector::perp2().

◆ perp() [2/2]

double perp ( ) const
inline

Magnitude of (x, y) vector.

Definition at line 113 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::perp2().

◆ perp2() [1/2]

double perp2 ( ) const
inline

Squared magnitude of (x, y) vector.

Definition at line 111 of file include/HepMC/FourVector.h.

References HepMC::sqr(), FourVector::x(), and FourVector::y().

◆ perp2() [2/2]

double perp2 ( ) const
inline

Squared magnitude of (x, y) vector.

Definition at line 111 of file build/outputs/include/HepMC/FourVector.h.

References HepMC::sqr(), FourVector::x(), and FourVector::y().

◆ phi() [1/2]

double phi ( ) const
inline

Azimuthal angle.

Definition at line 131 of file include/HepMC/FourVector.h.

References FourVector::x(), and FourVector::y().

◆ phi() [2/2]

double phi ( ) const
inline

Azimuthal angle.

Definition at line 131 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::x(), and FourVector::y().

◆ pseudoRapidity() [1/2]

double pseudoRapidity ( ) const
inline

Same as eta.

Definition at line 147 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::eta().

◆ pseudoRapidity() [2/2]

double pseudoRapidity ( ) const
inline

Same as eta.

Definition at line 147 of file include/HepMC/FourVector.h.

References FourVector::eta().

◆ pt() [1/2]

double pt ( ) const
inline

Transverse momentum.

Definition at line 124 of file include/HepMC/FourVector.h.

References FourVector::perp().

◆ pt() [2/2]

double pt ( ) const
inline

Transverse momentum.

Definition at line 124 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::perp().

◆ pt2() [1/2]

double pt2 ( ) const
inline

Squared transverse momentum px^2 + py^2.

Definition at line 122 of file include/HepMC/FourVector.h.

References FourVector::perp2().

◆ pt2() [2/2]

double pt2 ( ) const
inline

Squared transverse momentum px^2 + py^2.

Definition at line 122 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::perp2().

◆ px() [1/2]

double px ( ) const
inline

x-component of momentum

Definition at line 81 of file include/HepMC/FourVector.h.

References FourVector::x().

◆ px() [2/2]

double px ( ) const
inline

x-component of momentum

Definition at line 81 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::x().

◆ py() [1/2]

double py ( ) const
inline

y-component of momentum

Definition at line 86 of file include/HepMC/FourVector.h.

References FourVector::y().

◆ py() [2/2]

double py ( ) const
inline

y-component of momentum

Definition at line 86 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::y().

◆ pz() [1/2]

double pz ( ) const
inline

z-component of momentum

Definition at line 91 of file include/HepMC/FourVector.h.

References FourVector::z().

◆ pz() [2/2]

double pz ( ) const
inline

z-component of momentum

Definition at line 91 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::z().

◆ rap() [1/2]

double rap ( ) const
inline

Rapidity

Todo:
Improve numerical stability

Definition at line 139 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::e(), and FourVector::pz().

◆ rap() [2/2]

double rap ( ) const
inline

Rapidity

Todo:
Improve numerical stability

Definition at line 139 of file include/HepMC/FourVector.h.

References FourVector::e(), and FourVector::pz().

◆ set() [1/2]

void set ( double  x1,
double  x2,
double  x3,
double  x4 
)
inline

Set all FourVector fields, in order x,y,z,t.

Definition at line 51 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v1, FourVector::m_v2, FourVector::m_v3, and FourVector::m_v4.

◆ set() [2/2]

void set ( double  x1,
double  x2,
double  x3,
double  x4 
)
inline

Set all FourVector fields, in order x,y,z,t.

Definition at line 51 of file include/HepMC/FourVector.h.

References FourVector::m_v1, FourVector::m_v2, FourVector::m_v3, and FourVector::m_v4.

◆ setE() [1/2]

void setE ( double  ee)
inline

Set energy component of momentum.

Definition at line 98 of file include/HepMC/FourVector.h.

References FourVector::setT().

◆ setE() [2/2]

void setE ( double  ee)
inline

Set energy component of momentum.

Definition at line 98 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::setT().

◆ setPx() [1/2]

void setPx ( double  pxx)
inline

Set x-component of momentum.

Definition at line 83 of file include/HepMC/FourVector.h.

References FourVector::setX().

◆ setPx() [2/2]

void setPx ( double  pxx)
inline

Set x-component of momentum.

Definition at line 83 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::setX().

◆ setPy() [1/2]

void setPy ( double  pyy)
inline

Set y-component of momentum.

Definition at line 88 of file include/HepMC/FourVector.h.

References FourVector::setY().

◆ setPy() [2/2]

void setPy ( double  pyy)
inline

Set y-component of momentum.

Definition at line 88 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::setY().

◆ setPz() [1/2]

void setPz ( double  pzz)
inline

Set z-component of momentum.

Definition at line 93 of file include/HepMC/FourVector.h.

References FourVector::setZ().

◆ setPz() [2/2]

void setPz ( double  pzz)
inline

Set z-component of momentum.

Definition at line 93 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::setZ().

◆ setT() [1/2]

void setT ( double  tt)
inline

Set time component of position/displacement.

Definition at line 77 of file include/HepMC/FourVector.h.

References FourVector::m_v4.

◆ setT() [2/2]

void setT ( double  tt)
inline

Set time component of position/displacement.

Definition at line 77 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v4.

◆ setX() [1/2]

void setX ( double  xx)
inline

Set x-component of position/displacement.

Definition at line 62 of file include/HepMC/FourVector.h.

References FourVector::m_v1.

◆ setX() [2/2]

void setX ( double  xx)
inline

Set x-component of position/displacement.

Definition at line 62 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v1.

◆ setY() [1/2]

void setY ( double  yy)
inline

Set y-component of position/displacement.

Definition at line 67 of file include/HepMC/FourVector.h.

References FourVector::m_v2.

◆ setY() [2/2]

void setY ( double  yy)
inline

Set y-component of position/displacement.

Definition at line 67 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v2.

◆ setZ() [1/2]

void setZ ( double  zz)
inline

Set z-component of position/displacement.

Definition at line 72 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v3.

◆ setZ() [2/2]

void setZ ( double  zz)
inline

Set z-component of position/displacement.

Definition at line 72 of file include/HepMC/FourVector.h.

References FourVector::m_v3.

◆ t() [1/2]

double t ( ) const
inline

Time component of position/displacement.

Definition at line 75 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v4.

◆ t() [2/2]

double t ( ) const
inline

Time component of position/displacement.

Definition at line 75 of file include/HepMC/FourVector.h.

References FourVector::m_v4.

◆ theta() [1/2]

double theta ( ) const
inline

Polar angle w.r.t. z direction.

Definition at line 133 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::perp(), and FourVector::z().

◆ theta() [2/2]

double theta ( ) const
inline

Polar angle w.r.t. z direction.

Definition at line 133 of file include/HepMC/FourVector.h.

References FourVector::perp(), and FourVector::z().

◆ x() [1/2]

double x ( ) const
inline

x-component of position/displacement

Definition at line 60 of file include/HepMC/FourVector.h.

References FourVector::m_v1.

◆ x() [2/2]

double x ( ) const
inline

x-component of position/displacement

Definition at line 60 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v1.

◆ y() [1/2]

double y ( ) const
inline

y-component of position/displacement

Definition at line 65 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v2.

◆ y() [2/2]

double y ( ) const
inline

y-component of position/displacement

Definition at line 65 of file include/HepMC/FourVector.h.

References FourVector::m_v2.

◆ z() [1/2]

double z ( ) const
inline

z-component of position/displacement

Definition at line 70 of file build/outputs/include/HepMC/FourVector.h.

References FourVector::m_v3.

◆ z() [2/2]

double z ( ) const
inline

z-component of position/displacement

Definition at line 70 of file include/HepMC/FourVector.h.

References FourVector::m_v3.

◆ ZERO_VECTOR() [1/2]

static const FourVector& ZERO_VECTOR ( )
inlinestatic

Static null FourVector = (0,0,0,0)

Definition at line 257 of file build/outputs/include/HepMC/FourVector.h.

◆ ZERO_VECTOR() [2/2]

static const FourVector& ZERO_VECTOR ( )
inlinestatic

Static null FourVector = (0,0,0,0)

Definition at line 257 of file include/HepMC/FourVector.h.

Field Documentation

◆ m_v1

double m_v1
private

px or x. Interpretation depends on accessors used

Definition at line 265 of file build/outputs/include/HepMC/FourVector.h.

◆ m_v2

double m_v2
private

py or y. Interpretation depends on accessors used

Definition at line 266 of file build/outputs/include/HepMC/FourVector.h.

◆ m_v3

double m_v3
private

pz or z. Interpretation depends on accessors used

Definition at line 267 of file build/outputs/include/HepMC/FourVector.h.

◆ m_v4

double m_v4
private

e or t. Interpretation depends on accessors used

Definition at line 268 of file build/outputs/include/HepMC/FourVector.h.


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