ReadDecayTable() and WriteDecayTable() methods added.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 22 Feb 2002 17:28:05 +0000 (17:28 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 22 Feb 2002 17:28:05 +0000 (17:28 +0000)
EVGEN/AliDecayer.h
EVGEN/AliDecayerPythia.cxx
EVGEN/AliDecayerPythia.h

index 8777e45d022806f53fcbe31dfde1f070099e9dfd..94d2e37b969c0d2c23cd0437ce8cac10434af3e0 100644 (file)
@@ -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
index 3ebc730af99c9e56bf413368a2f7f647f7704808..e2c060d00be8431a625866ee33bfb65f494559dd 100644 (file)
 
 /*
 $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)
 {
index 8feb7b83769f1ee04534a9d4a2ff6024b9e4771c..b6e3f208de2646559928094af137b2acb56687f2 100644 (file)
@@ -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();