#include <quantumsampling.h>
This class:
Definition at line 31 of file quantumsampling.h.
Classes | |
struct | ParametersForMaximumMomentumRootFinder |
Struct object that holds the parameters relevant to finding the momentum for which the maximum of the distribution occurs. More... | |
Public Member Functions | |
QuantumSampling (const std::map< PdgCode, int > &initial_multiplicities, double volume, double temperature) | |
Constructor of a QuantumSampling object. More... | |
double | sample (const PdgCode pdg) |
Sampling radial momenta of given particle species from Boltzmann, Bose, or Fermi distribution. More... | |
Static Public Member Functions | |
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 maximum. More... | |
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 maximum, suited for the GSL root finding procedure. More... | |
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 procedure. More... | |
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 distribution function occurs. More... | |
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 of the distribution for the momentum at which the maximum occurs, identified by find_p_at_maximum_of_the_distribution(). More... | |
Private Attributes | |
std::map< PdgCode, double > | effective_chemical_potentials_ |
Tabulated effective chemical potentials for every particle species. More... | |
std::map< PdgCode, double > | distribution_function_maximums_ |
Tabulated distribution function maxima for every particle species. More... | |
const double | volume_ |
Volume [fm^3] in which particles sre sampled. More... | |
const double | temperature_ |
Temperature [GeV]. More... | |
smash::QuantumSampling::QuantumSampling | ( | const std::map< PdgCode, int > & | initial_multiplicities, |
double | volume, | ||
double | temperature | ||
) |
Constructor of a QuantumSampling object.
[in] | initial_multiplicities | a map of pdg codes of samples particle species and corresponding multiplicities |
[in] | volume | volume V in which the particles are sampled [fm^3], needed to calculate the density of the species |
[in] | temperature | temperature T of the system [GeV] |
Definition at line 211 of file quantumsampling.cc.
|
static |
Root equation for finding the radial momentum at which the Juttner distribution function has its maximum.
[in] | p | radial momentum, i.e., length of the momentum vector [GeV] |
[in] | mass | (pole) mass m of the particle species [GeV] |
[in] | temperature | temperature T of the system [GeV] |
[in] | effective_chemical_potential | effective chemical potential mu of the system [GeV] |
[in] | statistics | quantum statistics of the particles species (+1 for Fermi, -1 for Bose, 0 for Boltzmann) |
Definition at line 34 of file quantumsampling.cc.
|
static |
Root equation for finding the radial momentum at which the Juttner distribution function has its maximum, suited for the GSL root finding procedure.
[in] | roots_array | an array holding the current best estimate of the roots of the solved equation |
[in] | parameters | refers to the parameters as provided in the GSL root solving procedure |
[in] | function | refers to the root equation(s) as provided in the GSL root solving procedure (where it's called "function") |
Definition at line 47 of file quantumsampling.cc.
|
static |
A GSL utility which allows for printing out the status of the solver during the root finding procedure.
[in] | iter | variable keeping track of how many steps in the root solving procedure have been taken |
[in] | solver | GSL solver object, which has acces to the current best estimate of the roots and the corresponding function values |
Definition at line 68 of file quantumsampling.cc.
|
static |
A GSL root solver for finding the radial momentum value at which the maximum of the given Juttner distribution function occurs.
For the value of the distribution at the maximum, one shoud use the function maximum_of_the_distribution().
[in] | mass | (pole) mass m of the particle species [GeV] |
[in] | temperature | temperature T of the system [GeV] |
[in] | effective_chemical_potential | effective chemical potential mu of the system [GeV] |
[in] | statistics | quantum statistics of the particles species (+1 for Fermi, -1 for Bose, 0 for Boltzmann) |
[in] | p_max_initial_guess | the initial guess for the value of the solution [GeV] |
[in] | solution_precision | precision with which the solution is found |
[out] | p_max | the solution (momentum for which the distribution takes on the maximum value) stored in an array object [GeV] |
Definition at line 77 of file quantumsampling.cc.
|
static |
A convenience wrapper for finding the maximum value of the Juttner distribution, returning the value of the distribution for the momentum at which the maximum occurs, identified by find_p_at_maximum_of_the_distribution().
[in] | mass | (pole) mass m of the particle species [GeV] |
[in] | temperature | temperature T of the system [GeV] |
[in] | effective_chemical_potential | effective chemical potential mu of the system [GeV] |
[in] | statistics | quantum statistics of the particles species (+1 for Fermi, -1 for Bose, 0 for Boltzmann) |
[in] | solution_precision | precision with which the solution is found |
Definition at line 176 of file quantumsampling.cc.
double smash::QuantumSampling::sample | ( | const PdgCode | pdg | ) |
Sampling radial momenta of given particle species from Boltzmann, Bose, or Fermi distribution.
This sampler uses the simplest rejection sampling.
[in] | pdg | the pdg code of the sampled particle species return the sampled momentum [GeV] |
Definition at line 257 of file quantumsampling.cc.
|
private |
Tabulated effective chemical potentials for every particle species.
Definition at line 156 of file quantumsampling.h.
|
private |
Tabulated distribution function maxima for every particle species.
Definition at line 158 of file quantumsampling.h.
|
private |
Volume [fm^3] in which particles sre sampled.
Definition at line 160 of file quantumsampling.h.
|
private |
Temperature [GeV].
Definition at line 162 of file quantumsampling.h.