Thermal-FIST  1.3
Package for hadron resonance gas model applications
ThermalModelCanonicalCharm.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 THERMALMODELCanonicalCharm_H
9 #define THERMALMODELCanonicalCharm_H
10 
11 #include <map>
12 #include <iostream>
13 
15 #include "HRGBase/SplineFunction.h"
16 
17 namespace thermalfist {
18 
34  {
35  public:
43 
48  virtual ~ThermalModelCanonicalCharm(void);
49 
52 
53  // Override functions begin
54 
59  virtual void SetParameters(const ThermalModelParameters& params);
60 
67  virtual void SetCharmChemicalPotential(double muC);
68 
69  virtual void ChangeTPS(ThermalParticleSystem *TPS);
70 
71  //For charm only Boltzmann supported
77  virtual void SetStatistics(bool stats);
78 
79  void CalculateDensitiesGCE();
80 
85  virtual void FixParameters();
86 
92  virtual void CalculatePrimordialDensities();
93 
98  void CalculateFluctuations();
99 
100  virtual double CalculatePressure();
101 
102  virtual double CalculateEnergyDensity();
103 
104  virtual double CalculateEntropyDensity();
105 
106  // Dummy
107  virtual double CalculateBaryonMatterEntropyDensity() { return 0.; }
108 
109  virtual double CalculateMesonMatterEntropyDensity() { return 0.; }
110 
111  virtual double ParticleScaledVariance(int /*part*/) { return 1.; }
112 
113  virtual double ParticleScalarDensity(int /*part*/) { return 0.; }
114 
115  virtual bool IsConservedChargeCanonical(ConservedCharge::Name charge) const;
116 
117  // Override functions end
118 
119  private:
120  std::vector<double> m_densitiesGCE;
121  std::vector<double> m_energydensitiesGCE;
122  std::vector<int> m_CharmValues;
123  std::map<int, int> m_CharmMap;
124  std::vector<double> m_Zsum;
125  std::vector<double> m_partialZ;
126  };
127 
128 } // namespace thermalfist
129 
130 #endif // THERMALMODELCanonicalCharm_H
Abstract base class for an HRG model implementation.
virtual double CalculatePressure()
Implementation of the equation of state functions.
virtual double CalculateMesonMatterEntropyDensity()
The fraction of entropy carried by mesons (Ideal GCE only)
virtual double CalculateBaryonMatterEntropyDensity()
The fraction of entropy carried by baryons (Ideal GCE only)
Class containing the particle list.
Structure containing all thermal parameters of the model.
virtual void ChangeTPS(ThermalParticleSystem *TPS)
Change the particle list.
virtual double ParticleScaledVariance(int)
Scaled variance of primordial particle number fluctuations for species i.
Class implementing the ideal HRG model with exact conservation of charm (charm-canonical ensemble)...
virtual void SetCharmChemicalPotential(double muC)
Override the base class method to always set to zero.
virtual void SetParameters(const ThermalModelParameters &params)
The thermal parameters.
virtual bool IsConservedChargeCanonical(ConservedCharge::Name charge) const
Whether the given conserved charge is treated canonically.
Name
Set of all conserved charges considered.
virtual void CalculatePrimordialDensities()
Calculates the primordial densities of all species.
virtual double ParticleScalarDensity(int)
The scalar density of the particle species i.
void CalculateEnergyDensitiesGCE()
Calculates the grand-canonical energy densities.
virtual ~ThermalModelCanonicalCharm(void)
Destroy the ThermalModelCanonicalCharm object.
ThermalModelCanonicalCharm(ThermalParticleSystem *TPS, const ThermalModelParameters &params=ThermalModelParameters())
Construct a new ThermalModelCanonicalCharm object.
void CalculateFluctuations()
Dummy function. Fluctuations not yet supported.
The main namespace where all classes and functions of the Thermal-FIST library reside.
void CalculateDensitiesGCE()
Calculates the particle densities in a grand-canonical ensemble.
ThermalParticleSystem * TPS()
virtual void FixParameters()
Method which actually implements ConstrainChemicalPotentials() (for backward compatibility).