fe4da5cc |
1 | #ifndef _AliPythia_H |
2 | #define _AliPythia_H |
3da30618 |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
6 | /* $Id$ */ |
fe4da5cc |
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; |
75c6d54e |
23 | AliPythia(); |
24 | virtual ~AliPythia(){;} |
fe4da5cc |
25 | // convert to compressed code and print result (for debugging only) |
26 | virtual Int_t CheckedLuComp(Int_t kf) |
27 | { |
084c1b4a |
28 | Int_t kc=Lucomp(kf); |
fe4da5cc |
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 | |