]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TUHKMgen/UHKM/StrangePotential.cxx
updated macros for making PPR plots
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / StrangePotential.cxx
CommitLineData
b1c2e580 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, 2006
6
7*/
8
9#ifndef NAStrangePotential_h
10#include "StrangePotential.h"
11#endif
12
13Double_t NAStrangePotential::CalculateStrangePotential() {
14 Double_t minFunction = this->operator()(fMinStrangePotential);
15 Double_t maxFunction = this->operator()(fMaxStrangePotential);
16
17 Int_t iter = 0;
18 while(minFunction < 0.0 && iter++ < fNIteration) {
19 fMinStrangePotential -= 0.5*fMinStrangePotential;
20 minFunction = this->operator()(fMinStrangePotential);
21 }
22
23 iter = 0;
24 while(minFunction*maxFunction > 0.0 && iter++ < fNIteration) {
25 fMaxStrangePotential += 1.5*Abs(fMaxStrangePotential-fMinStrangePotential);
26 maxFunction = this->operator()(fMaxStrangePotential);
27 }
28
29 if(minFunction*maxFunction > 0.0) {
30 Error("StrangePotential::CalculateStrangePotential", "minFunction*maxFunction is positive!\n");
31 return 0.;
32 }
33
34 NAEquationSolver<NAStrangePotential> * theSolver =
35 new NAEquationSolver<NAStrangePotential>(fNSolverIteration, fTolerance);
36
37 theSolver->SetIntervalLimits(fMinStrangePotential, fMaxStrangePotential);
38
39 if (!theSolver->Brent(*this))
40 Error("StrangePotential::CalculateStrangePotential", "the root is not found!\n");
41
42 Double_t strangePotential = theSolver->GetRoot();
43 delete theSolver;
44 return strangePotential;
45}
46
47//calculate hadron system strange density
48Double_t NAStrangePotential::CalculateStrangeDensity(const Double_t strangePotential)
49{
50 fGc.SetStrangePotential(strangePotential);
51 fGc.SetTemperature(fTemperature);
52 fGc.SetBaryonPotential(fBaryonPotential);
53 return fGc.StrangenessDensity(fDatabase);
54}