LHAPDF 5.2.2 data files.
[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,
e0e89f40 14 kPyCharmPbPbMNR, kPyD0PbPbMNR, kPyDPlusPbPbMNR, kPyDPlusStrangePbPbMNR, kPyBeautyPbPbMNR,
15 kPyCharmpPbMNR, kPyD0pPbMNR, kPyDPluspPbMNR, kPyDPlusStrangepPbMNR, kPyBeautypPbMNR,
16 kPyCharmppMNR, kPyCharmppMNRwmi, kPyD0ppMNR, kPyDPlusppMNR, kPyDPlusStrangeppMNR,
d7de4a67 17 kPyBeautyppMNR, kPyBeautyppMNRwmi, kPyW, kPyZ, kPyMbMSEL1,
65f2626c 18 kPyOldUEQ2ordered, kPyOldUEQ2ordered2, kPyOldPopcorn}
8d2cd130 19Process_t;
20/*
21typedef enum
22{
23 kDOSet1 = 1006,
24 kGRVLO = 5005,
25 kGRVHO = 5006,
26 kMRSDminus = 3031,
27 kMRSD0 = 3030,
28 kMRSG = 3041,
29 kCTEQ2pM = 4024,
30 kCTEQ4L = 4032,
31 kCTEQ4M = 4034,
32 kMRSTcgLO = 3072,
33 kCTEQ5L = 4046,
34 kGRVLO98 = 5012
35}
36StrucFunc_t;
37*/
0f482ae4 38class AliFastGlauber;
39class AliQuenchingWeights;
40
8d2cd130 41class AliPythia : public TPythia6, public AliRndm
42{
43
44 public:
45 virtual ~AliPythia(){;}
46 // convert to compressed code and print result (for debugging only)
47 virtual Int_t CheckedLuComp(Int_t kf);
48 // Pythia initialisation for selected processes
49 virtual void ProcInit
50 (Process_t process, Float_t energy, StrucFunc_t strucfunc);
51 // treat protons as inside nuclei
52 virtual void SetNuclei(Int_t a1, Int_t a2);
53 // Print particle properties
54 virtual void PrintParticles();
55 virtual void ResetDecayTable();
56 virtual void SetDecayTable();
16a82508 57 virtual void Pyevnw();
8d2cd130 58 virtual void Pycell(Int_t& nclus);
59 virtual void Pyclus(Int_t& nclus);
452af8c7 60 virtual void Pyshow(Int_t ip1, Int_t ip2, Double_t qmax);
61 virtual void Pyrobo(Int_t imi, Int_t ima, Double_t the, Double_t phi, Double_t bex, Double_t bey, Double_t bez);
86b6ad68 62 virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, Int_t iECMethod);
992f2843 63 virtual void Pyquen(Double_t a, Int_t ibf, Double_t b);
b280c4cc 64 virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]);
8d2cd130 65 // return instance of the singleton
66 static AliPythia* Instance();
452af8c7 67 virtual void Quench();
8d2cd130 68 protected:
0f482ae4 69 Process_t fProcess; // Process type
70 Float_t fEcms; // Centre of mass energy
71 StrucFunc_t fStrucFunc; // Structure function
72 Int_t fDefMDCY[501]; // ! Default decay switches per particle
73 Int_t fDefMDME[2001]; // ! Default decay switches per mode
b280c4cc 74 Double_t fZQuench[4]; // ! Quenching fractions for this even
75 Double_t fXJet; // ! Jet production point X
76 Double_t fYJet; // ! Jet production point Y
0f482ae4 77 AliFastGlauber* fGlauber; // ! The Glauber model
78 AliQuenchingWeights* fQuenchingWeights; // ! The Quenching Weights model
79 static AliPythia* fgAliPythia; // Pointer to single instance
8d2cd130 80 private:
81 AliPythia();
3dc3ec94 82 void ConfigHeavyFlavor();
e0e89f40 83 void AtlasTuning();
8d2cd130 84 ClassDef(AliPythia,1) //ALICE UI to PYTHIA
85};
86
87#endif
88
89
90
90d7b703 91
589380c6 92