]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TTherminator/AliGenTherminator.h
TPC mapping class added; new digit reader based on fast ALTRO decoder implemented...
[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
47  protected:
48   void     ReadShareParticleTable();
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