]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TUHKMgen/UHKM/GrandCanonical.h
7f7e45bbc450f367c3c8678f4a4c534c4a27a8cc
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / GrandCanonical.h
1 /*                                                                        
2                                                                             
3         Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna
4       amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru 
5                            November. 2, 2005                                
6
7 */
8
9 #ifndef GRANDCANONICAL_H
10 #define GRANDCANONICAL_H
11
12 class DatabasePDG;
13 class ParticlePDG;
14
15 class GrandCanonical {
16  public:
17   GrandCanonical();
18   GrandCanonical(Int_t nmax, Double_t temperature, Double_t baryonPotential, Double_t strangePotential, Double_t electroPotential);
19   ~GrandCanonical();
20
21   void     Temperature(Double_t value); 
22   Double_t Temperature() const { return fTemperature; }
23   void     BaryonPotential(Double_t value);
24   Double_t BaryonPotential() const { return fBaryonPotential; }
25   void     StrangePotential(Double_t value);
26   Double_t StrangePotential() const { return fStrangePotential; }
27   void     ElectroPotential(Double_t value);
28   Double_t ElectroPotential() const { return fElectroPotential; }
29   void     NMax(Int_t value); 
30   Int_t    NMax() const { return fNMax; }
31
32   // compute of system baryon number, system strangeness, system charge and 
33   // system energy
34   // calculate system energy density
35   Double_t EnergyDensity(DatabasePDG *const database);
36   // calculate system baryon density
37   Double_t BaryonDensity(DatabasePDG *const database);
38   // calculate system strangeness density
39   Double_t StrangeDensity(DatabasePDG *const database);
40   // calculate system electro density
41   Double_t ElectroDensity(DatabasePDG *const database);
42   // compute of particle number density 
43   Double_t ParticleNumberDensity(ParticlePDG *const particle);
44   // compute the particle energy density 
45   Double_t ParticleEnergyDensity(ParticlePDG *const particle); 
46
47  private:
48
49   Double_t    fTemperature;     
50   Double_t    fBaryonPotential; 
51   Double_t    fStrangePotential;
52   Double_t    fElectroPotential;
53
54   //  Number of terms for summation, if fNMax = 1 then 
55   //  Maxwell-Boltzmann distribution will be recovered
56   Int_t       fNMax;
57   Bool_t fInitialized;
58 };
59
60 #endif