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> |
f1a48a38 |
10 | |
11 | typedef enum |
12 | {kPyCharm, kPyBeauty, kPyCharmUnforced, kPyBeautyUnforced, kPyJpsi, kPyJpsiChi, kPyMb, kPyJets, kPyDirectGamma} |
13 | Process_t; |
14 | |
15 | typedef enum |
16 | { |
17 | kDO_Set_1=1006, |
18 | kGRV_LO=5005, |
19 | kGRV_HO=5006, |
20 | kMRS_D_minus=3031, |
21 | kMRS_D0=3030, |
22 | kMRS_G=3041, |
23 | kCTEQ_2pM=4024, |
24 | kCTEQ_4M=4034 |
25 | } |
26 | StrucFunc_t; |
fe4da5cc |
27 | |
3356c022 |
28 | class AliPythia : public TPythia6, public AliRndm |
fe4da5cc |
29 | { |
f1a48a38 |
30 | |
fe4da5cc |
31 | public: |
75c6d54e |
32 | virtual ~AliPythia(){;} |
fe4da5cc |
33 | // convert to compressed code and print result (for debugging only) |
f87cfe57 |
34 | virtual Int_t CheckedLuComp(Int_t kf); |
fe4da5cc |
35 | // Pythia initialisation for selected processes |
36 | virtual void ProcInit |
37 | (Process_t process, Float_t energy, StrucFunc_t strucfunc); |
811826d8 |
38 | // treat protons as inside nuclei |
39 | virtual void SetNuclei(Int_t a1, Int_t a2); |
40 | // return instance of the singleton |
95b811fe |
41 | static AliPythia* Instance(); |
42 | |
f87cfe57 |
43 | protected: |
95b811fe |
44 | Process_t fProcess; // Process type |
45 | Float_t fEcms; // Centre of mass energy |
46 | StrucFunc_t fStrucFunc; // Structure function |
47 | static AliPythia* fgAliPythia; // Pointer to single instance |
48 | private: |
49 | AliPythia(); |
f87cfe57 |
50 | |
3356c022 |
51 | ClassDef(AliPythia,1) //ALICE UI to PYTHIA |
fe4da5cc |
52 | }; |
53 | |
54 | #endif |
55 | |
56 | |
57 | |