]>
Commit | Line | Data |
---|---|---|
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> | |
11 | typedef enum | |
12 | {kPyCharm, kPyBeauty, kPyCharmUnforced, kPyBeautyUnforced, | |
13 | kPyJpsi, kPyJpsiChi, kPyMb, kPyMbNonDiffr, kPyJets, kPyDirectGamma, | |
adf4d898 | 14 | kPyCharmPbPbMNR, kPyD0PbPbMNR, kPyBeautyPbPbMNR, |
15 | kPyCharmpPbMNR, kPyD0pPbMNR, kPyBeautypPbMNR, | |
16 | kPyCharmppMNR, kPyD0ppMNR, kPyBeautyppMNR} | |
8d2cd130 | 17 | Process_t; |
18 | /* | |
19 | typedef enum | |
20 | { | |
21 | kDOSet1 = 1006, | |
22 | kGRVLO = 5005, | |
23 | kGRVHO = 5006, | |
24 | kMRSDminus = 3031, | |
25 | kMRSD0 = 3030, | |
26 | kMRSG = 3041, | |
27 | kCTEQ2pM = 4024, | |
28 | kCTEQ4L = 4032, | |
29 | kCTEQ4M = 4034, | |
30 | kMRSTcgLO = 3072, | |
31 | kCTEQ5L = 4046, | |
32 | kGRVLO98 = 5012 | |
33 | } | |
34 | StrucFunc_t; | |
35 | */ | |
36 | class AliPythia : public TPythia6, public AliRndm | |
37 | { | |
38 | ||
39 | public: | |
40 | virtual ~AliPythia(){;} | |
41 | // convert to compressed code and print result (for debugging only) | |
42 | virtual Int_t CheckedLuComp(Int_t kf); | |
43 | // Pythia initialisation for selected processes | |
44 | virtual void ProcInit | |
45 | (Process_t process, Float_t energy, StrucFunc_t strucfunc); | |
46 | // treat protons as inside nuclei | |
47 | virtual void SetNuclei(Int_t a1, Int_t a2); | |
48 | // Print particle properties | |
49 | virtual void PrintParticles(); | |
50 | virtual void ResetDecayTable(); | |
51 | virtual void SetDecayTable(); | |
52 | virtual void Pycell(Int_t& nclus); | |
53 | virtual void Pyclus(Int_t& nclus); | |
452af8c7 | 54 | virtual void Pyshow(Int_t ip1, Int_t ip2, Double_t qmax); |
55 | virtual void Pyrobo(Int_t imi, Int_t ima, Double_t the, Double_t phi, Double_t bex, Double_t bey, Double_t bez); | |
56 | ||
8d2cd130 | 57 | // return instance of the singleton |
58 | static AliPythia* Instance(); | |
452af8c7 | 59 | virtual void Quench(); |
8d2cd130 | 60 | protected: |
61 | Process_t fProcess; // Process type | |
62 | Float_t fEcms; // Centre of mass energy | |
63 | StrucFunc_t fStrucFunc; // Structure function | |
64 | Int_t fDefMDCY[501]; // ! Default decay switches per particle | |
65 | Int_t fDefMDME[2001]; // ! Default decay switches per mode | |
66 | static AliPythia* fgAliPythia; // Pointer to single instance | |
67 | private: | |
68 | AliPythia(); | |
69 | ||
70 | ClassDef(AliPythia,1) //ALICE UI to PYTHIA | |
71 | }; | |
72 | ||
73 | #endif | |
74 | ||
75 | ||
76 |