Thermal-FIST  1.3
Package for hadron resonance gas model applications
ThermalModelCanonicalStrangeness.h
Go to the documentation of this file.
1 /*
2  * Thermal-FIST package
3  *
4  * Copyright (c) 2014-2019 Volodymyr Vovchenko
5  *
6  * GNU General Public License (GPLv3 or later)
7  */
8 #ifndef THERMALMODELCANONICALSTRANGENESS_H
9 #define THERMALMODELCANONICALSTRANGENESS_H
10 
11 #include <map>
12 #include <iostream>
13 
15 #include "HRGBase/SplineFunction.h"
16 
17 namespace thermalfist {
18 
34  {
35  public:
43 
49 
51  virtual void CalculateEnergyDensitiesGCE();
52 
54  virtual void CalculatePressuresGCE();
55 
64  virtual void CalculateSums(double Vc);
65 
67  const std::vector<double>& DensitiesGCE() const { return m_densitiesGCE; }
68 
69  // Override functions begin
70 
75  virtual void SetParameters(const ThermalModelParameters& params);
76 
83  virtual void SetStrangenessChemicalPotential(double muS);
84 
85  virtual void ChangeTPS(ThermalParticleSystem *TPS);
86 
91  virtual void FixParameters();
92 
98  virtual void SetStatistics(bool stats);
99 
100  virtual void CalculateDensitiesGCE();
101 
107  virtual void CalculatePrimordialDensities();
108 
113  void CalculateFluctuations();
114 
115  virtual double CalculatePressure();
116 
117  virtual double CalculateEnergyDensity();
118 
119  virtual double CalculateEntropyDensity();
120 
121  // Dummy
122  virtual double CalculateBaryonMatterEntropyDensity() { return 0.; }
123 
124  virtual double CalculateMesonMatterEntropyDensity() { return 0.; }
125 
126  virtual double ParticleScaledVariance(int /*part*/) { return 1.; }
127 
128  virtual double ParticleScalarDensity(int /*part*/) { return 0.; }
129 
130  virtual bool IsConservedChargeCanonical(ConservedCharge::Name charge) const;
131 
132  // Override functions end
133 
134  protected:
135  std::vector<double> m_densitiesGCE;
136  std::vector<double> m_energydensitiesGCE;
137  std::vector<double> m_pressuresGCE;
138  std::vector<int> m_StrVals;
139  std::map<int, int> m_StrMap;
140  std::vector<double> m_Zsum;
141  std::vector<double> m_partialS;
142  };
143 
144 } // namespace thermalfist
145 
146 #endif // THERMALMODELCANONICALSTRANGENESS_H
virtual void CalculateDensitiesGCE()
Calculates the particle densities in a grand-canonical ensemble.
Abstract base class for an HRG model implementation.
virtual void CalculatePrimordialDensities()
Calculates the primordial densities of all species.
virtual double ParticleScalarDensity(int)
The scalar density of the particle species i.
virtual void FixParameters()
Method which actually implements ConstrainChemicalPotentials() (for backward compatibility).
virtual bool IsConservedChargeCanonical(ConservedCharge::Name charge) const
Whether the given conserved charge is treated canonically.
virtual void ChangeTPS(ThermalParticleSystem *TPS)
Change the particle list.
void CalculateFluctuations()
Dummy function. Fluctuations not yet supported.
virtual void CalculatePressuresGCE()
Calculates the grand-canonical pressures.
Class implementing the ideal HRG model with exact conservation of strangeness (strangeness-canonical ...
Class containing the particle list.
Structure containing all thermal parameters of the model.
virtual double ParticleScaledVariance(int)
Scaled variance of primordial particle number fluctuations for species i.
virtual double CalculateBaryonMatterEntropyDensity()
The fraction of entropy carried by baryons (Ideal GCE only)
virtual void CalculateSums(double Vc)
Calculates the strangeness-canonical partition functions.
Name
Set of all conserved charges considered.
virtual void SetStrangenessChemicalPotential(double muS)
Override the base class method to always set to zero.
virtual ~ThermalModelCanonicalStrangeness(void)
Destroy the ThermalModelCanonicalStrangeness object.
virtual void SetParameters(const ThermalModelParameters &params)
The thermal parameters.
virtual void CalculateEnergyDensitiesGCE()
Calculates the grand-canonical energy densities.
ThermalModelCanonicalStrangeness(ThermalParticleSystem *TPS, const ThermalModelParameters &params=ThermalModelParameters())
Construct a new ThermalModelCanonicalStrangeness object.
virtual double CalculatePressure()
Implementation of the equation of state functions.
virtual double CalculateMesonMatterEntropyDensity()
The fraction of entropy carried by mesons (Ideal GCE only)
The main namespace where all classes and functions of the Thermal-FIST library reside.
const std::vector< double > & DensitiesGCE() const
A vector of the grand-canonical particle number densities.
ThermalParticleSystem * TPS()