]>
Commit | Line | Data |
---|---|---|
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 | //This class is used to calculate strange potential from | |
9 | //the known initial strange density = 0 at given temperature and baryon potential. | |
10 | ||
11 | #ifndef STRANGEPOTENTIAL_H | |
12 | #define STRANGEPOTENTIAL_H | |
13 | ||
14 | #include "StrangeDensity.h" | |
15 | #include "EquationSolver.h" | |
16 | #include "DatabasePDG.h" | |
17 | #include "UKUtility.h" | |
18 | ||
19 | class StrangePotential { | |
20 | public: | |
21 | StrangePotential(const Double_t initialStrangeDensity=0, DatabasePDG* database=0x0) : | |
22 | fTemperature(0), | |
23 | fBaryonPotential(0), | |
24 | fStrangeDensity(initialStrangeDensity), | |
25 | fMinStrangePotential(0.0001*kGeV), | |
26 | fMaxStrangePotential(0.9*kGeV), | |
27 | fNIteration(100), | |
28 | fNSolverIteration(100), | |
29 | fTolerance(1.e-8), | |
30 | fDatabase(database), | |
31 | fGc() | |
32 | {}; | |
33 | ||
34 | ~StrangePotential() {}; | |
35 | ||
36 | Double_t operator()(const Double_t strangePotential) { | |
37 | return (fStrangeDensity - this->CalculateStrangeDensity(strangePotential))/fStrangeDensity; | |
38 | } | |
39 | ||
40 | void SetTemperature(Double_t value) {fTemperature = value;} | |
41 | void SetBaryonPotential(Double_t value) {fBaryonPotential = value;} | |
42 | void SetMinStrangePotential(Double_t value) {fMinStrangePotential = value;} | |
43 | void SetMaxStrangePotential(Double_t value) {fMaxStrangePotential = value;} | |
44 | Double_t CalculateStrangePotential(); | |
45 | ||
46 | private: | |
47 | StrangePotential(); | |
48 | StrangePotential(const StrangePotential&); | |
49 | StrangePotential& operator=(const StrangePotential&); | |
50 | ||
51 | Double_t fTemperature; // temperature | |
52 | Double_t fBaryonPotential; // baryo-chemical potential | |
53 | Double_t fStrangeDensity; // strangeness density | |
54 | Double_t fMinStrangePotential;//initial min value of strange potential | |
55 | Double_t fMaxStrangePotential;//initial max value of strange potential | |
56 | Int_t fNIteration; //to find proper [minStrangePotential, maxStrangePotential] interval | |
57 | Int_t fNSolverIteration; //to find root in [minStrangePotential,maxStrangePotential] interval | |
58 | Double_t fTolerance;//to find root | |
59 | DatabasePDG* fDatabase; // PDG database | |
60 | StrangeDensity fGc; // strangeness density object | |
61 | //compute hadron system strange density through strange potential | |
62 | Double_t CalculateStrangeDensity(const Double_t strangePotential); | |
63 | }; | |
64 | ||
65 | #endif |