Rivet::FourMomentum Class Reference

Specialized version of the FourVector with momentum/energy functionality. More...

`#include <Vector4.hh>`

Inheritance diagram for Rivet::FourMomentum:

## Classes

struct | byEAscending
| Struct for sorting by increasing energy. More...
struct | byEDescending
| Struct for sorting by decreasing energy. More...

## Public Member Functions

template<typename V4 >
| FourMomentum (const V4 &other)
| FourMomentum (const Vector< 4 > &other)
| FourMomentum (const double E, const double px, const double py, const double pz)
double | E () const
| Get energy (time component of momentum).
Vector3 | p () const
| Get 3-momentum part, .
double | px () const
| Get x-component of momentum .
double | py () const
| Get y-component of momentum .
double | pz () const
| Get z-component of momentum .
FourMomentum & | setE (double E)
| Set energy (time component of momentum).
FourMomentum & | setPx (double px)
| Set x-component of momentum .
FourMomentum & | setPy (double py)
| Set y-component of momentum .
FourMomentum & | setPz (double pz)
| Set z-component of momentum .
double | mass () const
| Get the mass (the Lorentz self-invariant). More...
double | mass2 () const
| Get the squared mass (the Lorentz self-invariant).
double | rapidity () const
| Calculate the rapidity.
double | pT2 () const
| Calculate the squared transverse momentum .
double | pT () const
| Calculate the transverse momentum .
double | Et2 () const
| Calculate the transverse energy .
double | Et () const
| Calculate the transverse energy .
Vector3 | boostVector () const
| Calculate the boost vector (in units of ). More...
FourMomentum & | operator*= (double a)
| Multiply by a scalar.
FourMomentum & | operator/= (double a)
| Divide by a scalar.
FourMomentum & | operator+= (const FourMomentum &v)
| Subtract from this 4-vector. NB time as well as space components are subtracted.
FourMomentum & | operator-= (const FourMomentum &v)
| Subtract from this 4-vector. NB time as well as space components are subtracted.
FourMomentum | operator- () const
| Multiply all components (time and space) by -1.
Public Member Functions inherited from Rivet::FourVector
template<typename V4 >
| FourVector (const V4 &other)
| FourVector (const Vector< 4 > &other)
| FourVector (const double t, const double x, const double y, const double z)
double | t () const
double | x () const
double | y () const
double | z () const
FourVector & | setT (const double t)
FourVector & | setX (const double x)
FourVector & | setY (const double y)
FourVector & | setZ (const double z)
double | invariant () const
double | angle (const FourVector &v) const
| Angle between this vector and another.
double | angle (const Vector3 &v3) const
| Angle between this vector and another (3-vector)
double | polarRadius2 () const
| Square of the projection of the 3-vector on to the plane This is a more efficient function than `polarRadius`, as it avoids the square root. Use it if you only need the squared value, or e.g. an ordering by magnitude.
double | perp2 () const
| Synonym for polarRadius2.
double | rho2 () const
| Synonym for polarRadius2.
double | polarRadius () const
| Projection of 3-vector on to the plane.
double | perp () const
| Synonym for polarRadius.
double | rho () const
| Synonym for polarRadius.
double | azimuthalAngle (const PhiMapping mapping=ZERO_2PI) const
| Angle subtended by the 3-vector's projection in x-y and the x-axis.
double | phi (const PhiMapping mapping=ZERO_2PI) const
| Synonym for azimuthalAngle.
double | polarAngle () const
| Angle subtended by the 3-vector and the z-axis.
double | theta () const
| Synonym for polarAngle.
double | pseudorapidity () const
| Pseudorapidity (defined purely by the 3-vector components)
double | eta () const
| Synonym for pseudorapidity.
Vector3 | vector3 () const
| Get the spatial part of the 4-vector as a 3-vector.
double | contract (const FourVector &v) const
| Contract two 4-vectors, with metric signature (+ - - -).
double | dot (const FourVector &v) const
| Contract two 4-vectors, with metric signature (+ - - -).
double | operator* (const FourVector &v) const
| Contract two 4-vectors, with metric signature (+ - - -).
FourVector & | operator*= (double a)
| Multiply by a scalar.
FourVector & | operator/= (double a)
| Divide by a scalar.
FourVector & | operator+= (const FourVector &v)
| Add to this 4-vector.
FourVector & | operator-= (const FourVector &v)
| Subtract from this 4-vector. NB time as well as space components are subtracted.
FourVector | operator- () const
| Multiply all components (space and time) by -1.
Public Member Functions inherited from Rivet::Vector< 4 >
| Vector (const Vector< N > &other)
const double & | get (const size_t index) const
const double & | operator[] (const size_t index) const
| Direct access to vector elements by index.
double & | operator[] (const size_t index)
| Direct access to vector elements by index.
Vector< N > & | set (const size_t index, const double value)
| Set indexed value.
size_t | size () const
| Vector dimensionality.
bool | isZero (double tolerance=1E-5) const
| Check for nullness, allowing for numerical precision.
double | mod2 () const
| Calculate the modulus-squared of a vector. .
double | mod () const
| Calculate the modulus of a vector. .
Vector< N > | operator- () const
| Invert the vector.
bool | operator== (const Vector< N > &a) const
bool | operator!= (const Vector< N > &a) const
bool | operator< (const Vector< N > &a) const
bool | operator<= (const Vector< N > &a) const
bool | operator> (const Vector< N > &a) const
bool | operator>= (const Vector< N > &a) const

## Friends

FourMomentum | multiply (const double a, const FourMomentum &v)
FourMomentum | multiply (const FourMomentum &v, const double a)
FourMomentum | add (const FourMomentum &a, const FourMomentum &b)
FourMomentum | transform (const LorentzTransform &lt, const FourMomentum &v4)

## Additional Inherited Members

Protected Member Functions inherited from Rivet::Vector< 4 >
double & | get (const size_t index)

## Detailed Description

Specialized version of the FourVector with momentum/energy functionality.

## Member Function Documentation

Vector3 Rivet::FourMomentum::boostVector | ( |  | ) | const

inline

Calculate the boost vector (in units of ).

Todo:
  Be careful about c=1 convention...

References E(), px(), py(), and pz().

Referenced by Rivet::boostVector(), and Rivet::DISKinematics::project().

double Rivet::FourMomentum::mass | ( |  | ) | const

inline

Get the mass (the Lorentz self-invariant).

For spacelike momenta, the mass will be -sqrt(|mass2|).

References mass2(), and Rivet::sign().

Referenced by Rivet::InvMassFinalState::calc(), Rivet::Particle::mass(), and Rivet::mass().

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

- include/Rivet/Math/Vector4.hh