Classed imported from EVGEN.
[u/mrichter/AliRoot.git] / PYTHIA6 / AliPythia.h
CommitLineData
8d2cd130 1#ifndef ALIPYTHIA_H
2#define ALIPYTHIA_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8#include <TPythia6.h>
9#include <AliRndm.h>
10#include <AliStructFuncType.h>
11typedef enum
12{kPyCharm, kPyBeauty, kPyCharmUnforced, kPyBeautyUnforced,
13 kPyJpsi, kPyJpsiChi, kPyMb, kPyMbNonDiffr, kPyJets, kPyDirectGamma,
14 kPyCharmPbMNR, kPyD0PbMNR, kPyBeautyPbMNR}
15Process_t;
16/*
17typedef enum
18{
19 kDOSet1 = 1006,
20 kGRVLO = 5005,
21 kGRVHO = 5006,
22 kMRSDminus = 3031,
23 kMRSD0 = 3030,
24 kMRSG = 3041,
25 kCTEQ2pM = 4024,
26 kCTEQ4L = 4032,
27 kCTEQ4M = 4034,
28 kMRSTcgLO = 3072,
29 kCTEQ5L = 4046,
30 kGRVLO98 = 5012
31}
32StrucFunc_t;
33*/
34class AliPythia : public TPythia6, public AliRndm
35{
36
37 public:
38 virtual ~AliPythia(){;}
39 // convert to compressed code and print result (for debugging only)
40 virtual Int_t CheckedLuComp(Int_t kf);
41 // Pythia initialisation for selected processes
42 virtual void ProcInit
43 (Process_t process, Float_t energy, StrucFunc_t strucfunc);
44 // treat protons as inside nuclei
45 virtual void SetNuclei(Int_t a1, Int_t a2);
46 // Print particle properties
47 virtual void PrintParticles();
48 virtual void ResetDecayTable();
49 virtual void SetDecayTable();
50 virtual void Pycell(Int_t& nclus);
51 virtual void Pyclus(Int_t& nclus);
52 // return instance of the singleton
53 static AliPythia* Instance();
54
55 protected:
56 Process_t fProcess; // Process type
57 Float_t fEcms; // Centre of mass energy
58 StrucFunc_t fStrucFunc; // Structure function
59 Int_t fDefMDCY[501]; // ! Default decay switches per particle
60 Int_t fDefMDME[2001]; // ! Default decay switches per mode
61 static AliPythia* fgAliPythia; // Pointer to single instance
62 private:
63 AliPythia();
64
65 ClassDef(AliPythia,1) //ALICE UI to PYTHIA
66};
67
68#endif
69
70
71