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