21 #include "ThermalFISTConfig.h" 25 #ifdef ThermalFIST_USENAMESPACE 31 int main(
int argc,
char *argv[])
49 params_chemical_freezeout.
T = 0.155;
50 params_chemical_freezeout.
muB = 0.;
51 params_chemical_freezeout.
V = 4700.;
60 vector<long long> pdgcodes_stable;
61 pdgcodes_stable.push_back(211);
62 pdgcodes_stable.push_back(321);
63 pdgcodes_stable.push_back(2212);
64 pdgcodes_stable.push_back(3122);
65 pdgcodes_stable.push_back(3222);
66 pdgcodes_stable.push_back(3312);
67 pdgcodes_stable.push_back(3334);
70 vector< pair<long long, long long> > ratios;
72 ratios.push_back(make_pair(1000010020, 2212));
73 ratios.push_back(make_pair(1000020030, 2212));
74 ratios.push_back(make_pair(1000010030, 2212));
75 ratios.push_back(make_pair(1000020040, 2212));
76 ratios.push_back(make_pair(1010010030, 2212));
77 ratios.push_back(make_pair(1010010040, 2212));
79 ratios.push_back(make_pair(313, -321));
80 ratios.push_back(make_pair(113, 211));
81 ratios.push_back(make_pair(3124, 3122));
82 ratios.push_back(make_pair(9010221, 211));
83 ratios.push_back(make_pair(2224, 2212));
87 FILE* fout_params = fopen(
"PCE.LHC.Parameters.dat",
"w");
88 fprintf(fout_params,
"%15s %15s %15s ",
"T[MeV]",
"V/Vch",
"S/Sch");
89 for (
int i = 0; i < pdgcodes_stable.size(); ++i) {
90 fprintf(fout_params,
"%15s ", (
"mu_" +
string(parts.
ParticleByPDG(pdgcodes_stable[i]).
Name())).c_str());
92 fprintf(fout_params,
"\n");
95 FILE* fout_ratios = fopen(
"PCE.LHC.Ratios.dat",
"w");
96 fprintf(fout_ratios,
"%15s ",
"T[MeV]");
97 for (
int i = 0; i < ratios.size(); ++i) {
100 fprintf(fout_ratios,
"\n");
103 double T0 = params_chemical_freezeout.
T;
111 for (
double T = T0; T >= Tmin - 1.e-9; T -= dT) {
112 printf(
"T = %lf MeV\n", T * 1.e3);
118 fprintf(fout_params,
"%15lf %15lf %15lf ",
124 for (
int i = 0; i < pdgcodes_stable.size(); ++i) {
125 fprintf(fout_params,
"%15lf ",
129 fprintf(fout_params,
"\n");
132 fprintf(fout_ratios,
"%15lf ", T * 1.e3);
133 for (
int i = 0; i < ratios.size(); ++i) {
134 fprintf(fout_ratios,
"%15E ",
138 fprintf(fout_ratios,
"\n");
const std::vector< double > & ChemicalPotentials() const
double EntropyDensity()
Entropy density (fm )
Class implementing HRG in partial chemical equilibrium.
void SetChemicalFreezeout(const ThermalModelParameters ¶ms, const std::vector< double > &ChemInit=std::vector< double >(0))
Sets the chemical freeze-out conditions to be used as an initial condition for PCE calculations...
ThermalModelBase * ThermalModel() const
Pointer to the HRG model used in calculations.
int PdgToId(long long pdgid)
Transforms PDG ID to a 0-based particle id number.
Class containing the particle list.
virtual void SetParameters(const ThermalModelParameters ¶ms)
The thermal parameters.
Structure containing all thermal parameters of the model.
virtual void CalculatePCE(double param, PCEMode mode=AtFixedTemperature)
Solves the equations of partial chemical equilibrium at a fixed temperature or a fixed volume...
void FreezeLonglivedResonances(bool flag)
Whether long-lived resonances yields should be frozen.
virtual void FillChemicalPotentials()
Sets the chemical potentials of all particles.
const std::string & Name() const
Particle's name.
int main(int argc, char *argv[])
double GetYield(long long PDGID, Feeddown::Type feeddown)
Particle number yield of species with a specified PDG ID and feeddown.
void UseSahaForNuclei(bool flag)
Whether the nuclear abundances are evaluated through the Saha equation.
Class implementing the Ideal HRG model.
The main namespace where all classes and functions of the Thermal-FIST library reside.
double Volume() const
System volume (fm )
ThermalParticle & ParticleByPDG(long long pdgid)
ThermalParticle object corresponding to particle species with a provided PDG ID.