|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
#include <climits>Go to the source code of this file.
Namespaces | |
| namespace | MCGIDI |
| Simple C++ string class, useful as replacement for std::string if this cannot be used, or just for fun. | |
Macros | |
| #define | crossSectionSumError 1e-6 |
Functions | |
| template<typename RNG> | |
| LUPI_HOST_DEVICE void | MCGIDI_sampleKleinNishina (double a_energyIn, RNG &&a_rng, double *a_energyOut, double *a_mu) |
| LUPI_HOST_DEVICE void | kinetics_COMKineticEnergy2LabEnergyAndMomentum (double a_beta, double a_kinetic_com, double a_m3cc, double a_m4cc, MCGIDI::Sampling::Input &a_input) |
| template<typename RNG> | |
| LUPI_HOST_DEVICE double | sampleBetaFromMaxwellian (RNG &&a_rng) |
| template<typename RNG> | |
| LUPI_HOST_DEVICE void | MCGIDI::upScatterModelABoostParticle (Sampling::Input &a_input, RNG &&a_rng, Sampling::Product &a_product) |
| #define crossSectionSumError 1e-6 |
Definition at line 19 of file MCGIDI_headerSource.hpp.
Referenced by MCGIDI::HeatedCrossSectionsContinuousEnergy::sampleReaction().
|
inline |
This function calculates the products outgoing data (i.e., energy, velocity/momentum) for the two products of a two-body interaction give the cosine of the first product's outgoing angle.
| a_beta | [in] The velocity/speedOflight of the com frame relative to the lab frame. |
| a_kinetic_com | [in] Total kinetic energy (K1 + K2) in the COM frame. |
| a_m3cc | [in] The mass of the first product. |
| a_m4cc | [in] The mass of the second product. |
| a_input | [in] Sample options requested by user and where the products' outgoing data are returned. |
Definition at line 283 of file MCGIDI_headerSource.hpp.
Referenced by MCGIDI::Distributions::AngularTwoBody::sample(), and MCGIDI::GRIN_inelastic::sampleProducts().
| LUPI_HOST_DEVICE void MCGIDI_sampleKleinNishina | ( | double | a_energyIn, |
| RNG && | a_rng, | ||
| double * | a_energyOut, | ||
| double * | a_mu ) |
This function samples an energy and cosine of the angle for a photon for Klein Nishina scattering (i.e, incoherent photo-atomic scattering).
| a_energyIn | [in] The energy of the incoming photon. |
| a_rng | [in] The random number generator function that returns a double in the range [0, 1.0). |
| a_energyOut | [in] The energy of the scattered photon. |
| a_mu | [in] The cosine of the angle of the scattered photon's z-axis and the incoming photon's z-axis. |
Definition at line 58 of file MCGIDI_headerSource.hpp.
Referenced by MCGIDI::Distributions::IncoherentBoundToFreePhotoAtomicScattering::sample(), and MCGIDI::Distributions::IncoherentPhotoAtomicScattering::sample().
|
inline |
This function returns a normalized Maxwellian speed (i.e., v = |velocity|) in 3d (i.e., x^2 Exp( -x^2 )) where v = sqrt(2 * T / m) * x. Using formula in https://link.springer.com/content/pdf/10.1007%2Fs10955-011-0364-y.pdf. Author Nader M.A. Mohamed, title "Efficient Algorithm for Generating Maxwell Random Variables".
| a_rng | [in] The random number generator function that returns a double in the range [0, 1.0). |
Definition at line 2333 of file MCGIDI_headerSource.hpp.
Referenced by MCGIDI::ProtareSingle::sampleTargetBetaForUpscatterModelA().