|
Specialized version of the FourVector with momentum/energy functionality.
More...
#include <Vector4.hh>
|
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) |
|
|
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 .
|
|
FourMomentum & | setPE (double px, double py, double pz, double E) |
| Set the p coordinates and energy simultaneously.
|
|
FourMomentum & | setXYZE (double px, double py, double pz, double E) |
| Alias for setPE.
|
|
FourMomentum & | setPM (double px, double py, double pz, double mass) |
| Set the p coordinates and mass simultaneously.
|
|
FourMomentum & | setXYZM (double px, double py, double pz, double mass) |
| Alias for setPM.
|
|
FourMomentum & | setEtaPhiME (double eta, double phi, double mass, double E) |
|
FourMomentum & | setEtaPhiMPt (double eta, double phi, double mass, double pt) |
|
FourMomentum & | setRapPhiME (double y, double phi, double mass, double E) |
|
FourMomentum & | setRapPhiMPt (double y, double phi, double mass, double pt) |
|
FourMomentum & | setThetaPhiME (double theta, double phi, double mass, double E) |
|
FourMomentum & | setThetaPhiMPt (double theta, double phi, double mass, double pt) |
|
FourMomentum & | setPtPhiME (double pt, double phi, double mass, double E) |
|
|
double | E () const |
| Get energy (time component of momentum).
|
|
double | E2 () const |
| Get energy-squared .
|
|
double | px () const |
| Get x-component of momentum .
|
|
double | px2 () const |
| Get x-squared .
|
|
double | py () const |
| Get y-component of momentum .
|
|
double | py2 () const |
| Get y-squared .
|
|
double | pz () const |
| Get z-component of momentum .
|
|
double | pz2 () const |
| Get z-squared .
|
|
double | mass () const |
| Get the mass (the Lorentz self-invariant). More...
|
|
double | mass2 () const |
| Get the squared mass (the Lorentz self-invariant).
|
|
Vector3 | p3 () const |
| Get 3-momentum part, .
|
|
double | p () const |
| Get the modulus of the 3-momentum.
|
|
double | p2 () const |
| Get the modulus-squared of the 3-momentum.
|
|
double | rapidity () const |
| Calculate the rapidity.
|
|
double | rap () const |
| Alias for rapidity.
|
|
double | absrapidity () const |
| Absolute rapidity.
|
|
double | absrap () const |
| Absolute rapidity.
|
|
Vector3 | pTvec () const |
| Calculate the transverse momentum vector .
|
|
Vector3 | ptvec () const |
| Synonym for pTvec.
|
|
double | pT2 () const |
| Calculate the squared transverse momentum .
|
|
double | pt2 () const |
| Calculate the squared transverse momentum .
|
|
double | pT () const |
| Calculate the transverse momentum .
|
|
double | pt () const |
| Calculate the transverse momentum .
|
|
double | Et2 () const |
| Calculate the transverse energy .
|
|
double | Et () const |
| Calculate the transverse energy .
|
|
|
double | gamma () const |
|
Vector3 | gammaVec () const |
|
double | beta () const |
|
Vector3 | betaVec () const |
|
Vector3 | boostVector () const |
| Deprecated alias for betaVec. More...
|
|
|
FourMomentum & | operator*= (double a) |
| Multiply by a scalar.
|
|
FourMomentum & | operator/= (double a) |
| Divide by a scalar.
|
|
FourMomentum & | operator+= (const FourMomentum &v) |
| Add to this 4-vector. NB time as well as space components are added.
|
|
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.
|
|
FourMomentum | reverse () const |
| Multiply space components only by -1.
|
|
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 | t2 () const |
|
FourVector & | setT (const double t) |
|
double | x () const |
|
double | x2 () const |
|
FourVector & | setX (const double x) |
|
double | y () const |
|
double | y2 () const |
|
FourVector & | setY (const double y) |
|
double | z () const |
|
double | z2 () const |
|
FourVector & | setZ (const double z) |
|
double | invariant () const |
|
bool | isNull () 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 |
| Mod-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 |
| Magnitude of projection of 3-vector on to the plane.
|
|
double | perp () const |
| Synonym for polarRadius.
|
|
double | rho () const |
| Synonym for polarRadius.
|
|
Vector3 | polarVec () const |
| Projection of 3-vector on to the plane.
|
|
Vector3 | perpVec () const |
| Synonym for polarVec.
|
|
Vector3 | rhoVec () const |
| Synonym for polarVec.
|
|
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.
|
|
double | abspseudorapidity () const |
| Get the directly.
|
|
double | abseta () const |
| Get the directly (alias).
|
|
Vector3 | vector3 () const |
| Get the spatial part of the 4-vector as a 3-vector.
|
|
| operator Vector3 () const |
| Implicit cast to 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.
|
|
FourVector | reverse () const |
| Multiply space components only by -1.
|
|
| Vector (const Vector< N > &other) |
|
const double & | get (const size_t index) const |
|
double & | get (const size_t index) |
|
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 |
|
|
|
static FourMomentum | mkXYZE (double px, double py, double pz, double E) |
| Make a vector from (px,py,pz,E) coordinates.
|
|
static FourMomentum | mkXYZM (double px, double py, double pz, double mass) |
| Make a vector from (px,py,pz) coordinates and the mass.
|
|
static FourMomentum | mkEtaPhiME (double eta, double phi, double mass, double E) |
| Make a vector from (eta,phi,energy) coordinates and the mass.
|
|
static FourMomentum | mkEtaPhiMPt (double eta, double phi, double mass, double pt) |
| Make a vector from (eta,phi,pT) coordinates and the mass.
|
|
static FourMomentum | mkRapPhiME (double y, double phi, double mass, double E) |
| Make a vector from (y,phi,energy) coordinates and the mass.
|
|
static FourMomentum | mkRapPhiMPt (double y, double phi, double mass, double pt) |
| Make a vector from (y,phi,pT) coordinates and the mass.
|
|
static FourMomentum | mkThetaPhiME (double theta, double phi, double mass, double E) |
| Make a vector from (theta,phi,energy) coordinates and the mass.
|
|
static FourMomentum | mkThetaPhiMPt (double theta, double phi, double mass, double pt) |
| Make a vector from (theta,phi,pT) coordinates and the mass.
|
|
static FourMomentum | mkPtPhiME (double pt, double phi, double mass, double E) |
| Make a vector from (pT,phi,energy) coordinates and the mass.
|
|
Specialized version of the FourVector with momentum/energy functionality.
◆ beta()
double Rivet::FourMomentum::beta |
( |
| ) |
const |
|
inline |
Calculate the boost factor . - Note
so we rely on the c=1 convention
◆ betaVec()
Vector3 Rivet::FourMomentum::betaVec |
( |
| ) |
const |
|
inline |
◆ boostVector()
Vector3 Rivet::FourMomentum::boostVector |
( |
| ) |
const |
|
inline |
◆ gamma()
double Rivet::FourMomentum::gamma |
( |
| ) |
const |
|
inline |
Calculate the boost factor . - Note
so we rely on the c=1 convention
◆ gammaVec()
Vector3 Rivet::FourMomentum::gammaVec |
( |
| ) |
const |
|
inline |
◆ mass()
double Rivet::FourMomentum::mass |
( |
| ) |
const |
|
inline |
Get the mass (the Lorentz self-invariant).
For spacelike momenta, the mass will be -sqrt(|mass2|).
References Rivet::sign().
Referenced by Rivet::acmsBetaVec(), Rivet::acmsBoostVec(), Rivet::acmsGammaVec(), Rivet::asqrtS(), Rivet::InvMassFinalState::calc(), Rivet::cmpMomByAscMass(), Rivet::cmpMomByMass(), Rivet::cmsGammaVec(), Rivet::ParticleBase::mass(), Rivet::mT2Sq(), Rivet::P4_SMEAR_E_GAUSS(), Rivet::P4_SMEAR_MASS_GAUSS(), and Rivet::P4_SMEAR_PT_GAUSS().
◆ setEtaPhiME()
FourMomentum& Rivet::FourMomentum::setEtaPhiME |
( |
double |
eta, |
|
|
double |
phi, |
|
|
double |
mass, |
|
|
double |
E |
|
) |
| |
|
inline |
◆ setEtaPhiMPt()
FourMomentum& Rivet::FourMomentum::setEtaPhiMPt |
( |
double |
eta, |
|
|
double |
phi, |
|
|
double |
mass, |
|
|
double |
pt |
|
) |
| |
|
inline |
◆ setPtPhiME()
FourMomentum& Rivet::FourMomentum::setPtPhiME |
( |
double |
pt, |
|
|
double |
phi, |
|
|
double |
mass, |
|
|
double |
E |
|
) |
| |
|
inline |
Set the vector state from (pT,phi,energy) coordinates and the mass
pz = sqrt(E^2 - mass^2 - pt^2)
References Rivet::sqr().
Referenced by mkPtPhiME().
◆ setRapPhiME()
FourMomentum& Rivet::FourMomentum::setRapPhiME |
( |
double |
y, |
|
|
double |
phi, |
|
|
double |
mass, |
|
|
double |
E |
|
) |
| |
|
inline |
Set the vector state from (y,phi,energy) coordinates and the mass
y = 0.5 * ln((E+pz)/(E-pz)) -> (E^2 - pz^2) exp(2y) = (E+pz)^2 & (E^2 - pz^2) exp(-2y) = (E-pz)^2 -> E = sqrt(pt^2 + m^2) cosh(y) -> pz = sqrt(pt^2 + m^2) sinh(y) -> sqrt(pt^2 + m^2) = E / cosh(y)
References Rivet::sqr().
Referenced by mkRapPhiME().
◆ setRapPhiMPt()
FourMomentum& Rivet::FourMomentum::setRapPhiMPt |
( |
double |
y, |
|
|
double |
phi, |
|
|
double |
mass, |
|
|
double |
pt |
|
) |
| |
|
inline |
Set the vector state from (y,phi,pT) coordinates and the mass
y = 0.5 * ln((E+pz)/(E-pz)) -> E = sqrt(pt^2 + m^2) cosh(y) [see above]
References Rivet::sqr().
Referenced by mkRapPhiMPt().
◆ setThetaPhiME()
FourMomentum& Rivet::FourMomentum::setThetaPhiME |
( |
double |
theta, |
|
|
double |
phi, |
|
|
double |
mass, |
|
|
double |
E |
|
) |
| |
|
inline |
Set the vector state from (theta,phi,energy) coordinates and the mass
p = sqrt(E^2 - mass^2) pz = p cos(theta) pt = p sin(theta)
References Rivet::sqr().
Referenced by mkThetaPhiME().
◆ setThetaPhiMPt()
FourMomentum& Rivet::FourMomentum::setThetaPhiMPt |
( |
double |
theta, |
|
|
double |
phi, |
|
|
double |
mass, |
|
|
double |
pt |
|
) |
| |
|
inline |
Set the vector state from (theta,phi,pT) coordinates and the mass
p = pt / sin(theta) pz = p cos(theta) E = sqrt(p^2 + mass^2)
References Rivet::sqr().
Referenced by mkThetaPhiMPt().
The documentation for this class was generated from the following file:
|