Rivet  1.8.0
Classes | Public Member Functions | Friends | List of all members
Rivet::FourMomentum Class Reference

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

#include <Vector4.hh>

Inheritance diagram for Rivet::FourMomentum:
Rivet::FourVector Rivet::Vector< 4 >

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 $ E $ (time component of momentum).
Vector3 p () const
 Get 3-momentum part, $ p $.
double px () const
 Get x-component of momentum $ p_x $.
double py () const
 Get y-component of momentum $ p_y $.
double pz () const
 Get z-component of momentum $ p_z $.
FourMomentumsetE (double E)
 Set energy $ E $ (time component of momentum).
FourMomentumsetPx (double px)
 Set x-component of momentum $ p_x $.
FourMomentumsetPy (double py)
 Set y-component of momentum $ p_y $.
FourMomentumsetPz (double pz)
 Set z-component of momentum $ p_z $.
double mass () const
 Get the mass $ m = \sqrt{E^2 - p^2} $ (the Lorentz self-invariant).
double massT () const
 Calculate the transverse mass $ m_T = m \sin{\theta} $.
double mass2 () const
 Get the squared mass $ m^2 = E^2 - p^2 $ (the Lorentz self-invariant).
double massT2 () const
 Calculate the squared transverse mass $ m_T^2 = m^2 \sin^2{\theta} $.
double rapidity () const
 Calculate the rapidity.
double pT2 () const
 Calculate the squared transverse momentum $ p_T^2 $.
double pT () const
 Calculate the transverse momentum $ p_T $.
double Et2 () const
 Calculate the transverse energy $ E_T^2 = E^2 \sin^2{\theta} $.
double Et () const
 Calculate the transverse energy $ E_T = E \sin{\theta} $.
Vector3 boostVector () const
 Calculate the boost vector (in units of $ \beta $).
FourMomentumoperator*= (double a)
 Multiply by a scalar.
FourMomentumoperator/= (double a)
 Divide by a scalar.
FourMomentumoperator+= (const FourMomentum &v)
FourMomentumoperator-= (const FourMomentum &v)
FourMomentum operator- () const
 Invert the vector.
- 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
FourVectorsetT (const double t)
FourVectorsetX (const double x)
FourVectorsetY (const double y)
FourVectorsetZ (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 $ x-y $ 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 $ x-y $ 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 (+ - - -).
FourVectoroperator+= (const FourVector &v)
FourVectoroperator-= (const FourVector &v)
- 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. $ \sum_{i=1}^N x_i^2 $.
double mod () const
 Calculate the modulus of a vector. $ \sqrt{\sum_{i=1}^N x_i^2} $.
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 $ \beta $).

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

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

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


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