]>
Commit | Line | Data |
---|---|---|
f87cfe57 | 1 | #ifndef ALIPYTHIA_H |
2 | #define ALIPYTHIA_H | |
3da30618 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
fe4da5cc | 7 | |
95b811fe | 8 | #include <TPythia6.h> |
3356c022 | 9 | #include <AliRndm.h> |
361b85b3 | 10 | #include <AliStructFuncType.h> |
f1a48a38 | 11 | typedef enum |
4af58cc6 | 12 | {kPyCharm, kPyBeauty, kPyCharmUnforced, kPyBeautyUnforced, |
13 | kPyJpsi, kPyJpsiChi, kPyMb, kPyMbNonDiffr, kPyJets, kPyDirectGamma, | |
14 | kPyCharmPbMNR, kPyD0PbMNR, kPyBeautyPbMNR} | |
f1a48a38 | 15 | Process_t; |
361b85b3 | 16 | /* |
f1a48a38 | 17 | typedef enum |
18 | { | |
d3f01a1d | 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 | |
f1a48a38 | 31 | } |
32 | StrucFunc_t; | |
361b85b3 | 33 | */ |
3356c022 | 34 | class AliPythia : public TPythia6, public AliRndm |
fe4da5cc | 35 | { |
f1a48a38 | 36 | |
fe4da5cc | 37 | public: |
75c6d54e | 38 | virtual ~AliPythia(){;} |
fe4da5cc | 39 | // convert to compressed code and print result (for debugging only) |
f87cfe57 | 40 | virtual Int_t CheckedLuComp(Int_t kf); |
fe4da5cc | 41 | // Pythia initialisation for selected processes |
42 | virtual void ProcInit | |
43 | (Process_t process, Float_t energy, StrucFunc_t strucfunc); | |
811826d8 | 44 | // treat protons as inside nuclei |
47285bde | 45 | virtual void SetNuclei(Int_t a1, Int_t a2); |
14ee1cd0 | 46 | // Print particle properties |
47 | virtual void PrintParticles(); | |
48 | virtual void ResetDecayTable(); | |
49 | virtual void SetDecayTable(); | |
4af58cc6 | 50 | virtual void Pycell(Int_t& nclus); |
47285bde | 51 | virtual void Pyclus(Int_t& nclus); |
811826d8 | 52 | // return instance of the singleton |
95b811fe | 53 | static AliPythia* Instance(); |
54 | ||
f87cfe57 | 55 | protected: |
95b811fe | 56 | Process_t fProcess; // Process type |
57 | Float_t fEcms; // Centre of mass energy | |
58 | StrucFunc_t fStrucFunc; // Structure function | |
14ee1cd0 | 59 | Int_t fDefMDCY[501]; // ! Default decay switches per particle |
4b9aeef6 | 60 | Int_t fDefMDME[2001]; // ! Default decay switches per mode |
95b811fe | 61 | static AliPythia* fgAliPythia; // Pointer to single instance |
62 | private: | |
63 | AliPythia(); | |
f87cfe57 | 64 | |
3356c022 | 65 | ClassDef(AliPythia,1) //ALICE UI to PYTHIA |
fe4da5cc | 66 | }; |
67 | ||
68 | #endif | |
69 | ||
70 | ||
71 |