49 if (aa > bb)
return 1;
50 if (aa < bb)
return -1;
111 for (n=0; n<
fNt; n++) {
121 for (n=0; n<fNt-1; n++) {
122 pd[
n] =
PDK(invMas[n+1],invMas[n],
fMass[n+1]);
141 for (j=0; j<=i; j++) {
145 v->
SetPx( cZ*x - sZ*y );
146 v->
SetPy( sZ*x + cZ*y );
149 v->
SetPx( cY*x - sY*z );
150 v->
SetPz( sY*x + cY*z );
153 if (i == (fNt-1))
break;
156 for (j=0; j<=i; j++)
fDecPro[j].Boost(0,beta,0);
198 if (fNt<2 || fNt>18)
return kFALSE;
204 for (n=0;n<
fNt;n++) {
216 if (strcasecmp(opt,
"fermi")==0) {
219 ,3.141592, 19.73921, 62.01255, 129.8788, 204.0131
220 ,256.3704, 268.4705, 240.9780, 189.2637
221 ,132.1308, 83.0202, 47.4210, 24.8295
222 ,12.0006, 5.3858, 2.2560, 0.8859 };
229 for (n=1; n<
fNt; n++) {
232 wtmax *=
PDK(emmax, emmin, fMass[n]);
void SetPxPyPzE(Double_t px, Double_t py, Double_t pz, Double_t e)
static long int sum(long int i)
Double_t Generate()
Generate a random final state.
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
double beta(double x, double y)
Calculates the beta function.
TGenPhaseSpace & operator=(const TGenPhaseSpace &gen)
Assignment operator.
TLorentzVector fDecPro[18]
TObject & operator=(const TObject &rhs)
TObject assignment operator.
Int_t DoubleMax(const void *a, const void *b)
Special max function.
virtual Double_t Rndm()
Machine independent random number generator.
TLorentzVector is a general four-vector class, which can be used either for the description of positi...
R__EXTERN TRandom * gRandom
Utility class to generate n-body event, with constant cross-section (default) or with Fermi energy de...
Bool_t SetDecay(TLorentzVector &P, Int_t nt, const Double_t *mass, Option_t *opt="")
Input:
Mother of all ROOT objects.
you should not use this method at all Int_t Int_t z
Double_t PDK(Double_t a, Double_t b, Double_t c)
The PDK function.
TLorentzVector * GetDecay(Int_t n)
Return Lorentz vector corresponding to decay n.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Double_t Sqrt(Double_t x)