Introduction of the Copyright and cvs Log
[u/mrichter/AliRoot.git] / EVGEN / AliPythia.h
CommitLineData
fe4da5cc 1#ifndef _AliPythia_H
2#define _AliPythia_H
3
4#include <TPythia.h>
5#include "GenTypeDefs.h"
6
7class 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;
75c6d54e 19 AliPythia();
20 virtual ~AliPythia(){;}
fe4da5cc 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