]>
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); | |
9abb118d | 46 | void ReadShareParticleTable(); |
2e967919 | 47 | |
48 | protected: | |
2e967919 | 49 | void CreateTherminatorInputFile(); |
50 | ||
51 | Int_t fNt; // CurrentTrack; | |
52 | Int_t fEventNumber; // Number of the event to read | |
53 | TString fFileName; // FileName of the file with events | |
54 | ||
55 | TString fFreezeOutModel; // FreezeOut model to use | |
56 | ||
57 | // Parameters common for all models | |
58 | Double_t fTemperature; // Freeze-out temperature [GeV/c] | |
59 | Double_t fMiuI; // Isospin chemical potential | |
60 | Double_t fMiuS; // Strance chemical potential | |
61 | Double_t fMiuB; // Baryonic chemical potential | |
62 | Double_t fAlfaRange; // Spatial rapidity range for primordial particles | |
63 | Double_t fRapRange; // Momentum rapidity range for primordial particles | |
64 | ||
65 | // Model dependent paramters | |
66 | Double_t fRhoMax; // Transverse bound of the system | |
67 | Double_t fTau; // Proper freeze-out time parameter | |
68 | Double_t fBWA; // Blast-wave freeze-out surface slope in t-rho plane | |
69 | Double_t fBWVt; // Blast-wave velocity profile parameter | |
70 | Double_t fBWDelay; // Blast-wave time delay parameter | |
71 | ||
72 | private: | |
73 | ||
74 | ClassDef(AliGenTherminator,1) // Hijing parametrisation generator | |
75 | }; | |
76 | #endif | |
77 | ||
78 | inline void AliGenTherminator::SetTemperature(Double_t temp) { fTemperature = temp; } | |
79 | inline void AliGenTherminator::SetMiuI(Double_t miu) { fMiuI = miu; } | |
80 | inline void AliGenTherminator::SetMiuS(Double_t miu) { fMiuS = miu; } | |
81 | inline void AliGenTherminator::SetMiuB(Double_t miu) { fMiuB = miu; } | |
82 | inline void AliGenTherminator::SetAlfaRange(Double_t range) { fAlfaRange = range; } | |
83 | inline void AliGenTherminator::SetRapRange(Double_t range) { fRapRange = range; } | |
84 | ||
85 | inline void AliGenTherminator::SetRhoMax(Double_t rho) { fRhoMax = rho; } | |
86 | inline void AliGenTherminator::SetTau(Double_t tau) { fTau = tau; } | |
87 | inline void AliGenTherminator::SetBWA(Double_t bwa) { fBWA = bwa; } | |
88 | inline void AliGenTherminator::SetBWVt(Double_t bwv) { fBWVt = bwv; } | |
89 | inline void AliGenTherminator::SetBWDelay(Double_t bwd) { fBWDelay = bwd; } | |
90 | ||
91 | ||
92 | ||
93 | ||
94 | ||
95 | ||
96 | ||
97 |