Thermal-FIST 1.6
Package for hadron resonance gas model applications
Loading...
Searching...
No Matches
ThermalModelCanonicalCharm.h
Go to the documentation of this file.
1
2/*
3 * Thermal-FIST package
4 *
5 * Copyright (c) 2014-2019 Volodymyr Vovchenko
6 *
7 * GNU General Public License (GPLv3 or later)
8 */
9#ifndef THERMALMODELCanonicalCharm_H
10#define THERMALMODELCanonicalCharm_H
11
12#include <map>
13#include <iostream>
14
17
18namespace thermalfist {
19
35 {
36 public:
44
49 virtual ~ThermalModelCanonicalCharm(void);
50
53
54 // Override functions begin
55
60 virtual void SetParameters(const ThermalModelParameters& params);
61
68 virtual void SetCharmChemicalPotential(double muC);
69
70 virtual void ChangeTPS(ThermalParticleSystem *TPS);
71
72 //For charm only Boltzmann supported
78 virtual void SetStatistics(bool stats);
79
81
86 virtual void FixParameters();
87
93 virtual void CalculatePrimordialDensities();
94
100
101 virtual double CalculatePressure();
102
103 virtual double CalculateEnergyDensity();
104
105 virtual double CalculateEntropyDensity();
106
107 // Dummy
108 virtual double CalculateBaryonMatterEntropyDensity() { return 0.; }
109
110 virtual double CalculateMesonMatterEntropyDensity() { return 0.; }
111
112 virtual double ParticleScaledVariance(int /*part*/) { return 1.; }
113
114 virtual double ParticleScalarDensity(int /*part*/) { return 0.; }
115
116 virtual double CalculateEnergyDensityDerivativeT() { throw std::runtime_error("CalculateEnergyDensityDerivativeT not implemented"); return 0.; } // Not implemented
117
118 virtual double CalculateEntropyDensityDerivativeT() { throw std::runtime_error("CalculateEntropyDensityDerivativeT not implemented"); return 0.; } // Not implemented
119
120 virtual bool IsConservedChargeCanonical(ConservedCharge::Name charge) const;
121
122 // Override functions end
123
124 private:
125 std::vector<double> m_densitiesGCE;
126 std::vector<double> m_energydensitiesGCE;
127 std::vector<int> m_CharmValues;
128 std::map<int, int> m_CharmMap;
129 std::vector<double> m_Zsum;
130 std::vector<double> m_partialZ;
131 };
132
133} // namespace thermalfist
134
135#endif // THERMALMODELCanonicalCharm_H
map< string, double > params
ThermalModelBase(ThermalParticleSystem *TPS, const ThermalModelParameters &params=ThermalModelParameters())
Construct a new ThermalModelBase object.
virtual void SetParameters(const ThermalModelParameters &params)
The thermal parameters.
void CalculateEnergyDensitiesGCE()
Calculates the grand-canonical energy densities.
virtual void FixParameters()
Method which actually implements ConstrainChemicalPotentials() (for backward compatibility).
virtual void CalculatePrimordialDensities()
Calculates the primordial densities of all species.
void CalculateDensitiesGCE()
Calculates the particle densities in a grand-canonical ensemble.
virtual void SetCharmChemicalPotential(double muC)
Override the base class method to always set to zero.
ThermalModelCanonicalCharm(ThermalParticleSystem *TPS, const ThermalModelParameters &params=ThermalModelParameters())
Construct a new ThermalModelCanonicalCharm object.
virtual void ChangeTPS(ThermalParticleSystem *TPS)
Change the particle list.
void CalculateFluctuations()
Dummy function. Fluctuations not yet supported.
virtual ~ThermalModelCanonicalCharm(void)
Destroy the ThermalModelCanonicalCharm object.
virtual bool IsConservedChargeCanonical(ConservedCharge::Name charge) const
Class containing the particle list.
The main namespace where all classes and functions of the Thermal-FIST library reside.
Definition CosmicEoS.h:9
Name
Set of all conserved charges considered.
Structure containing all thermal parameters of the model.