Logo ROOT   6.13/01
Reference Guide
List of all members | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TGenPhaseSpace Class Reference

Utility class to generate n-body event, with constant cross-section (default) or with Fermi energy dependence (opt="Fermi").

The event is generated in the center-of-mass frame, but the decay products are finally boosted using the betas of the original particle.

The code is based on the GENBOD function (W515 from CERNLIB) using the Raubold and Lynch method F. James, Monte Carlo Phase Space, CERN 68-15 (1968)

see example of use in PhaseSpace.C

Note that Momentum, Energy units are Gev/C, GeV

Definition at line 15 of file TGenPhaseSpace.h.

Public Member Functions

 TGenPhaseSpace ()
 
 TGenPhaseSpace (const TGenPhaseSpace &gen)
 Copy constructor. More...
 
virtual ~TGenPhaseSpace ()
 
Double_t Generate ()
 Generate a random final state. More...
 
TLorentzVectorGetDecay (Int_t n)
 Return Lorentz vector corresponding to decay n. More...
 
Int_t GetNt () const
 
Double_t GetWtMax () const
 
TGenPhaseSpaceoperator= (const TGenPhaseSpace &gen)
 Assignment operator. More...
 
Bool_t SetDecay (TLorentzVector &P, Int_t nt, const Double_t *mass, Option_t *opt="")
 Input: More...
 

Private Member Functions

Double_t PDK (Double_t a, Double_t b, Double_t c)
 The PDK function. More...
 

Private Attributes

Double_t fBeta [3]
 
TLorentzVector fDecPro [18]
 
Double_t fMass [18]
 
Int_t fNt
 
Double_t fTeCmTm
 
Double_t fWtMax
 

#include <TGenPhaseSpace.h>

Inheritance diagram for TGenPhaseSpace:
[legend]

Constructor & Destructor Documentation

◆ TGenPhaseSpace() [1/2]

TGenPhaseSpace::TGenPhaseSpace ( )
inline

Definition at line 27 of file TGenPhaseSpace.h.

◆ TGenPhaseSpace() [2/2]

TGenPhaseSpace::TGenPhaseSpace ( const TGenPhaseSpace gen)

Copy constructor.

Definition at line 57 of file TGenPhaseSpace.cxx.

◆ ~TGenPhaseSpace()

virtual TGenPhaseSpace::~TGenPhaseSpace ( )
inlinevirtual

Definition at line 29 of file TGenPhaseSpace.h.

Member Function Documentation

◆ Generate()

Double_t TGenPhaseSpace::Generate ( )

Generate a random final state.

The function returns the weight of the current event. The TLorentzVector of each decay product can be obtained using GetDecay(n).

Note that Momentum, Energy units are Gev/C, GeV

Definition at line 98 of file TGenPhaseSpace.cxx.

◆ GetDecay()

TLorentzVector * TGenPhaseSpace::GetDecay ( Int_t  n)

Return Lorentz vector corresponding to decay n.

Definition at line 173 of file TGenPhaseSpace.cxx.

◆ GetNt()

Int_t TGenPhaseSpace::GetNt ( ) const
inline

Definition at line 36 of file TGenPhaseSpace.h.

◆ GetWtMax()

Double_t TGenPhaseSpace::GetWtMax ( ) const
inline

Definition at line 37 of file TGenPhaseSpace.h.

◆ operator=()

TGenPhaseSpace & TGenPhaseSpace::operator= ( const TGenPhaseSpace gen)

Assignment operator.

Definition at line 75 of file TGenPhaseSpace.cxx.

◆ PDK()

Double_t TGenPhaseSpace::PDK ( Double_t  a,
Double_t  b,
Double_t  c 
)
private

The PDK function.

Definition at line 34 of file TGenPhaseSpace.cxx.

◆ SetDecay()

Bool_t TGenPhaseSpace::SetDecay ( TLorentzVector P,
Int_t  nt,
const Double_t *  mass,
Option_t *  opt = "" 
)

Input:

  • TLorentzVector &P: decay particle (Momentum, Energy units are Gev/C, GeV)
  • Int_t nt: number of decay products
  • Double_t *mass: array of decay product masses
  • Option_t *opt: default -> constant cross section "Fermi" -> Fermi energy dependence Return value:
  • kTRUE: the decay is permitted by kinematics
  • kFALSE: the decay is forbidden by kinematics

Definition at line 192 of file TGenPhaseSpace.cxx.

Member Data Documentation

◆ fBeta

Double_t TGenPhaseSpace::fBeta[3]
private

Definition at line 19 of file TGenPhaseSpace.h.

◆ fDecPro

TLorentzVector TGenPhaseSpace::fDecPro[18]
private

Definition at line 22 of file TGenPhaseSpace.h.

◆ fMass

Double_t TGenPhaseSpace::fMass[18]
private

Definition at line 18 of file TGenPhaseSpace.h.

◆ fNt

Int_t TGenPhaseSpace::fNt
private

Definition at line 17 of file TGenPhaseSpace.h.

◆ fTeCmTm

Double_t TGenPhaseSpace::fTeCmTm
private

Definition at line 20 of file TGenPhaseSpace.h.

◆ fWtMax

Double_t TGenPhaseSpace::fWtMax
private

Definition at line 21 of file TGenPhaseSpace.h.

Libraries for TGenPhaseSpace:
[legend]

The documentation for this class was generated from the following files: