Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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() {}
30  TGenPhaseSpace& operator=(const TGenPhaseSpace &gen);
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