From a5d8b1d91a13df24af8b4d4da7658dc09deed072 Mon Sep 17 00:00:00 2001 From: morsch Date: Fri, 22 Feb 2002 17:28:05 +0000 Subject: [PATCH] ReadDecayTable() and WriteDecayTable() methods added. --- EVGEN/AliDecayer.h | 1 + EVGEN/AliDecayerPythia.cxx | 29 +++++++++++++++++++++++++++++ EVGEN/AliDecayerPythia.h | 2 ++ 3 files changed, 32 insertions(+) diff --git a/EVGEN/AliDecayer.h b/EVGEN/AliDecayer.h index 8777e45d022..94d2e37b969 100644 --- a/EVGEN/AliDecayer.h +++ b/EVGEN/AliDecayer.h @@ -32,6 +32,7 @@ public TObject virtual void ForceDecay() =0; virtual Float_t GetPartialBranchingRatio(Int_t ipart) =0; virtual Float_t GetLifetime(Int_t kf) =0; + virtual void ReadDecayTable() =0; ClassDef(AliDecayer,2) // Alice Decayer Base Class }; #endif diff --git a/EVGEN/AliDecayerPythia.cxx b/EVGEN/AliDecayerPythia.cxx index 3ebc730af99..e2c060d00be 100644 --- a/EVGEN/AliDecayerPythia.cxx +++ b/EVGEN/AliDecayerPythia.cxx @@ -15,6 +15,10 @@ /* $Log$ +Revision 1.9 2001/12/20 10:37:13 morsch +- Add omega forced decay. +- Semileptonic decays for some more B and D baryons. + Revision 1.8 2001/07/04 10:28:20 morsch Introduce GetLifetime(Int_T kf) method until functionality provided by TParticlePDG. @@ -60,15 +64,20 @@ ClassImp(AliDecayerPythia) #ifndef WIN32 # define py1ent py1ent_ +# define opendecaytable opendecaytable_ # define type_of_call #else # define lu1ent PY1ENT +# define opendecaytable OPENDECAYTABLE # define type_of_call _stdcall #endif extern "C" void type_of_call py1ent(Int_t&, Int_t&, Double_t&, Double_t&, Double_t&); +extern "C" void type_of_call + opendecaytable(Int_t&); + Bool_t AliDecayerPythia::fgInit = kFALSE; @@ -155,6 +164,8 @@ void AliDecayerPythia::ForceDecay() ForceParticleDecay( 5332,13,1); // Omega_b break; case kDiMuon: + ForceParticleDecay( 221,13,2); // eta + ForceParticleDecay( 223,13,2); // omega ForceParticleDecay( 333,13,2); // phi ForceParticleDecay( 443,13,2); // J/Psi ForceParticleDecay(20443,13,2); // Psi' @@ -180,6 +191,8 @@ void AliDecayerPythia::ForceDecay() break; case kDiElectron: ForceParticleDecay( 333,11,2); // phi + ForceParticleDecay( 221,11,2); // eta + ForceParticleDecay( 223,11,2); // omega ForceParticleDecay( 443,11,2); // J/Psi ForceParticleDecay(30443,11,2); // Psi' ForceParticleDecay( 553,11,2); // Upsilon @@ -418,6 +431,22 @@ Float_t AliDecayerPythia::GetLifetime(Int_t kf) return fPythia->GetPMAS(kc,4)*3.3333e-12; } +void AliDecayerPythia::WriteDecayTable() +{ +// +// Write the decay table + fPythia->Pyupda(1,15); +} + +void AliDecayerPythia::ReadDecayTable() +{ +// +// Read the decay table + Int_t lun = 15; + opendecaytable(lun); + fPythia->Pyupda(2,lun); +} + #ifdef never void AliDecayerPythia::Streamer(TBuffer &R__b) { diff --git a/EVGEN/AliDecayerPythia.h b/EVGEN/AliDecayerPythia.h index 8feb7b83769..b6e3f208de2 100644 --- a/EVGEN/AliDecayerPythia.h +++ b/EVGEN/AliDecayerPythia.h @@ -31,6 +31,8 @@ public AliDecayer virtual Float_t GetPartialBranchingRatio(Int_t ipart); virtual Float_t GetLifetime(Int_t kf); + virtual void WriteDecayTable(); + virtual void ReadDecayTable(); private: void DefineParticles(); -- 2.39.3