Adding macros runSimulation.C, runReconstruction.C
[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);
86b6ad68 47 virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, Int_t iECMethod);
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
0f482ae4 65 AliFastGlauber* fGlauber; // ! The Glauber model
66 AliQuenchingWeights* fQuenchingWeights; // ! The Quenching Weights model
67 static AliPythia* fgAliPythia; // Pointer to single instance
8d2cd130 68 private:
69 AliPythia();
e8a8adcd 70 AliPythia(const AliPythia& pythia);
3dc3ec94 71 void ConfigHeavyFlavor();
e0e89f40 72 void AtlasTuning();
8d2cd130 73 ClassDef(AliPythia,1) //ALICE UI to PYTHIA
74};
75
76#endif
77
78
79
90d7b703 80
589380c6 81