]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliPythia.h
Changes for compatibility with version 2.23 of ROOT
[u/mrichter/AliRoot.git] / EVGEN / AliPythia.h
1 #ifndef _AliPythia_H
2 #define _AliPythia_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include <TPythia.h>
9 #include "GenTypeDefs.h"
10
11 class AliPythia:public TPythia
12 {
13  protected:
14     Process_t     fProcess;
15     Decay_t       fDecay;
16     Float_t       fEcms;
17     StrucFunc_t   fStrucFunc;
18     Int_t         fGPCode[501][2];
19     Float_t       fBraPart[501];
20     
21  public:
22     static Int_t fgInit;
23     AliPythia();
24     virtual ~AliPythia(){;}
25     // convert to compressed code and print result (for debugging only)
26     virtual Int_t CheckedLuComp(Int_t kf)
27         {
28             Int_t kc=Lucomp(kf);
29             printf("\n Lucomp kf,kc %d %d",kf,kc);
30             return kc;
31         }
32     // entry to the corresponding lujet function
33     virtual void Lu1Ent(int flag, int idpart, 
34                         float mom, float theta,float phi);
35     // Decay a Particle
36     virtual void DecayParticle
37         (Int_t idpart, Float_t mom, Float_t theta,Float_t phi);
38     //
39     // Pythia initialisation for selected processes
40     virtual void ProcInit
41         (Process_t process, Float_t energy, StrucFunc_t strucfunc);
42     //
43     // Count decay products
44     virtual Int_t CountProducts(Int_t channel, Int_t particle);
45     
46     //
47     // Force decay modes
48     //
49     // select type and multiplicity of the decay product
50     virtual void ForceParticleDecay(Int_t particle,Int_t product,Int_t mult);
51     //
52     // force a particular decy-type
53     virtual void ForceDecay(Decay_t  decay);
54     // don't force any decay
55     virtual void AllowAllDecays();
56     
57     //
58     // Define heavy mesons to GEANT and make correspondance
59     // GEANT - Pythia particle code
60     virtual void DefineParticles();
61     //
62     // Convert from Pythia to Geant particle code
63     virtual Int_t  GetGeantCode(Int_t kf);
64     //
65     // Get sum of branching ratios for forced decays
66     virtual Float_t GetBraPart(Int_t kf);
67     ClassDef(AliPythia,1) //ALICE UI to PYTHIA
68 };
69
70 #endif
71
72
73