]>
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> | |
fa49ba58 | 11 | |
8d2cd130 | 12 | typedef 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, |
20 | kPyLhwgMb} | |
8d2cd130 | 21 | Process_t; |
fa49ba58 | 22 | |
0f482ae4 | 23 | class AliFastGlauber; |
24 | class AliQuenchingWeights; | |
25 | ||
8d2cd130 | 26 | class 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 |