#include <SimplePhaseSpace.h>
Static Public Member Functions | |
template<typename PType> | |
static void | CMS (Energy2 s, PType &p1, PType &p2) |
Set two momenta in their center of mass system. | |
template<typename PType> | |
static void | CMS (PType &p1, PType &p2, Energy2 s, double cosTheta, double phi) |
Set two momenta in their center of mass system. | |
template<typename PType> | |
static void | CMS (PType &p1, PType &p2, Energy2 s, Energy2 t, double phi, const PType &p0) |
Set two momenta in their center of mass system. | |
template<typename PType> | |
static void | CMS (PType &p1, PType &p2, Energy2 s) |
Set two momenta in their center of mass system. | |
template<typename PPairType> | |
static void | CMS (const PPairType &p, Energy2 s) |
Set two momenta in their center of mass system. | |
template<typename PType> | |
static void | CMS (PType &p1, PType &p2, PType &p3, Energy2 s, double x1, double x3) |
Set three momenta in their center of mass system. | |
template<typename PType> | |
static void | CMS (PType &p1, PType &p2, PType &p3, Energy2 s, double x1, double x3, double phii=0.0, double theta=0.0, double phi=0.0) |
Set three momenta in their center of mass system. | |
static Energy | getMagnitude (Energy2 s, Energy m1, Energy m2) |
Calculate the absolute magnitude of the momenta of two particles with masses m1 and m2 when put in their CMS of total invariant mass squared s. | |
static Momentum3 | polar3Vector (Energy p, double costheta, double phi) |
Return a three-vector given the absolute momentum, cos(theta) and phi. | |
static vector< LorentzMomentum > | CMSn (Energy m0, const vector< Energy > &m) |
Get a number of randomly distributed momenta. | |
template<typename Container> | |
static void | CMSn (Container &particles, Energy m0) |
Set the momentum of a number of particles. |
In most cases pointers and references to both particle and momentum objects can be used as arguments as long as the ParticleTraits class is specialized properly. When needed, random numbers are generated with the generator given by the static UseRandom class.
Definition at line 32 of file SimplePhaseSpace.h.
static void ThePEG::SimplePhaseSpace::CMS | ( | Energy2 | s, | |
PType & | p1, | |||
PType & | p2 | |||
) | [inline, static] |
Set two momenta in their center of mass system.
Their total invariant mass squared is given by s, and their direction is distributed isotropically.
s | the total invariant mass squared. | |
p1 | pointer or reference to the first momentum. Its invariant mass will be preserved. | |
p2 | pointer or reference to the second momentum. Its invariant mass will be preserved. |
ImpossibleKinematics | if the sum of the invariant masses was larger than the given invariant mass (). |
Referenced by CMS().
static void ThePEG::SimplePhaseSpace::CMS | ( | PType & | p1, | |
PType & | p2, | |||
Energy2 | s, | |||
double | cosTheta, | |||
double | phi | |||
) | [inline, static] |
Set two momenta in their center of mass system.
Their total invariant mass squared is given by s, and their direction is given in terms of the polar and azimuth angle of the first momenta.
s | the total invariant mass squared. | |
p1 | pointer or reference to the first momentum. Its invariant mass will be preserved. | |
p2 | pointer or reference to the second momentum. Its invariant mass will be preserved. | |
cosTheta | cosine of the azimuth angle of the first momentum. | |
phi | azimuth angle of the first momentum. |
ImpossibleKinematics | if the sum of the invariant masses was larger than the given invariant mass (). |
static void ThePEG::SimplePhaseSpace::CMS | ( | PType & | p1, | |
PType & | p2, | |||
Energy2 | s, | |||
Energy2 | t, | |||
double | phi, | |||
const PType & | p0 | |||
) | [inline, static] |
Set two momenta in their center of mass system.
Their total invariant mass squared is given by s. The helper momentum p0 is used so that afterwards and p1 has the azimuth angle phi around p0.
p1 | pointer or reference to the first momentum. Its invariant mass will be preserved. | |
p2 | pointer or reference to the second momentum. Its invariant mass will be preserved. | |
s | the total invariant mass squared. | |
t | . | |
phi | azimuth angle of the first momentum around p0. | |
p0 | pointer or reference to an auxiliary momentum. |
ImpossibleKinematics | if the sum of the invariant masses was larger than the given invariant mass (). |
static void ThePEG::SimplePhaseSpace::CMS | ( | PType & | p1, | |
PType & | p2, | |||
Energy2 | s | |||
) | [inline, static] |
Set two momenta in their center of mass system.
Their total invariant mass squared is given by s. p1 will be along the z-axis.
p1 | pointer or reference to the first momentum. Its invariant mass will be preserved. | |
p2 | pointer or reference to the second momentum. Its invariant mass will be preserved. | |
s | the total invariant mass squared. |
ImpossibleKinematics | if the sum of the invariant masses was larger than the given invariant mass (). |
static void ThePEG::SimplePhaseSpace::CMS | ( | const PPairType & | p, | |
Energy2 | s | |||
) | [inline, static] |
Set two momenta in their center of mass system.
Their total invariant mass squared is given by s. The first will be along the z-axis.
p | a pair of pointers or references to the two momenta. Their invariant masses will be preserved. | |
s | the total invariant mass squared. |
ImpossibleKinematics | if the sum of the invariant masses was larger than the given invariant mass (). |
Definition at line 113 of file SimplePhaseSpace.h.
References CMS().
static void ThePEG::SimplePhaseSpace::CMS | ( | PType & | p1, | |
PType & | p2, | |||
PType & | p3, | |||
Energy2 | s, | |||
double | x1, | |||
double | x3 | |||
) | [inline, static] |
Set three momenta in their center of mass system.
Their total invariant mass squared is given by s. The energy fraction of particle p1(3) is x1(3) of the total energy and the angles of the system is distributed isotropically.
p1 | pointer or reference to the first momentum. Its invariant mass will be preserved. | |
p2 | pointer or reference to the second momentum. Its invariant mass will be preserved. | |
p3 | pointer or reference to the second momentum. Its invariant mass will be preserved. | |
s | the total invariant mass squared. | |
x1 | the energy fraction . | |
x3 | the energy fraction . |
ImpossibleKinematics | if the sum of the invariant masses was larger than the given invariant mass (). |
static void ThePEG::SimplePhaseSpace::CMS | ( | PType & | p1, | |
PType & | p2, | |||
PType & | p3, | |||
Energy2 | s, | |||
double | x1, | |||
double | x3, | |||
double | phii = 0.0 , |
|||
double | theta = 0.0 , |
|||
double | phi = 0.0 | |||
) | [inline, static] |
Set three momenta in their center of mass system.
Their total invariant mass squared is given by s. The energy fraction of particle p1(3) is x1(3) of the total energy. Particle p1 is initially placed along the z-axis and particle p2 is given azimuth angle phii. Then the system is then rotated with theta and phi respectively.
p1 | pointer or reference to the first momentum. Its invariant mass will be preserved. | |
p2 | pointer or reference to the second momentum. Its invariant mass will be preserved. | |
p3 | pointer or reference to the second momentum. Its invariant mass will be preserved. | |
s | the total invariant mass squared. | |
x1 | the energy fraction . | |
x3 | the energy fraction . | |
phii | the azimuth angle of p2 around p1. | |
theta | the polar angle of p1. | |
phi | the azimuth angle of p1. |
ImpossibleKinematics | if the sum of the invariant masses was larger than the given invariant mass (). |
static Energy ThePEG::SimplePhaseSpace::getMagnitude | ( | Energy2 | s, | |
Energy | m1, | |||
Energy | m2 | |||
) | [static] |
Calculate the absolute magnitude of the momenta of two particles with masses m1 and m2 when put in their CMS of total invariant mass squared s.
s | the total invariant mass squared. | |
m1 | the mass of particle 1. | |
m2 | the mass of particle 2. |
ImpossibleKinematics | if the sum of the masses was larger than the given invariant mass (). |
static Momentum3 ThePEG::SimplePhaseSpace::polar3Vector | ( | Energy | p, | |
double | costheta, | |||
double | phi | |||
) | [inline, static] |
Return a three-vector given the absolute momentum, cos(theta) and phi.
p | the magnitude of the momentum. | |
costheta | the cosine of the polar angle. | |
phi | the azimuth angle. |
Definition at line 185 of file SimplePhaseSpace.h.
static vector<LorentzMomentum> ThePEG::SimplePhaseSpace::CMSn | ( | Energy | m0, | |
const vector< Energy > & | m | |||
) | [static] |
Get a number of randomly distributed momenta.
Given a number specified invariant masses and a total invariant mass m0, return corresponding four-momenta randomly distributed according to phase space.
m0 | the total invariant mass of the resulting momenta. | |
m | a vector of invariant masses of the resulting momenta. |
ImpossibleKinematics | if the sum of the masses was larger than the given invariant mass (). |
static void ThePEG::SimplePhaseSpace::CMSn | ( | Container & | particles, | |
Energy | m0 | |||
) | [inline, static] |
Set the momentum of a number of particles.
Given a number of particles and a total invariant mass m0, distribute their four-momenta randomly according to phase space.
particles | a container of particles or pointers to particles. The invariant mass of these particles will not be chaned. | |
m0 | the total invariant mass of the resulting momenta. |
ImpossibleKinematics | if the sum of the masses was larger than the given invariant mass (). |