1 #ifndef NAStrangeDensity_h
2 #include "StrangeDensity.h"
5 NAStrangeDensity::NAStrangeDensity() {
7 fBaryonPotential = 0.*GeV;
8 fStrangePotential = 0.*GeV;
11 // compute hadron system strangeness density
12 Double_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();
19 return meanStrangenessDensity;
22 // compute hadron number density
23 Double_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,
38 prefactor = (particleDegFactor*particleMass*particleMass*
39 fTemperature/hbarc/hbarc/hbarc)/(2.*N_PI*N_PI);
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);
46 return prefactor*postfactor;