]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TUHKMgen/UHKM/StrangePotential.h
Flag for In/Out of Plane Analysis
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / StrangePotential.h
... / ...
CommitLineData
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
19class 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