1 #ifndef NAStrangePotential_h
2 #define NAStrangePotential_h
3 #include "StrangeDensity.h"
4 #include "EquationSolver.h"
7 Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna
8 amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru
13 //This class is used to calculate strange potential from
14 //the known initial strange density = 0 at given temperature and baryon potential.
16 class NAStrangePotential {
18 NAStrangePotential(const Double_t initialStrangeDensity) :
19 fStrangeDensity(initialStrangeDensity),
22 fNSolverIteration(100),
23 fMinStrangePotential(0.0001*GeV),
24 fMaxStrangePotential(0.9*GeV)
27 ~NAStrangePotential() {};
29 Double_t operator()(const Double_t strangePotential) {
30 return (fStrangeDensity - this->CalculateStrangeDensity(strangePotential))/fStrangeDensity;
34 // default constructor is not accesible
35 NAStrangePotential(){};
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();
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