]>
Commit | Line | Data |
---|---|---|
b1c2e580 | 1 | #ifndef NAStrangeDensity_h |
2 | #include "StrangeDensity.h" | |
3 | #endif | |
4 | ||
786056a2 | 5 | NAStrangeDensity::NAStrangeDensity(): |
6 | fTemperature(0.*GeV), | |
7 | fBaryonPotential(0.*GeV), | |
8 | fStrangePotential(0.*GeV), | |
9 | fNMax(5) | |
10 | { | |
b1c2e580 | 11 | } |
12 | // compute hadron system strangeness density | |
13 | Double_t NAStrangeDensity::StrangenessDensity(DatabasePDG* database) { | |
14 | Double_t meanStrangenessDensity = 0.; | |
15 | for(Int_t particleIndex = 0; particleIndex < database->GetNParticles(); particleIndex++) { | |
16 | ParticlePDG *particle = database->GetPDGParticleByIndex(particleIndex); | |
17 | Double_t particleDensity = ParticleNumberDensity(particle); | |
18 | meanStrangenessDensity += particleDensity*particle->GetStrangeness(); | |
19 | } | |
20 | return meanStrangenessDensity; | |
21 | } | |
22 | ||
23 | // compute hadron number density | |
24 | Double_t NAStrangeDensity::ParticleNumberDensity(ParticlePDG* pDef) { | |
25 | Double_t particleMass = pDef->GetMass(); | |
26 | Int_t particleStrangeness = Int_t(pDef->GetStrangeness()); | |
27 | Double_t particleBaryon = pDef->GetBaryonNumber(); | |
28 | //compute chemical potential | |
29 | Double_t particleChemPotential = fBaryonPotential*particleBaryon + | |
30 | fStrangePotential*particleStrangeness; | |
31 | //compute degeneracy factor | |
32 | Double_t particleDegFactor = 2*pDef->GetSpin() + 1.; // IA: In ParticlePDG() GetSpin() returns spin not 2*spin !! | |
33 | Double_t d = 1.;//for fermions | |
34 | 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, | |
35 | d = -1; //for bosons | |
36 | ||
37 | Double_t prefactor; | |
38 | Double_t postfactor; | |
39 | prefactor = (particleDegFactor*particleMass*particleMass* | |
40 | fTemperature/hbarc/hbarc/hbarc)/(2.*N_PI*N_PI); | |
41 | postfactor = 0.; | |
42 | ||
43 | for(Int_t n = 1; n <= fNMax; n++) { | |
44 | postfactor += pow(-d,n+1)/(n)*exp(n*particleChemPotential/fTemperature)* | |
45 | HankelKn(2,n*particleMass/fTemperature); | |
46 | } | |
47 | return prefactor*postfactor; | |
48 | } | |
49 |