25 m_TAG =
"ThermalModelIdeal";
48 vector<double> tN(NN), tW(NN);
49 for (
int i = 0; i < NN; ++i) tN[i] =
m_densities[i];
57 for (
int i = 0; i < NN; ++i)
58 for (
int j = 0; j < NN; ++j) {
64 for (
int i = 0; i < NN; ++i) {
80 for (
size_t i = 0; i <
m_wprim.size(); ++i) {
85 for (
size_t i = 0; i <
m_wtot.size(); ++i) {
86 double tmp1 = 0., tmp2 = 0., tmp3 = 0., tmp4 = 0.;
91 for (
size_t r = 0; r < decayContributions.size(); ++r) {
95 (m_wprim[decayContrib.second] * decayContrib.first * decayContrib.first
96 + decayCumulantsSingle.first[1]);
98 int rr = decayContrib.second;
99 double ni = decayContrib.first;
100 tmp3 +=
m_densities[rr] * m_wprim[rr] * (m_skewprim[rr] * ni * ni * ni + 3. * ni * decayCumulantsSingle.first[1]);
101 tmp3 +=
m_densities[rr] * decayCumulantsSingle.first[2];
103 tmp4 +=
m_densities[rr] * m_wprim[rr] * (m_kurtprim[rr] * ni * ni * ni * ni
104 + 6. * m_skewprim[rr] * ni * ni * decayCumulantsSingle.first[1]
105 + 3. * decayCumulantsSingle.first[1] * decayCumulantsSingle.first[1]
106 + 4. * ni * decayCumulantsSingle.first[2]);
108 tmp4 +=
m_densities[rr] * decayCumulantsSingle.first[3];
124 vector<double> ret(order + 1, 0.);
132 if (order < 2)
return ret;
137 if (order < 3)
return ret;
142 if (order < 4)
return ret;
Abstract base class for an HRG model implementation.
virtual double CalculateEnergyDensity()
virtual void CalculateTwoParticleFluctuationsDecays()
Computes particle number correlations and fluctuations for all final-state particles which are marked...
std::vector< double > m_Chem
virtual double ParticleSkewness(int part)
Skewness of primordial particle number fluctuations for species i.
double GeVtoifm()
A constant to transform GeV into fm .
std::vector< double > m_kurttot
std::vector< double > m_wprim
virtual double CalculatePressure()
Implementation of the equation of state functions.
std::vector< double > m_skewprim
virtual void CalculateFluctuations()
Computes the fluctuation observables.
bool m_FluctuationsCalculated
std::pair< std::vector< double >, int > SingleDecayCumulantsContribution
Class containing the particle list.
Grand canonical ensemble.
ThermalModelParameters m_Parameters
Structure containing all thermal parameters of the model.
virtual void CalculateTwoParticleCorrelations()
Computes the fluctuations and correlations of the primordial particle numbers.
int ComponentsNumber() const
Number of different particle species in the list.
virtual double ParticleScalarDensity(int part)
The scalar density of the particle species i.
virtual void CalculateSusceptibilityMatrix()
Calculates the conserved charges susceptibility matrix.
ThermalParticleSystem * m_TPS
std::vector< double > m_wtot
std::vector< SingleDecayContribution > DecayContributionsToParticle
A vector of SingleDecayContribution where each element corresponds to a certain resonance species...
virtual void CalculateProxySusceptibilityMatrix()
Calculates the susceptibility matrix of conserved charges proxies.
virtual std::vector< double > CalculateChargeFluctuations(const std::vector< double > &chgs, int order=4)
Calculates fluctuations (diagonal susceptibilities) of an arbitrary "conserved" charge.
virtual double CalculateEntropyDensity()
virtual double CalculateBaryonMatterEntropyDensity()
The fraction of entropy carried by baryons (Ideal GCE only)
std::vector< double > m_kurtprim
const std::vector< ThermalParticle > & Particles() const
Returns the vector of all particle species.
std::vector< std::vector< double > > m_TotalCorrel
ThermalModelInteraction m_InteractionModel
virtual void ValidateCalculation()
Checks whether issues have occured during the calculation of particle densities in the CalculateDensi...
virtual double CalculateMesonMatterEntropyDensity()
The fraction of entropy carried by mesons (Ideal GCE only)
const DecayCumulantsContributionsToAllParticles & DecayCumulants() const
Cumulants of particle number distributions of from decays.
std::vector< double > m_densities
virtual double ParticleScaledVariance(int part)
Scaled variance of primordial particle number fluctuations for species i.
std::vector< std::vector< double > > m_PrimCorrel
ThermalModelEnsemble m_Ensemble
std::vector< double > m_skewtot
virtual void CalculateParticleChargeCorrelationMatrix()
Calculates the matrix of correlators between primordial (and also final) particle numbers and conserv...
virtual ~ThermalModelIdeal(void)
Destroy the ThermalModelIdeal object.
const std::vector< DecayContributionsToAllParticles > & DecayContributionsByFeeddown() const
std::vector< double > m_densitiestotal
virtual double ParticleKurtosis(int part)
Kurtosis of primordial particle number fluctuations for species i.
virtual void CalculatePrimordialDensities()
Calculates the primordial densities of all species.
The main namespace where all classes and functions of the Thermal-FIST library reside.
std::pair< double, int > SingleDecayContribution
Feeddown from all particles marked as unstable.