Fixes for object target dependencies
[u/mrichter/AliRoot.git] / TTherminator / AliGenTherminator.h
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);
46   void SetLhyquidSet(const char *set);
47   void SetLhyquidInputDir(const char *inputdir);
48   void ReadShareParticleTable();
49
50  protected:
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
58   TString  fFOHSlocation;      // Directory where Lhyquid input files are
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