]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TUHKMgen/UHKM/StrangePotential.h
Corrected warnings, coding conventions, bug fixes (Ionut)
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / StrangePotential.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 //This class is used to calculate strange potential from
10 //the known initial strange density = 0 at given temperature and baryon potential.
11
12 #ifndef NAStrangePotential_h
13 #define NAStrangePotential_h 1
14
15 #ifndef NAStrangeDensity_h
16 #include "StrangeDensity.h"
17 #endif
18 #ifndef NAEquationSolver_h
19 #include "EquationSolver.h"
20 #endif
21 #ifndef DATABASEPDG_H
22 #include "DatabasePDG.h"
23 #endif
24                                          
25 class NAStrangePotential {
26  public:
27   NAStrangePotential(const Double_t initialStrangeDensity=0, DatabasePDG* database=0x0) :
28     fTemperature(0),
29     fBaryonPotential(0),
30     fStrangeDensity(initialStrangeDensity),
31     fMinStrangePotential(0.0001*GeV),
32     fMaxStrangePotential(0.9*GeV),
33     fNIteration(100),
34     fNSolverIteration(100),
35     fTolerance(1.e-8),
36     fDatabase(database),
37     fGc()
38     {};
39
40   ~NAStrangePotential() {};
41    
42   Double_t operator()(const Double_t strangePotential) { 
43     return (fStrangeDensity - this->CalculateStrangeDensity(strangePotential))/fStrangeDensity; 
44   }     
45
46   void SetTemperature(Double_t value) {fTemperature = value;}
47   void SetBaryonPotential(Double_t value) {fBaryonPotential = value;}
48   void SetMinStrangePotential(Double_t value) {fMinStrangePotential = value;}
49   void SetMaxStrangePotential(Double_t value) {fMaxStrangePotential = value;}
50   Double_t CalculateStrangePotential();
51
52  private:
53   NAStrangePotential(const NAStrangePotential&);
54   NAStrangePotential& operator=(const NAStrangePotential&);
55
56   Double_t fTemperature;
57   Double_t fBaryonPotential;
58   Double_t fStrangeDensity;
59   Double_t fMinStrangePotential;//initial min value of strange potential 
60   Double_t fMaxStrangePotential;//initial max value of strange potential
61   Int_t fNIteration; //to find proper [minStrangePotential, maxStrangePotential] interval
62   Int_t fNSolverIteration; //to find root in [minStrangePotential,maxStrangePotential] interval
63   Double_t fTolerance;//to find root 
64   DatabasePDG* fDatabase;
65   NAStrangeDensity fGc;
66   //compute hadron  system strange density through strange potential
67   Double_t CalculateStrangeDensity(const Double_t strangePotential);
68   //default constructor is not accesible
69   NAStrangePotential();
70
71 };
72
73 #endif