Home · Overview · Users Guide · Reference Guide |
Kinematics
is a utility class to calculate and transform
kinematic variables. More...
#include "Kinematics.h"
static double | xprobe(double Q2, double W2, double vmM) |
static TLorentzVector | electronBeam(double eE) |
static TLorentzVector | hadronBeam(double eH) |
static double | s(const TLorentzVector& e, const TLorentzVector& p) |
static double | s(double eE, double hE) |
static double | x(double Q2, double W2) |
static double | y(double Q2, double x, double s) |
static double | ymin(double s, double vmM) |
static double | ymax(double s, double vmM) |
static double | W2(double Q2, double x) |
static double | W2(double Q2, double xprobe, double vmM) |
static double | W2min(double vmM) |
static double | W2max(double s) |
static double | Q2min(double y) |
static double | Q2max(double s) |
static double | xpomeron(double t, double Q2, double W2, double vmM) |
static double | tmax(double xpom) |
static double | tmax(double t, double Q2, double W2, double vmM) |
static double | tmin(double hE) |
static bool | valid(double s, double t, double Q2, double W2, double vmMass, |
static bool | error() |
The Kinematics
class consists of a
rich set of static methods that allows one to calculate
kinematic variables common in DIS. These methods
are heavily used in Sartre but are
also quite useful for the user. All calculation are
conducted in the most precise way, i.e. without neglecting
the nucleon mass or even the electron mass. We strongly
recommend to use these methods. If
an error occurs (e.g. invalid range) an internal
error flag is set that can be checked using Kinematics::error().
For vector meson production, the gluon density is typically evaluated at x = xBJ(1 + MV2/Q2). Here we use the (for our purposes) slightly more robust equivalent expression x = (Q2+ MV2)/(W2 - mp2 + Q2). If x < 0 or x > 1 the error flag is set.
Returns Lorentz vector of the electron beam for given beam energy eE. Note that px=py=0 and z<0 (Sartre conventions).
Returns Lorentz vector of the hadron beam for given
beam energy eH. Note that px=py=0
and pz > 0 (Sartre conventions).
Note that the units are always per nucleon.
Returns the center-of-mass energy squared for electron beam e, and hadron beam 4-vector p.
Overloaded function. Same as s(Kinematics::electronBeam(eE), Kinematics::hadronBeam(eH)).
Returns Bjorken x for given Q2 and W2 values.
Returns inelasticity for given Q2, W2, and s.
Returns smallest allowed inelasticity value (kinematic limit) for given s and vector meson mass vmM.
Returns largest allowed inelasticity value (kinematic limit) for given s and vector meson mass vmM.
Returns W2 for given Q2 and Bjorken x.
Returns W2 for given Q2, xprobe and vector meson mass vmM. For xprobe see xprobe().
Returns smallest allowed W2 value (kinematic limit) for vector meson mass vmM.
Returns largest allowed W2 value (kinematic limit) for given s.
Returns smallest allowed Q2 value (kinematic limit) for given inelasticity y.
Returns largest allowed Q2 value (kinematic limit) for given s.
Returns xIP for given t, Q2, W2,and vector meson mass MV.
Returns largest kinematically allowed t for a given xIP. Note that this value is incorrectly often referred to as tmin ignoring the fact that t < 0. See also notes at the second version of tmax().
Returns largest kinematically allowed t for given values of t, Q2, W2, and vector meson mass vmM. At a first glance this looks strange since tmax depends on t. The definition for tmax we use is tmax = - Mp2 xIP2 / (1 - xIP). Unfortunately xIP depends on t if no approximations are included. For all practical purposes setting t=0 is a good approximation.
Note that the returned value is incorrectly often referred to as tmin ignoring the fact that t < 0.
Returns largest kinematically allowed |t| for a given hadron beam energy, hE.
Returns true if the set of kinematic variables (s, t, Q2, W2 and Mp) are kinematically valid. Flag useTrueXp controls whether the exact calculation of xIP should be used (i.e., not neglecting t) or if the approximation for xIP with t=0 is to be used. If the verbose flag is on the method will print out the first encountered reason why the set of kinematic variables is not valid.
Returns the error flag of the last call. If true
an
error has occurred and the result cannot be trusted.
Last Update: January 8, 2013 |