]>
Commit | Line | Data |
---|---|---|
b1c2e580 | 1 | #ifndef NAStrangePotential_h |
2 | #define NAStrangePotential_h | |
3 | #include "StrangeDensity.h" | |
4 | #include "EquationSolver.h" | |
5 | /* | |
6 | ||
7 | Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna | |
8 | amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru | |
9 | November. 2, 2005 | |
10 | ||
11 | */ | |
12 | ||
13 | //This class is used to calculate strange potential from | |
14 | //the known initial strange density = 0 at given temperature and baryon potential. | |
15 | ||
16 | class NAStrangePotential { | |
17 | public: | |
18 | NAStrangePotential(const Double_t initialStrangeDensity) : | |
19 | fStrangeDensity(initialStrangeDensity), | |
20 | fNIteration(100), | |
21 | fTolerance(1.e-8), | |
22 | fNSolverIteration(100), | |
23 | fMinStrangePotential(0.0001*GeV), | |
24 | fMaxStrangePotential(0.9*GeV) | |
25 | {}; | |
26 | ||
27 | ~NAStrangePotential() {}; | |
28 | ||
29 | Double_t operator()(const Double_t strangePotential) { | |
30 | return (fStrangeDensity - this->CalculateStrangeDensity(strangePotential))/fStrangeDensity; | |
31 | } | |
32 | ||
33 | private: | |
34 | // default constructor is not accesible | |
35 | NAStrangePotential(){}; | |
36 | ||
37 | public: | |
38 | void SetTemperature(Double_t value) {fTemperature = value;} | |
39 | void SetBaryonPotential(Double_t value) {fBaryonPotential = value;} | |
40 | void SetMinStrangePotential(Double_t value) {fMinStrangePotential = value;} | |
41 | void SetMaxStrangePotential(Double_t value) {fMaxStrangePotential = value;} | |
42 | Double_t CalculateStrangePotential(); | |
43 | ||
44 | private: | |
45 | //compute hadron system strange density through strange potential | |
46 | Double_t CalculateStrangeDensity(const Double_t strangePotential); | |
47 | Double_t fTemperature; | |
48 | Double_t fBaryonPotential; | |
49 | Double_t fStrangeDensity; | |
50 | Double_t fMinStrangePotential;//initial min value of strange potential | |
51 | Double_t fMaxStrangePotential;//initial max value of strange potential | |
52 | Int_t fNIteration; //to find proper [minStrangePotential, maxStrangePotential] interval | |
53 | Int_t fNSolverIteration; //to find root in [minStrangePotential,maxStrangePotential] interval | |
54 | Double_t fTolerance;//to find root | |
55 | NAStrangeDensity fGc; | |
56 | }; | |
57 | ||
58 | #endif |