All coding rule violations except RS3 corrected
[u/mrichter/AliRoot.git] / EVGEN / AliPythia.h
CommitLineData
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
11class 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