Thermal-FIST 1.5
Package for hadron resonance gas model applications
Loading...
Searching...
No Matches
thermalfist::RandomGenerators Namespace Reference

Contains random generator functions used in the Monte Carlo Thermal Event Generator. More...

Classes

struct  BesselDistributionGenerator
 Generator of a random number from the Bessel distribution (a, nu), nu is integer Uses methods from https://www.sciencedirect.com/science/article/pii/S016771520200055X Used in event generator with exact conservation of charges to generate two Poisson numbers with fixed difference, as described in https://arxiv.org/pdf/1609.01087.pdf. More...
 
class  BoostInvariantHypersurfaceMomentumGenerator
 Class for generating momentum of a particle from a longitudinally boost-invariant (2+1)-D hypersurface. More...
 
class  BoostInvariantMomentumGenerator
 Class for generating momentum of a particle in accordance with a longitudinally boost invariant and azimuthally symmetric freeze-out model. More...
 
class  BreitWignerGenerator
 Class for generating mass of resonance in accordance with the relativistic Breit-Wigner distribution. More...
 
class  HypersurfaceMomentumGenerator
 Class for generating momentum of a particle from a hypersurface. More...
 
class  ParticleMomentumGenerator
 Base class for Monte Carlo sampling of particle momenta. More...
 
class  SiemensRasmussenMomentumGenerator
 Class for generating the momentum of a particle in accordance with the Siemens-Rasmussen formula. More...
 
class  SiemensRasmussenMomentumGeneratorGeneralized
 A generalized class for generating the momentum of a particle in accordance with the Siemens-Rasmussen spherically symmetric blast-wave model which is able to incorporate Fermi-Dirac and Bose-Einstein statistics. More...
 
class  SSHMomentumGenerator
 Class for generating the momentum of a particle in accordance with the longitudinally symmetric blast-wave model. More...
 
class  ThermalBreitWignerGenerator
 Class for generating mass of resonance in accordance with the constant width Breit-Wigner distribution multiplied by the thermal density. More...
 
class  ThermalEnergyBreitWignerGenerator
 Class for generating mass of resonance in accordance with the energy-dependent Breit-Wigner distribution multiplied by the thermal density. More...
 
class  ThermalMomentumGenerator
 Class for generating the absolute values of the momentum of a particle in its local rest frame. More...
 
class  VolumeElementSampler
 Sample the volume element on a hypersurface from a multinomial distribution. More...
 

Functions

void SetSeed (const unsigned int seed)
 Set the seed of the random number generator randgenMT.
 
int RandomPoisson (double mean)
 Generates random integer distributed by Poisson with specified mean Uses randgenMT.
 
int RandomPoisson (double mean, MTRand &rangen)
 Same as randgenMT(double) but uses the provided instance of the Mersenne Twister random number generator.
 
double SkellamProbability (int k, double mu1, double mu2)
 Probability of a Skellam distributed random variable with Poisson means mu1 and mu2 to have the value of k.
 
std::mt19937 rng_std (std::time(nullptr))
 

Variables

MTRand randgenMT
 The Mersenne Twister random number generator.
 
std::mt19937 rng_std
 The Mersenne Twister random number generator from STD library.
 

Detailed Description

Contains random generator functions used in the Monte Carlo Thermal Event Generator.

Function Documentation

◆ RandomPoisson() [1/2]

int thermalfist::RandomGenerators::RandomPoisson ( double mean)

Generates random integer distributed by Poisson with specified mean Uses randgenMT.

Parameters
meanMean of the Poisson distribution

Definition at line 27 of file RandomGenerators.cpp.

◆ RandomPoisson() [2/2]

int thermalfist::RandomGenerators::RandomPoisson ( double mean,
MTRand & rangen )

Same as randgenMT(double) but uses the provided instance of the Mersenne Twister random number generator.

Parameters
mean
rangenA Mersenne Twister random number generator to use

Definition at line 72 of file RandomGenerators.cpp.

◆ rng_std()

std::mt19937 thermalfist::RandomGenerators::rng_std ( std::time(nullptr) )

◆ SetSeed()

void thermalfist::RandomGenerators::SetSeed ( const unsigned int seed)

Set the seed of the random number generator randgenMT.

Definition at line 23 of file RandomGenerators.cpp.

◆ SkellamProbability()

double thermalfist::RandomGenerators::SkellamProbability ( int k,
double mu1,
double mu2 )

Probability of a Skellam distributed random variable with Poisson means mu1 and mu2 to have the value of k.

Definition at line 116 of file RandomGenerators.cpp.

Variable Documentation

◆ randgenMT

MTRand thermalfist::RandomGenerators::randgenMT

The Mersenne Twister random number generator.

Definition at line 19 of file RandomGenerators.cpp.

◆ rng_std

std::mt19937 thermalfist::RandomGenerators::rng_std
extern

The Mersenne Twister random number generator from STD library.