9 #ifndef ThePEG_SimplePhaseSpace_H
10 #define ThePEG_SimplePhaseSpace_H
12 #include "ThePEG/Config/ThePEG.h"
14 #include "ThePEG/Vectors/LorentzRotation.h"
15 #include "ThePEG/Vectors/LorentzRotation.h"
16 #include "ThePEG/EventRecord/Particle.h"
17 #include "ThePEG/EventRecord/ParticleTraits.h"
18 #include "ThePEG/Repository/UseRandom.h"
19 #include "SimplePhaseSpace.xh"
46 template <
typename PType>
47 static void CMS(Energy2 s, PType & p1, PType & p2);
64 template <
typename PType>
65 static void CMS(PType & p1, PType & p2, Energy2 s,
66 double cosTheta,
double phi);
84 template <
typename PType>
85 static void CMS(PType & p1, PType & p2, Energy2 s, Energy2 t,
double phi,
99 template <
typename PType>
100 static void CMS(PType & p1, PType & p2, Energy2 s);
112 template <
typename PPairType>
113 static void CMS(
const PPairType & p, Energy2 s)
115 CMS(*p.first, *p.second, s);
135 template <
typename PType>
136 static void CMS(PType & p1, PType & p2, PType & p3, Energy2 s,
137 double x1,
double x3);
161 template <
typename PType>
162 static void CMS(PType & p1, PType & p2, PType & p3, Energy2 s,
163 double x1,
double x3,
double phii = 0.0,
164 double theta = 0.0,
double phi = 0.0);
187 return Momentum3(p*sqrt(1.0 - sqr(costheta))*sin(phi),
188 p*sqrt(1.0 - sqr(costheta))*cos(phi),
206 static vector<LorentzMomentum>
221 template <
typename Container>
222 static void CMSn(Container & particles,
Energy m0);
228 #ifndef ThePEG_TEMPLATES_IN_CC_FILE
229 #include "SimplePhaseSpace.tcc"
static void CMS(const PPairType &p, Energy2 s)
Set two momenta in their center of mass system.
static Momentum3 polar3Vector(Energy p, double costheta, double phi)
Return a three-vector given the absolute momentum, cos(theta) and phi.
static void CMS(Energy2 s, PType &p1, PType &p2)
Set two momenta in their center of mass system.
This is the main namespace within which all identifiers in ThePEG are declared.
QTY< 0, 1, 0 >::Type Energy
Energy.
static vector< LorentzMomentum > CMSn(Energy m0, const vector< Energy > &m)
Get a number of randomly distributed momenta.
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 th...
SimplePhaseSpace defines a set of static functions to be used for distributing momenta evenly in phas...