Logo ROOT   6.13/01
Reference Guide
TGenPhaseSpace.h
Go to the documentation of this file.
1 // @(#)root/physics:$Id$
2 // Author: Rene Brun , Valerio Filippini 06/09/2000
3 
4 ///////////////////////////////////////////////////////////////////////////////
5 // //
6 // Phase Space Generator, based on the GENBOD routine of CERNLIB //
7 // //
8 ///////////////////////////////////////////////////////////////////////////////
9 
10 #ifndef ROOT_TGenPhaseSpace
11 #define ROOT_TGenPhaseSpace
12 
13 #include "TLorentzVector.h"
14 
15 class TGenPhaseSpace : public TObject {
16 private:
17  Int_t fNt; // number of decay particles
18  Double_t fMass[18]; // masses of particles
19  Double_t fBeta[3]; // betas of decaying particle
20  Double_t fTeCmTm; // total energy in the C.M. minus the total mass
21  Double_t fWtMax; // maximum weigth
22  TLorentzVector fDecPro[18]; //kinematics of the generated particles
23 
24  Double_t PDK(Double_t a, Double_t b, Double_t c);
25 
26 public:
27  TGenPhaseSpace(): fNt(0), fMass(), fBeta(), fTeCmTm(0.), fWtMax(0.) {}
28  TGenPhaseSpace(const TGenPhaseSpace &gen);
29  virtual ~TGenPhaseSpace() {}
31 
32  Bool_t SetDecay(TLorentzVector &P, Int_t nt, const Double_t *mass, Option_t *opt="");
33  Double_t Generate();
34  TLorentzVector *GetDecay(Int_t n);
35 
36  Int_t GetNt() const { return fNt;}
37  Double_t GetWtMax() const { return fWtMax;}
38 
39  ClassDef(TGenPhaseSpace,1) //Simple Phase Space Generator
40 };
41 
42 #endif
43 
Double_t fMass[18]
Double_t Generate()
Generate a random final state.
Int_t GetNt() const
TGenPhaseSpace & operator=(const TGenPhaseSpace &gen)
Assignment operator.
TLorentzVector fDecPro[18]
TLorentzVector is a general four-vector class, which can be used either for the description of positi...
static double P[]
Utility class to generate n-body event, with constant cross-section (default) or with Fermi energy de...
Double_t GetWtMax() const
Bool_t SetDecay(TLorentzVector &P, Int_t nt, const Double_t *mass, Option_t *opt="")
Input:
virtual ~TGenPhaseSpace()
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.
Double_t fTeCmTm
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
Definition: TRolke.cxx:630
Double_t fBeta[3]