Thermal-FIST  1.3
Package for hadron resonance gas model applications
ThermalModelEVCanonicalStrangeness.h
Go to the documentation of this file.
1 /*
2  * Thermal-FIST package
3  *
4  * Copyright (c) 2018-2019 Volodymyr Vovchenko
5  *
6  * GNU General Public License (GPLv3 or later)
7  */
8 #ifndef THERMALMODELEVCANONICALSTRANGENESS_H
9 #define THERMALMODELEVCANONICALSTRANGENESS_H
10 
11 #include <map>
12 #include <iostream>
13 
16 
17 namespace thermalfist {
18 
37  {
38  public:
46 
52 
54  void FillVirialEV(const std::vector<double> & vi = std::vector<double>(0));
55 
57  double ExcludedVolume(int i) const;
58 
59  virtual void CalculateEnergyDensitiesGCE();
60 
61  virtual void CalculatePressuresGCE();
62 
63  // Override functions begin
64 
65  void SetRadius(double rad);
66 
67  void SetRadius(int i, double rad);
68 
70  void FillVirial(const std::vector<double> & ri = std::vector<double>(0));
71 
73  virtual void ReadInteractionParameters(const std::string &filename);
74 
76  virtual void WriteInteractionParameters(const std::string &filename);
77 
78  virtual double CalculateEigenvolumeFraction();
79 
80  virtual void CalculateDensitiesGCE();
81 
82  virtual void CalculatePrimordialDensities();
83 
84  virtual double CalculateEnergyDensity();
85 
86  virtual double CalculateEntropyDensity();
87 
88  virtual double CalculatePressure();
89 
90  virtual bool IsConservedChargeCanonical(ConservedCharge::Name charge) const;
91 
92  // Override functions end
93 
94  protected:
98  void PrepareModelEV();
99 
101  void ClearModelEV();
102 
104  virtual double MuShift(int id) const;
105 
107  std::vector<double> m_v;
108  double m_PNS;
109  double m_Suppression;
110  double m_EVNS;
111  double m_EVS;
112  };
113 
114 } // namespace thermalfist
115 
116 #endif // THERMALMODELEVCANONICALSTRANGENESS_H
virtual bool IsConservedChargeCanonical(ConservedCharge::Name charge) const
Whether the given conserved charge is treated canonically.
virtual void CalculatePrimordialDensities()
Calculates the primordial densities of all species.
virtual double MuShift(int id) const
The shift in the chemical potential of particle species i due to the excluded volume interactions...
Class implementing the ideal HRG model with exact conservation of strangeness (strangeness-canonical ...
Class implementing the diagonal excluded-volume model.
Class containing the particle list.
Structure containing all thermal parameters of the model.
virtual ~ThermalModelEVCanonicalStrangeness(void)
Destroy the ThermalModelEVCanonicalStrangeness object.
virtual void ReadInteractionParameters(const std::string &filename)
Read the set of eigenvolume parameters for all particles from an external file.
Class implementing the diagonal excluded-volume model in the strangeness-canonical ensemble...
virtual void WriteInteractionParameters(const std::string &filename)
Write the set of eigenvolume parameters for all particles to an external file.
void FillVirialEV(const std::vector< double > &vi=std::vector< double >(0))
Same as FillVirial() but uses the diagonal excluded-volume coefficients as input instead of radii...
void SetRadius(double rad)
Set the same excluded volume radius parameter for all species.
Name
Set of all conserved charges considered.
virtual double CalculatePressure()
Implementation of the equation of state functions.
void FillVirial(const std::vector< double > &ri=std::vector< double >(0))
Fills the vector of particle eigenvolume parameters.
virtual void CalculateEnergyDensitiesGCE()
Calculates the grand-canonical energy densities.
ThermalModelEVCanonicalStrangeness(ThermalParticleSystem *TPS, const ThermalModelParameters &params=ThermalModelParameters())
Construct a new Thermal ModelEVCanonicalStrangeness object.
The main namespace where all classes and functions of the Thermal-FIST library reside.
ThermalParticleSystem * TPS()
virtual void CalculatePressuresGCE()
Calculates the grand-canonical pressures.
virtual void CalculateDensitiesGCE()
Calculates the particle densities in a grand-canonical ensemble.