]>
Commit | Line | Data |
---|---|---|
b1c2e580 | 1 | #ifndef NAStrangeDensity_h |
2 | #include "StrangeDensity.h" | |
3 | #endif | |
4 | ||
5 | NAStrangeDensity::NAStrangeDensity() { | |
6 | fTemperature = 0.*GeV; | |
7 | fBaryonPotential = 0.*GeV; | |
8 | fStrangePotential = 0.*GeV; | |
9 | fNMax = 5; | |
10 | } | |
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(); | |
18 | } | |
19 | return meanStrangenessDensity; | |
20 | } | |
21 | ||
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, | |
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 |