Do not include from subdirectories
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / StrangePotential.h
CommitLineData
03896fc4 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//
b1c2e580 8//This class is used to calculate strange potential from
9//the known initial strange density = 0 at given temperature and baryon potential.
10
03896fc4 11#ifndef STRANGEPOTENTIAL_H
12#define STRANGEPOTENTIAL_H
b1c2e580 13
b1c2e580 14#include "StrangeDensity.h"
b1c2e580 15#include "EquationSolver.h"
b1c2e580 16#include "DatabasePDG.h"
03896fc4 17#include "UKUtility.h"
b1c2e580 18
03896fc4 19class StrangePotential {
b1c2e580 20 public:
03896fc4 21 StrangePotential(const Double_t initialStrangeDensity=0, DatabasePDG* database=0x0) :
786056a2 22 fTemperature(0),
23 fBaryonPotential(0),
b1c2e580 24 fStrangeDensity(initialStrangeDensity),
03896fc4 25 fMinStrangePotential(0.0001*kGeV),
26 fMaxStrangePotential(0.9*kGeV),
b1c2e580 27 fNIteration(100),
28 fNSolverIteration(100),
29 fTolerance(1.e-8),
786056a2 30 fDatabase(database),
31 fGc()
b1c2e580 32 {};
33
03896fc4 34 ~StrangePotential() {};
b1c2e580 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();
786056a2 45
46 private:
03896fc4 47 StrangePotential();
48 StrangePotential(const StrangePotential&);
49 StrangePotential& operator=(const StrangePotential&);
786056a2 50
03896fc4 51 Double_t fTemperature; // temperature
52 Double_t fBaryonPotential; // baryo-chemical potential
53 Double_t fStrangeDensity; // strangeness density
786056a2 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
03896fc4 59 DatabasePDG* fDatabase; // PDG database
60 StrangeDensity fGc; // strangeness density object
786056a2 61 //compute hadron system strange density through strange potential
62 Double_t CalculateStrangeDensity(const Double_t strangePotential);
b1c2e580 63};
64
65#endif