#include <pauliblocking.h>
A class that stores parameters needed for Pauli blocking, tabulates necessary integrals and computes phase-space density.
Pauli blocking is the way to go from the classical Boltzmann equation to the quantum one, effectively reducing cross-sections by \(1 - f(r,p) \) factors, where \(f(r,p)\) is a phase-space density at coordinate and momentum of a final-state fermion. Effective reduction of cross-section is done via random rejection of reaction with probability \( 1 - f\). More details can be found in Gaitanos:2010fd [22], section III B. Our implementation mainly follows this article (and therefore GiBUU, see http://gibuu.hepforge.org).
Definition at line 38 of file pauliblocking.h.
Public Member Functions | |
PauliBlocker (Configuration conf, const ExperimentParameters ¶meters) | |
PauliBlocker constructor. More... | |
~PauliBlocker () | |
Destructor. More... | |
double | phasespace_dens (const ThreeVector &r, const ThreeVector &p, const std::vector< Particles > &ensembles, const PdgCode pdg, const ParticleList &disregard) const |
Calculate phase-space density of a particle species at the point (r,p). More... | |
Private Member Functions | |
void | init_weights () |
Tabulate integrals for weights. More... | |
void | init_weights_analytical () |
Analytical calculation of weights. More... | |
Private Attributes | |
double | sig_ |
Standard deviation of the gaussian used for smearing. More... | |
double | rc_ |
Radius, after which gaussians (used for averaging) are cut, fm. More... | |
double | rr_ |
Radius of averaging in coordinate space, fm. More... | |
double | rp_ |
Radius of averaging in momentum space, GeV. More... | |
int | ntest_ |
Testparticles number. More... | |
int | n_ensembles_ |
Number of ensembles. More... | |
std::array< double, 30 > | weights_ |
Weights: tabulated results of numerical integration. More... | |
smash::PauliBlocker::PauliBlocker | ( | Configuration | conf, |
const ExperimentParameters & | parameters | ||
) |
PauliBlocker constructor.
Gets parameters from configuration and experiment. Tabulates necessary integrals.
[in] | conf | Configurations from config.yaml. |
[in] | parameters | Parameters given by Experiment. |
Definition at line 18 of file pauliblocking.cc.
smash::PauliBlocker::~PauliBlocker | ( | ) |
double smash::PauliBlocker::phasespace_dens | ( | const ThreeVector & | r, |
const ThreeVector & | p, | ||
const std::vector< Particles > & | ensembles, | ||
const PdgCode | pdg, | ||
const ParticleList & | disregard | ||
) | const |
Calculate phase-space density of a particle species at the point (r,p).
[in] | r | Position vector of the particle. |
[in] | p | Momentum vector of the particle. |
[in] | ensembles | Current list of particles in all ensembles. |
[in] | pdg | PDG number of species for which density to be calculated. |
[in] | disregard | Do not count particles that should be disregarded. This is intended to avoid counting incoming particles when the phase-space density for outgoing ones is estimated. |
Definition at line 45 of file pauliblocking.cc.
|
private |
Tabulate integrals for weights.
|
private |
Analytical calculation of weights.
Definition at line 93 of file pauliblocking.cc.
|
private |
Standard deviation of the gaussian used for smearing.
Definition at line 79 of file pauliblocking.h.
|
private |
Radius, after which gaussians (used for averaging) are cut, fm.
Definition at line 82 of file pauliblocking.h.
|
private |
Radius of averaging in coordinate space, fm.
Definition at line 85 of file pauliblocking.h.
|
private |
Radius of averaging in momentum space, GeV.
Definition at line 88 of file pauliblocking.h.
|
private |
Testparticles number.
Definition at line 91 of file pauliblocking.h.
|
private |
Number of ensembles.
Definition at line 94 of file pauliblocking.h.
|
private |
Weights: tabulated results of numerical integration.
Definition at line 97 of file pauliblocking.h.