]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TUHKMgen/UHKM/StrangeDensity.cxx
change option of merger to avoid local copy
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / StrangeDensity.cxx
CommitLineData
b1c2e580 1#ifndef NAStrangeDensity_h
2#include "StrangeDensity.h"
3#endif
4
5NAStrangeDensity::NAStrangeDensity() {
6 fTemperature = 0.*GeV;
7 fBaryonPotential = 0.*GeV;
8 fStrangePotential = 0.*GeV;
9 fNMax = 5;
10}
11// compute hadron system strangeness density
12Double_t NAStrangeDensity::StrangenessDensity(DatabasePDG* database) {
13 Double_t meanStrangenessDensity = 0.;
14 for(Int_t particleIndex = 0; particleIndex < database->GetNParticles(); particleIndex++) {
15 ParticlePDG *particle = database->GetPDGParticleByIndex(particleIndex);
16 Double_t particleDensity = ParticleNumberDensity(particle);
17 meanStrangenessDensity += particleDensity*particle->GetStrangeness();
18 }
19 return meanStrangenessDensity;
20}
21
22// compute hadron number density
23Double_t NAStrangeDensity::ParticleNumberDensity(ParticlePDG* pDef) {
24 Double_t particleMass = pDef->GetMass();
25 Int_t particleStrangeness = Int_t(pDef->GetStrangeness());
26 Double_t particleBaryon = pDef->GetBaryonNumber();
27 //compute chemical potential
28 Double_t particleChemPotential = fBaryonPotential*particleBaryon +
29 fStrangePotential*particleStrangeness;
30 //compute degeneracy factor
31 Double_t particleDegFactor = 2*pDef->GetSpin() + 1.; // IA: In ParticlePDG() GetSpin() returns spin not 2*spin !!
32 Double_t d = 1.;//for fermions
33 if(Int_t(2*pDef->GetSpin())%2 == 0)//it gives 0 for Spin = 0,2,4,.. and it gives 1 for Spin = 1,3,7,
34 d = -1; //for bosons
35
36 Double_t prefactor;
37 Double_t postfactor;
38 prefactor = (particleDegFactor*particleMass*particleMass*
39 fTemperature/hbarc/hbarc/hbarc)/(2.*N_PI*N_PI);
40 postfactor = 0.;
41
42 for(Int_t n = 1; n <= fNMax; n++) {
43 postfactor += pow(-d,n+1)/(n)*exp(n*particleChemPotential/fTemperature)*
44 HankelKn(2,n*particleMass/fTemperature);
45 }
46 return prefactor*postfactor;
47}
48