Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 ~TPythia6Decayer() override { }
76 void Init() override;
77 void Decay(Int_t idpart, TLorentzVector* p) override;
78 Int_t ImportParticles(TClonesArray *particles) override;
79 void SetForceDecay(Int_t type) override;
80 void ForceDecay() override;
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 Float_t GetLifetime(Int_t kf) override;
86 void ReadDecayTable() override;
87 // Extension member functions
88 virtual void SetDecayTableFile(const char* name);
89 virtual void WriteDecayTable();
91
92 static TPythia6Decayer *Instance();
93
94 ClassDefOverride(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 ClassDefOverride(name, id)
Definition Rtypes.h:341
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.
This class implements the TVirtualMCDecayer interface.
virtual void SetDecayTableFile(const char *name)
virtual void SetForceDecay(EDecayType type)
Int_t CountProducts(Int_t channel, Int_t particle)
Count number of decay products.
Float_t GetLifetime(Int_t kf) override
Get the life-time of a particle of type KF (a PDG code).
~TPythia6Decayer() override
void ForceParticleDecay(Int_t particle, Int_t *products, Int_t *mult, Int_t npart)
Force decay of particle into products with multiplicity mult.
void Init() override
Initialize the decayer.
void ReadDecayTable() override
Read in particle data from an ASCII file.
static TPythia6Decayer * fgInstance
Branching ratios.
void ForceDecay() override
Force a particle decay mode.
Float_t GetPartialBranchingRatio(Int_t ipart) override
Get the partial branching ratio for a particle of type IPART (a PDG code).
void ForceOmega()
Force Omega -> Lambda K- Decay.
Int_t ImportParticles(TClonesArray *particles) override
Get the decay products into the passed PARTICLES TClonesArray of TParticles.
virtual void WriteDecayTable()
write particle data to an ASCII file.
void Decay(Int_t idpart, TLorentzVector *p) override
Decay a particle of type IDPART (PDG code) and momentum P.
TPythia6Decayer()
Constructor.
void ForceHadronicD()
Force golden D decay modes.
static TPythia6Decayer * Instance()
Get the singleton object.
void SetForceDecay(Int_t type) override
Force a particular decay type.
Basic string class.
Definition TString.h:139
Abstract base class for particle decays.