3 // Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna
4 // amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru
8 //This class is used to calculate strange potential from
9 //the known initial strange density = 0 at given temperature and baryon potential.
11 #ifndef STRANGEPOTENTIAL_H
12 #define STRANGEPOTENTIAL_H
14 #include "StrangeDensity.h"
15 #include "EquationSolver.h"
16 #include "DatabasePDG.h"
17 #include "UKUtility.h"
19 class StrangePotential {
21 StrangePotential(const Double_t initialStrangeDensity=0, DatabasePDG* database=0x0) :
24 fStrangeDensity(initialStrangeDensity),
25 fMinStrangePotential(0.0001*kGeV),
26 fMaxStrangePotential(0.9*kGeV),
28 fNSolverIteration(100),
34 ~StrangePotential() {};
36 Double_t operator()(const Double_t strangePotential) {
37 return (fStrangeDensity - this->CalculateStrangeDensity(strangePotential))/fStrangeDensity;
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();
48 StrangePotential(const StrangePotential&);
49 StrangePotential& operator=(const StrangePotential&);
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);