f87cfe57 |
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 | { |
fe4da5cc |
13 | public: |
75c6d54e |
14 | AliPythia(); |
15 | virtual ~AliPythia(){;} |
fe4da5cc |
16 | // convert to compressed code and print result (for debugging only) |
f87cfe57 |
17 | virtual Int_t CheckedLuComp(Int_t kf); |
fe4da5cc |
18 | // entry to the corresponding lujet function |
19 | virtual void Lu1Ent(int flag, int idpart, |
20 | float mom, float theta,float phi); |
21 | // Decay a Particle |
22 | virtual void DecayParticle |
23 | (Int_t idpart, Float_t mom, Float_t theta,Float_t phi); |
24 | // |
25 | // Pythia initialisation for selected processes |
26 | virtual void ProcInit |
27 | (Process_t process, Float_t energy, StrucFunc_t strucfunc); |
28 | // |
29 | // Count decay products |
30 | virtual Int_t CountProducts(Int_t channel, Int_t particle); |
31 | |
32 | // |
33 | // Force decay modes |
34 | // |
35 | // select type and multiplicity of the decay product |
36 | virtual void ForceParticleDecay(Int_t particle,Int_t product,Int_t mult); |
37 | // |
38 | // force a particular decy-type |
39 | virtual void ForceDecay(Decay_t decay); |
40 | // don't force any decay |
41 | virtual void AllowAllDecays(); |
42 | |
43 | // |
44 | // Define heavy mesons to GEANT and make correspondance |
45 | // GEANT - Pythia particle code |
46 | virtual void DefineParticles(); |
47 | // |
48 | // Convert from Pythia to Geant particle code |
49 | virtual Int_t GetGeantCode(Int_t kf); |
50 | // |
51 | // Get sum of branching ratios for forced decays |
52 | virtual Float_t GetBraPart(Int_t kf); |
f87cfe57 |
53 | protected: |
54 | Process_t fProcess; // Process type |
55 | Decay_t fDecay; // Decay channel |
56 | Float_t fEcms; // Centre of mass energy |
57 | StrucFunc_t fStrucFunc; // Structure function |
58 | Int_t fGPCode[501][2]; // Particle codes |
59 | Float_t fBraPart[501]; // Branching ratios |
60 | static Int_t fgInit; // Make sure that only one object of type |
61 | // AliPythia is ceated |
62 | |
fe4da5cc |
63 | ClassDef(AliPythia,1) //ALICE UI to PYTHIA |
64 | }; |
65 | |
66 | #endif |
67 | |
68 | |
69 | |