#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 [23], 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 19 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 46 of file pauliblocking.cc.
|
private |
Tabulate integrals for weights.
|
private |
Analytical calculation of weights.
Definition at line 94 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.