Minor changes
[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>
fa49ba58 11
8d2cd130 12typedef enum
13{kPyCharm, kPyBeauty, kPyCharmUnforced, kPyBeautyUnforced,
14 kPyJpsi, kPyJpsiChi, kPyMb, kPyMbNonDiffr, kPyJets, kPyDirectGamma,
e0e89f40 15 kPyCharmPbPbMNR, kPyD0PbPbMNR, kPyDPlusPbPbMNR, kPyDPlusStrangePbPbMNR, kPyBeautyPbPbMNR,
16 kPyCharmpPbMNR, kPyD0pPbMNR, kPyDPluspPbMNR, kPyDPlusStrangepPbMNR, kPyBeautypPbMNR,
17 kPyCharmppMNR, kPyCharmppMNRwmi, kPyD0ppMNR, kPyDPlusppMNR, kPyDPlusStrangeppMNR,
d7de4a67 18 kPyBeautyppMNR, kPyBeautyppMNRwmi, kPyW, kPyZ, kPyMbMSEL1,
0a0cbcfd 19 kPyOldUEQ2ordered, kPyOldUEQ2ordered2, kPyOldPopcorn,
f529e69b 20 kPyLhwgMb,kPyMbDefault}
8d2cd130 21Process_t;
fa49ba58 22
0f482ae4 23class AliFastGlauber;
24class AliQuenchingWeights;
25
8d2cd130 26class AliPythia : public TPythia6, public AliRndm
27{
28
29 public:
30 virtual ~AliPythia(){;}
31 // convert to compressed code and print result (for debugging only)
32 virtual Int_t CheckedLuComp(Int_t kf);
33 // Pythia initialisation for selected processes
34 virtual void ProcInit
35 (Process_t process, Float_t energy, StrucFunc_t strucfunc);
36 // treat protons as inside nuclei
37 virtual void SetNuclei(Int_t a1, Int_t a2);
38 // Print particle properties
39 virtual void PrintParticles();
40 virtual void ResetDecayTable();
41 virtual void SetDecayTable();
16a82508 42 virtual void Pyevnw();
8d2cd130 43 virtual void Pycell(Int_t& nclus);
44 virtual void Pyclus(Int_t& nclus);
452af8c7 45 virtual void Pyshow(Int_t ip1, Int_t ip2, Double_t qmax);
46 virtual void Pyrobo(Int_t imi, Int_t ima, Double_t the, Double_t phi, Double_t bex, Double_t bey, Double_t bez);
32c8e463 47 virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, Int_t iECMethod, Float_t zmax = 0.97, Int_t ngmax = 30);
992f2843 48 virtual void Pyquen(Double_t a, Int_t ibf, Double_t b);
b280c4cc 49 virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]);
8d2cd130 50 // return instance of the singleton
51 static AliPythia* Instance();
452af8c7 52 virtual void Quench();
e8a8adcd 53 // Assignment Operator
54 AliPythia & operator=(const AliPythia & rhs);
55 void Copy(TObject&) const;
8d2cd130 56 protected:
0f482ae4 57 Process_t fProcess; // Process type
58 Float_t fEcms; // Centre of mass energy
59 StrucFunc_t fStrucFunc; // Structure function
60 Int_t fDefMDCY[501]; // ! Default decay switches per particle
61 Int_t fDefMDME[2001]; // ! Default decay switches per mode
b280c4cc 62 Double_t fZQuench[4]; // ! Quenching fractions for this even
63 Double_t fXJet; // ! Jet production point X
64 Double_t fYJet; // ! Jet production point Y
32c8e463 65 Int_t fNGmax; // Maximum number of radiated gluons in quenching
66 Float_t fZmax; // Maximum energy loss in quenching
0f482ae4 67 AliFastGlauber* fGlauber; // ! The Glauber model
68 AliQuenchingWeights* fQuenchingWeights; // ! The Quenching Weights model
69 static AliPythia* fgAliPythia; // Pointer to single instance
8d2cd130 70 private:
71 AliPythia();
e8a8adcd 72 AliPythia(const AliPythia& pythia);
3dc3ec94 73 void ConfigHeavyFlavor();
e0e89f40 74 void AtlasTuning();
8d2cd130 75 ClassDef(AliPythia,1) //ALICE UI to PYTHIA
76};
77
78#endif
79
80
81
90d7b703 82
589380c6 83