Logo ROOT  
Reference Guide
TPythia6Decayer.h
Go to the documentation of this file.
1// @(#)root/pythia6:$Id$
2// Author: Christian Holm Christensen 22/04/06
3
4/*************************************************************************
5 * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TPythia6Decayer
13#define ROOT_TPythia6Decayer
14
15///////////////////////////////////////////////////////////////////////////////
16// //
17// TPythia6Decayer //
18// //
19// This implements the TVirtualMCDecayer interface. The TPythia6 //
20// singleton object is used to decay particles. Note, that since this //
21// class modifies common blocks (global variables) it is defined as a //
22// singleton. //
23// //
24///////////////////////////////////////////////////////////////////////////////
25
26#include "TVirtualMCDecayer.h"
27#include "TString.h"
28#include "TArrayF.h"
29
30
32
33public:
34 // enum of decay mode types
59 };
60
61protected:
62 TString fDecayTableFile; // File to read decay table from
63 EDecayType fDecay; // Forced decay mode
64 TArrayF fBraPart; //! Branching ratios
65
67
68 // Extra functions
69 void ForceHadronicD();
70 void ForceOmega();
71 Int_t CountProducts(Int_t channel, Int_t particle);
72
73public:
75 virtual ~TPythia6Decayer() { }
76 virtual void Init();
77 virtual void Decay(Int_t idpart, TLorentzVector* p);
78 virtual Int_t ImportParticles(TClonesArray *particles);
79 virtual void SetForceDecay(Int_t type);
80 virtual void ForceDecay();
81 void ForceParticleDecay(Int_t particle, Int_t* products,
82 Int_t* mult, Int_t npart);
83 void ForceParticleDecay(Int_t particle, Int_t product, Int_t mult);
85 virtual Float_t GetLifetime(Int_t kf);
86 virtual void ReadDecayTable();
87 // Extension member functions
88 virtual void SetDecayTableFile(const char* name);
89 virtual void WriteDecayTable();
91
92 static TPythia6Decayer *Instance();
93
94 ClassDef(TPythia6Decayer,1) // Particle Decayer Base Class
95};
96
98{
100}
101
102#endif
int Int_t
Definition: RtypesCore.h:45
float Float_t
Definition: RtypesCore.h:57
#define ClassDef(name, id)
Definition: Rtypes.h:335
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char name[80]
Definition: TGX11.cxx:110
Array of floats (32 bits per element).
Definition: TArrayF.h:27
An array of clone (identical) objects.
Definition: TClonesArray.h:29
This class implements the TVirtualMCDecayer interface.
virtual void SetDecayTableFile(const char *name)
TString fDecayTableFile
virtual void SetForceDecay(EDecayType type)
virtual void Decay(Int_t idpart, TLorentzVector *p)
Decay a particle of type IDPART (PDG code) and momentum P.
virtual ~TPythia6Decayer()
Int_t CountProducts(Int_t channel, Int_t particle)
Count number of decay products.
virtual void ForceDecay()
Force a particle decay mode.
void ForceParticleDecay(Int_t particle, Int_t *products, Int_t *mult, Int_t npart)
Force decay of particle into products with multiplicity mult.
virtual void SetForceDecay(Int_t type)
Force a particular decay type.
virtual Float_t GetLifetime(Int_t kf)
Get the life-time of a particle of type KF (a PDG code).
static TPythia6Decayer * fgInstance
Branching ratios.
virtual void ReadDecayTable()
Read in particle data from an ASCII file.
virtual void Init()
Initialize the decayer.
virtual Float_t GetPartialBranchingRatio(Int_t ipart)
Get the partial branching ratio for a particle of type IPART (a PDG code).
void ForceOmega()
Force Omega -> Lambda K- Decay.
virtual void WriteDecayTable()
write particle data to an ASCII file.
TPythia6Decayer()
Constructor.
void ForceHadronicD()
Force golden D decay modes.
static TPythia6Decayer * Instance()
Get the singleton object.
EDecayType fDecay
virtual Int_t ImportParticles(TClonesArray *particles)
Get the decay products into the passed PARTICLES TClonesArray of TParticles.
Basic string class.
Definition: TString.h:136
Abstract base class for particle decays.