Rivet::FourVector Class Reference

Specialisation of VectorN to a general (non-momentum) Lorentz 4-vector. More...

`#include <Vector4.hh>`

Inheritance diagram for Rivet::FourVector:

## Public Member Functions

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

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

## Additional Inherited Members

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

## Detailed Description

Specialisation of VectorN to a general (non-momentum) Lorentz 4-vector.

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

- include/Rivet/Math/Vector4.hh