library: libPhysics
#include "TGenPhaseSpace.h"

TGenPhaseSpace


class description - header file - source file
viewCVS header - viewCVS source

class TGenPhaseSpace: public TObject

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TGenPhaseSpace()
TGenPhaseSpace(const TGenPhaseSpace& gen)
virtual~TGenPhaseSpace()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGenerate()
TLorentzVector*GetDecay(Int_t n)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
Int_tGetNt() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetWtMax() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TGenPhaseSpace&operator=(const TGenPhaseSpace&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
Bool_tSetDecay(TLorentzVector& P, Int_t nt, Double_t* mass, Option_t* opt = "")
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
Double_tPDK(Double_t a, Double_t b, Double_t c)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Int_tfNtnumber of decay particles
Double_tfMass[18]masses of particles
Double_tfBeta[3]betas of decaying particle
Double_tfTeCmTmtotal energy in the C.M. minus the total mass
Double_tfWtMaxmaximum weigth
TLorentzVectorfDecPro[18]kinematics of the generated particles

Class Description


  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 $ROOTSYS/tutorials/physics/PhaseSpace.C
Double_t PDK(Double_t a, Double_t b, Double_t c)
the PDK function
TGenPhaseSpace(const TGenPhaseSpace &gen)
copy constructor
Double_t Generate()
  Generate a random final state.
  The function returns the weigth of the current event.
  The TLorentzVector of each decay product can be get using GetDecay(n).
  The maximum weigth can be get using GetWtMax().
 
TLorentzVector * GetDecay(Int_t n)
return Lorentz vector corresponding to decay n
Bool_t SetDecay(TLorentzVector &P, Int_t nt, Double_t *mass, Option_t *opt)
 input:
 TLorentzVector &P:    decay particle
 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 dependece
 return value:
 kTRUE:      the decay is permitted by kinematics
 kFALSE:     the decay is forbidden by kinematics

TGenPhaseSpace()
{}
virtual ~TGenPhaseSpace()
{}
Int_t GetNt()
{ return fNt;}
Double_t GetWtMax()
{ return fWtMax;}

Author: Rene Brun, Valerio Filippini 06/09/2000
Last update: root/physics:$Name: $:$Id: TGenPhaseSpace.cxx,v 1.12 2006/12/12 14:19:18 couet Exp $


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.