]>
Commit | Line | Data |
---|---|---|
2e967919 | 1 | #ifndef ALIGENTHERMINATOR_H |
2 | #define ALIGENTHERMINATOR_H | |
3 | ||
4 | // ALICE event generator based on the THERMINATOR model | |
5 | // It invokes the event generation and then puts the resulting | |
6 | // event on the stack. All the parameters of the model are | |
7 | // accessible via this interface | |
8 | // Author: Adam.Kisiel@cern.ch | |
9 | ||
10 | class TF1; | |
11 | class TClonesArray; | |
12 | ||
13 | #include "AliGenerator.h" | |
14 | #include "AliDecayer.h" | |
15 | #include "AliGenMC.h" | |
16 | #include "TTherminator.h" | |
17 | ||
18 | class AliGenTherminator : public AliGenMC | |
19 | { | |
20 | public: | |
21 | ||
22 | AliGenTherminator(); | |
23 | AliGenTherminator(Int_t npart); | |
24 | virtual ~AliGenTherminator(); | |
25 | virtual void Generate(); | |
26 | virtual void Init(); | |
27 | // Set model parameters | |
28 | ||
29 | void SetFileName(const char *infilename); | |
30 | void SetEventNumberInFile(int evnum); | |
31 | ||
32 | void SetTemperature(Double_t temp); | |
33 | void SetMiuI(Double_t miu); | |
34 | void SetMiuS(Double_t miu); | |
35 | void SetMiuB(Double_t miu); | |
36 | void SetAlfaRange(Double_t range); | |
37 | void SetRapRange(Double_t range); | |
38 | ||
39 | void SetRhoMax(Double_t rho); | |
40 | void SetTau(Double_t tau); | |
41 | void SetBWA(Double_t bwa); | |
42 | void SetBWVt(Double_t bwv); | |
43 | void SetBWDelay(Double_t bwd); | |
44 | ||
45 | void SetModel(const char *model); | |
ae89e57a | 46 | void SetLhyquidSet(const char *set); |
47 | void SetLhyquidInputDir(const char *inputdir); | |
9abb118d | 48 | void ReadShareParticleTable(); |
2e967919 | 49 | |
50 | protected: | |
2e967919 | 51 | void CreateTherminatorInputFile(); |
52 | ||
53 | Int_t fNt; // CurrentTrack; | |
54 | Int_t fEventNumber; // Number of the event to read | |
55 | TString fFileName; // FileName of the file with events | |
56 | ||
57 | TString fFreezeOutModel; // FreezeOut model to use | |
ae89e57a | 58 | TString fFOHSlocation; // Directory where Lhyquid input files are |
2e967919 | 59 | |
60 | // Parameters common for all models | |
61 | Double_t fTemperature; // Freeze-out temperature [GeV/c] | |
62 | Double_t fMiuI; // Isospin chemical potential | |
63 | Double_t fMiuS; // Strance chemical potential | |
64 | Double_t fMiuB; // Baryonic chemical potential | |
65 | Double_t fAlfaRange; // Spatial rapidity range for primordial particles | |
66 | Double_t fRapRange; // Momentum rapidity range for primordial particles | |
67 | ||
68 | // Model dependent paramters | |
69 | Double_t fRhoMax; // Transverse bound of the system | |
70 | Double_t fTau; // Proper freeze-out time parameter | |
71 | Double_t fBWA; // Blast-wave freeze-out surface slope in t-rho plane | |
72 | Double_t fBWVt; // Blast-wave velocity profile parameter | |
73 | Double_t fBWDelay; // Blast-wave time delay parameter | |
74 | ||
75 | private: | |
76 | ||
77 | ClassDef(AliGenTherminator,1) // Hijing parametrisation generator | |
78 | }; | |
79 | #endif | |
80 | ||
81 | inline void AliGenTherminator::SetTemperature(Double_t temp) { fTemperature = temp; } | |
82 | inline void AliGenTherminator::SetMiuI(Double_t miu) { fMiuI = miu; } | |
83 | inline void AliGenTherminator::SetMiuS(Double_t miu) { fMiuS = miu; } | |
84 | inline void AliGenTherminator::SetMiuB(Double_t miu) { fMiuB = miu; } | |
85 | inline void AliGenTherminator::SetAlfaRange(Double_t range) { fAlfaRange = range; } | |
86 | inline void AliGenTherminator::SetRapRange(Double_t range) { fRapRange = range; } | |
87 | ||
88 | inline void AliGenTherminator::SetRhoMax(Double_t rho) { fRhoMax = rho; } | |
89 | inline void AliGenTherminator::SetTau(Double_t tau) { fTau = tau; } | |
90 | inline void AliGenTherminator::SetBWA(Double_t bwa) { fBWA = bwa; } | |
91 | inline void AliGenTherminator::SetBWVt(Double_t bwv) { fBWVt = bwv; } | |
92 | inline void AliGenTherminator::SetBWDelay(Double_t bwd) { fBWDelay = bwd; } | |
93 | ||
94 | ||
95 | ||
96 | ||
97 | ||
98 | ||
99 | ||
100 |