]>
Commit | Line | Data |
---|---|---|
39d810c8 | 1 | #ifndef ALIPYTHIABASE_H |
2 | #define ALIPYTHIABASE_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 | #include "AliRndm.h" | |
8 | #include <TObject.h> | |
9 | #include "AliStructFuncType.h" | |
10 | #include "PythiaProcesses.h" | |
11 | ||
12 | class AliFastGlauber; | |
13 | class AliQuenchingWeights; | |
14 | class AliStack; | |
15 | class TClonesArray; | |
16 | ||
17 | class AliPythiaBase : public AliRndm | |
18 | { | |
19 | ||
20 | public: | |
21 | AliPythiaBase(); | |
22 | virtual ~AliPythiaBase(){;} | |
23 | virtual Int_t Version() = 0; | |
24 | // Convert to compressed code and print result (for debugging only) | |
25 | virtual Int_t CheckedLuComp(Int_t kf) = 0; | |
26 | // Pythia initialisation for selected processes | |
27 | virtual void ProcInit (Process_t process, Float_t energy, StrucFunc_t strucfunc) = 0; | |
28 | virtual void GenerateEvent() = 0; | |
29 | virtual void GenerateMIEvent() = 0; | |
30 | virtual Int_t GetNumberOfParticles() = 0; | |
31 | virtual void SetNumberOfParticles(Int_t i) = 0; | |
32 | virtual void EditEventList(Int_t i) = 0; | |
33 | virtual void HadronizeEvent() = 0; | |
34 | virtual Int_t GetParticles(TClonesArray *particles) = 0; | |
35 | virtual void PrintStatistics() = 0; | |
36 | virtual void EventListing() = 0; | |
37 | // Treat protons as inside nuclei | |
38 | virtual void SetNuclei(Int_t a1, Int_t a2) = 0; | |
39 | // Print particle properties | |
40 | virtual void PrintParticles() = 0; | |
41 | // Reset the decay table | |
42 | virtual void ResetDecayTable() = 0; | |
43 | // | |
44 | // Common Physics Configuration | |
45 | virtual void SetPtHardRange(Float_t ptmin, Float_t ptmax) = 0; | |
46 | virtual void SetYHardRange(Float_t ymin, Float_t ymax) = 0; | |
47 | virtual void SetFragmentation(Int_t flag) = 0; | |
48 | virtual void SetInitialAndFinalStateRadiation(Int_t flag1, Int_t flag2) = 0; | |
49 | virtual void SetIntrinsicKt(Float_t kt) = 0; | |
50 | virtual void SwitchHFOff() = 0; | |
51 | virtual void SetPycellParameters(Float_t etamax, Int_t neta, Int_t nphi, | |
52 | Float_t thresh, Float_t etseed, Float_t minet, Float_t r) = 0; | |
53 | virtual void ModifiedSplitting() = 0; | |
54 | virtual void SwitchHadronisationOff() = 0; | |
55 | virtual void SwitchHadronisationOn() = 0; | |
56 | // | |
57 | // Common Getters | |
58 | virtual void GetXandQ(Float_t& x1, Float_t& x2, Float_t& q) = 0; | |
59 | virtual Float_t GetXSection() = 0; | |
60 | virtual Int_t ProcessCode() = 0; | |
61 | virtual Float_t GetPtHard() = 0; | |
62 | // | |
63 | // | |
64 | virtual void SetDecayTable() = 0; | |
65 | virtual void Pycell(Int_t& nclus) = 0; | |
66 | virtual void Pyclus(Int_t& nclus) = 0; | |
67 | virtual void GetJet(Int_t i, Float_t& px, Float_t& py, Float_t& pz, Float_t& e) = 0; | |
68 | virtual void LoadEvent(AliStack* stack, Int_t flag, Int_t reHadr) = 0; | |
69 | virtual void Pyshow(Int_t ip1, Int_t ip2, Double_t qmax) = 0; | |
70 | virtual void Pyrobo(Int_t imi, Int_t ima, Double_t the, Double_t phi, Double_t bex, Double_t bey, Double_t bez) = 0; | |
71 | virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, Int_t iECMethod, Float_t zmax, Int_t ngmax) = 0; | |
72 | virtual void Pyquen(Double_t a, Int_t ibf, Double_t b) = 0; | |
73 | virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]) = 0; | |
74 | // return instance of the singleton | |
75 | virtual void Quench() = 0; | |
76 | virtual void ConfigHeavyFlavor() = 0; | |
77 | virtual void AtlasTuning() = 0; | |
78 | ClassDef(AliPythiaBase, 1) //ALICE UI to PYTHIA | |
79 | }; | |
80 | ||
81 | #endif | |
82 | ||
83 | ||
84 | ||
85 | ||
86 |