10 #ifndef SRC_INCLUDE_SMASH_QUANTUMSAMPLING_H_
11 #define SRC_INCLUDE_SMASH_QUANTUMSAMPLING_H_
15 #include "gsl/gsl_multiroots.h"
16 #include "gsl/gsl_vector.h"
42 double volume,
double temperature);
75 double effective_chemical_potential,
92 gsl_vector*
function);
104 gsl_multiroot_fsolver* solver);
124 double mass,
double temperature,
double effective_chemical_potential,
125 double statistics,
double p_max_initial_guess,
double solution_precision,
142 double effective_chemical_potential,
144 double solution_precision);
PdgCode stores a Particle Data Group Particle Numbering Scheme particle type number.
QuantumSampling(const std::map< PdgCode, int > &initial_multiplicities, double volume, double temperature)
Constructor of a QuantumSampling object.
static double p_max_root_equation(double p, double mass, double temperature, double effective_chemical_potential, double statistics)
Root equation for finding the radial momentum at which the Juttner distribution function has its maxi...
const double temperature_
Temperature [GeV].
static int find_p_at_maximum_of_the_distribution(double mass, double temperature, double effective_chemical_potential, double statistics, double p_max_initial_guess, double solution_precision, double *p_max)
A GSL root solver for finding the radial momentum value at which the maximum of the given Juttner dis...
std::map< PdgCode, double > distribution_function_maximums_
Tabulated distribution function maxima for every particle species.
static double maximum_of_the_distribution(double mass, double temperature, double effective_chemical_potential, double statistics, double solution_precision)
A convenience wrapper for finding the maximum value of the Juttner distribution, returning the value ...
std::map< PdgCode, double > effective_chemical_potentials_
Tabulated effective chemical potentials for every particle species.
const double volume_
Volume [fm^3] in which particles sre sampled.
static void print_state_p_max(unsigned int iter, gsl_multiroot_fsolver *solver)
A GSL utility which allows for printing out the status of the solver during the root finding procedur...
static int p_max_root_equation_for_GSL(const gsl_vector *roots_array, void *parameters, gsl_vector *function)
Root equation for finding the radial momentum at which the Juttner distribution function has its maxi...
double sample(const PdgCode pdg)
Sampling radial momenta of given particle species from Boltzmann, Bose, or Fermi distribution.