|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
#include <MCGIDI_sampling.hpp>
Public Member Functions | |
| LUPI_HOST_DEVICE | Input (bool a_wantVelocity, Upscatter::Model a_upscatterModel) |
| LUPI_HOST_DEVICE bool | wantVelocity () const |
| LUPI_HOST_DEVICE double | temperature () const |
| LUPI_HOST_DEVICE double | energy () const |
| LUPI_HOST_DEVICE void | setTemperatureAndEnergy (double a_temperature, double a_energy) |
| LUPI_HOST_DEVICE bool | dataInTargetFrame () const |
| LUPI_HOST_DEVICE double | modelTemperature () const |
| LUPI_HOST_DEVICE double | modelEnergy () const |
| SampledType | sampledType () const |
| LUPI_HOST_DEVICE void | setSampledType (SampledType a_sampledType) |
Public Attributes | |
| Upscatter::Model | m_upscatterModel = Upscatter::Model::none |
| double | m_projectileBeta = 0.0 |
| double | m_muLab = 0.0 |
| double | m_targetBeta = 0.0 |
| double | m_relativeBeta = 0.0 |
| Reaction const * | m_reaction = nullptr |
| double | m_projectileMass = 0.0 |
| double | m_targetMass = 0.0 |
| GIDI::Frame | m_frame = GIDI::Frame::lab |
| int | m_numberOfDBRC_rejections = 0 |
| double | m_mu = 0.0 |
| double | m_phi = 0.0 |
| double | m_energyOut1 = 0.0 |
| double | m_px_vx1 = 0.0 |
| double | m_py_vy1 = 0.0 |
| double | m_pz_vz1 = 0.0 |
| double | m_energyOut2 = 0.0 |
| double | m_px_vx2 = 0.0 |
| double | m_py_vy2 = 0.0 |
| double | m_pz_vz2 = 0.0 |
| int | m_delayedNeutronIndex = -1 |
| double | m_delayedNeutronDecayRate = 0.0 |
| int | m_GRIN_intermediateResidual = -1 |
Definition at line 139 of file MCGIDI_sampling.hpp.
| LUPI_HOST_DEVICE MCGIDI::Sampling::Input::Input | ( | bool | a_wantVelocity, |
| Upscatter::Model | a_upscatterModel ) |
Definition at line 262 of file MCGIDI_sampling.cc.
|
inline |
Returns the value of the m_dataInTargetFrame.
Definition at line 205 of file MCGIDI_sampling.hpp.
|
inline |
Returns the value of the m_energy member.
Definition at line 202 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Reaction::sampleProducts(), MCGIDI::ProtareComposite::sampleReaction(), MCGIDI::ProtareTNSL::sampleReaction(), and MCGIDI::ProtareSingle::sampleTargetBetaForUpscatterModelA().
|
inline |
Returns the value of the m_modelEnergy member.
Definition at line 207 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Reaction::sampleProducts().
|
inline |
Returns the value of the m_dataInTargetFrame member.
Definition at line 206 of file MCGIDI_sampling.hpp.
|
inline |
Returns the value of the m_sampledType member.
Definition at line 209 of file MCGIDI_sampling.hpp.
|
inline |
Sets the member m_sampledType to a_sampledType.
Definition at line 210 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Distributions::AngularEnergyMC::sample(), MCGIDI::Distributions::AngularTwoBody::sample(), MCGIDI::Distributions::CoherentElasticTNSL::sample(), MCGIDI::Distributions::EnergyAngularMC::sample(), MCGIDI::Distributions::IncoherentBoundToFreePhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentElasticTNSL::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::KalbachMann::sample(), MCGIDI::Distributions::PairProductionGamma::sample(), MCGIDI::Distributions::Uncorrelated::sample(), MCGIDI::Distributions::Unspecified::sample(), MCGIDI::ProtareSingle::sampleBranchingGammas(), MCGIDI::Reaction::sampleNullProducts(), MCGIDI::GRIN_capture::sampleProducts(), MCGIDI::GRIN_inelastic::sampleProducts(), and MCGIDI::Reaction::sampleProducts().
| LUPI_HOST_DEVICE void MCGIDI::Sampling::Input::setTemperatureAndEnergy | ( | double | a_temperature, |
| double | a_energy ) |
This method sets the m_temperature and m_modelTemperature members to a_temperature, the m_energy and m_modelEnergy members to a_energy, and the m_dataInTargetFrame member to false. Ergo, this method resets members in the no upscatter mode.
| a_temperature | [in] The temperature of the material. |
| a_energy | [in] The energy of the projectile. |
Definition at line 276 of file MCGIDI_sampling.cc.
Referenced by G4GIDI_target::getFinalState().
|
inline |
Returns the value of the m_temperature member.
Definition at line 201 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Distributions::CoherentElasticTNSL::sample(), MCGIDI::Distributions::IncoherentElasticTNSL::sample(), MCGIDI::ProtareComposite::sampleReaction(), MCGIDI::ProtareTNSL::sampleReaction(), and MCGIDI::ProtareSingle::sampleTargetBetaForUpscatterModelA().
|
inline |
Returns the value of the m_wantVelocity member.
Definition at line 200 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and kinetics_COMKineticEnergy2LabEnergyAndMomentum().
| double MCGIDI::Sampling::Input::m_delayedNeutronDecayRate = 0.0 |
If the product is a delayed neutron, this is its decay rate.
Definition at line 194 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), MCGIDI::Product::sampleFinalState(), MCGIDI::Reaction::sampleNullProducts(), MCGIDI::GRIN_inelastic::sampleProducts(), MCGIDI::OutputChannel::sampleProducts(), MCGIDI::Product::sampleProducts(), and MCGIDI::Reaction::sampleProducts().
| int MCGIDI::Sampling::Input::m_delayedNeutronIndex = -1 |
If the product is a delayed neutron, this is its index.
Definition at line 193 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), MCGIDI::Product::sampleFinalState(), MCGIDI::Reaction::sampleNullProducts(), MCGIDI::GRIN_inelastic::sampleProducts(), MCGIDI::OutputChannel::sampleProducts(), MCGIDI::Product::sampleProducts(), and MCGIDI::Reaction::sampleProducts().
| double MCGIDI::Sampling::Input::m_energyOut1 = 0.0 |
The sampled energy of the product.
Definition at line 183 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), kinetics_COMKineticEnergy2LabEnergyAndMomentum(), MCGIDI::Distributions::AngularEnergyMC::sample(), MCGIDI::Distributions::CoherentElasticTNSL::sample(), MCGIDI::Distributions::CoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::EnergyAngularMC::sample(), MCGIDI::Distributions::IncoherentBoundToFreePhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentElasticTNSL::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScatteringElectron::sample(), MCGIDI::Distributions::KalbachMann::sample(), MCGIDI::Distributions::PairProductionGamma::sample(), MCGIDI::Distributions::Uncorrelated::sample(), MCGIDI::Distributions::Unspecified::sample(), MCGIDI::ProtareSingle::sampleBranchingGammas(), MCGIDI::Reaction::sampleNullProducts(), MCGIDI::GRIN_capture::sampleProducts(), and MCGIDI::Reaction::sampleProducts().
| double MCGIDI::Sampling::Input::m_energyOut2 = 0.0 |
The sampled energy of the second product for a two-body interaction.
Definition at line 188 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and kinetics_COMKineticEnergy2LabEnergyAndMomentum().
| GIDI::Frame MCGIDI::Sampling::Input::m_frame = GIDI::Frame::lab |
The frame the product data are returned in.
Definition at line 177 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), kinetics_COMKineticEnergy2LabEnergyAndMomentum(), MCGIDI::Distributions::AngularEnergyMC::sample(), MCGIDI::Distributions::CoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::EnergyAngularMC::sample(), MCGIDI::Distributions::IncoherentBoundToFreePhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScatteringElectron::sample(), MCGIDI::Distributions::KalbachMann::sample(), MCGIDI::Distributions::PairProductionGamma::sample(), MCGIDI::Distributions::Uncorrelated::sample(), MCGIDI::Distributions::Unspecified::sample(), MCGIDI::ProtareSingle::sampleBranchingGammas(), MCGIDI::Reaction::sampleNullProducts(), MCGIDI::GRIN_capture::sampleProducts(), and MCGIDI::Reaction::sampleProducts().
| int MCGIDI::Sampling::Input::m_GRIN_intermediateResidual = -1 |
For special GRIN product sampling, this is the GNDS intid of the intermediate residual.
Definition at line 196 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Reaction::sampleNullProducts(), MCGIDI::GRIN_capture::sampleProducts(), MCGIDI::GRIN_inelastic::sampleProducts(), and MCGIDI::Reaction::sampleProducts().
| double MCGIDI::Sampling::Input::m_mu = 0.0 |
The sampled mu = cos( theta ) for the product.
Definition at line 180 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), kinetics_COMKineticEnergy2LabEnergyAndMomentum(), MCGIDI::Distributions::AngularEnergyMC::sample(), MCGIDI::Distributions::AngularTwoBody::sample(), MCGIDI::Distributions::CoherentElasticTNSL::sample(), MCGIDI::Distributions::CoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::EnergyAngularMC::sample(), MCGIDI::Distributions::IncoherentBoundToFreePhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentElasticTNSL::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScatteringElectron::sample(), MCGIDI::Distributions::KalbachMann::sample(), MCGIDI::Distributions::PairProductionGamma::sample(), MCGIDI::Distributions::Uncorrelated::sample(), MCGIDI::Distributions::Unspecified::sample(), MCGIDI::ProtareSingle::sampleBranchingGammas(), MCGIDI::Reaction::sampleNullProducts(), MCGIDI::GRIN_capture::sampleProducts(), MCGIDI::GRIN_inelastic::sampleProducts(), and MCGIDI::Reaction::sampleProducts().
| double MCGIDI::Sampling::Input::m_muLab = 0.0 |
The cosine of the angle between the projectile's and the sampled target's velocities.
Definition at line 168 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::ProtareSingle::sampleTargetBetaForUpscatterModelA(), and MCGIDI::upScatterModelABoostParticle().
| int MCGIDI::Sampling::Input::m_numberOfDBRC_rejections = 0 |
For the DBRC upscattering model, this is the number of rejections + 1 per product sample.
Definition at line 178 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add().
| double MCGIDI::Sampling::Input::m_phi = 0.0 |
The sampled phi for the product.
Definition at line 181 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), kinetics_COMKineticEnergy2LabEnergyAndMomentum(), MCGIDI::Distributions::AngularEnergyMC::sample(), MCGIDI::Distributions::AngularTwoBody::sample(), MCGIDI::Distributions::CoherentElasticTNSL::sample(), MCGIDI::Distributions::CoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::EnergyAngularMC::sample(), MCGIDI::Distributions::IncoherentBoundToFreePhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentElasticTNSL::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScattering::sample(), MCGIDI::Distributions::IncoherentPhotoAtomicScatteringElectron::sample(), MCGIDI::Distributions::KalbachMann::sample(), MCGIDI::Distributions::PairProductionGamma::sample(), MCGIDI::Distributions::Uncorrelated::sample(), MCGIDI::Distributions::Unspecified::sample(), MCGIDI::ProtareSingle::sampleBranchingGammas(), MCGIDI::Reaction::sampleNullProducts(), MCGIDI::GRIN_capture::sampleProducts(), MCGIDI::GRIN_inelastic::sampleProducts(), and MCGIDI::Reaction::sampleProducts().
| double MCGIDI::Sampling::Input::m_projectileBeta = 0.0 |
The beta = speed / c of the projectile.
Definition at line 167 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::ProtareSingle::sampleTargetBetaForUpscatterModelA(), and MCGIDI::upScatterModelABoostParticle().
| double MCGIDI::Sampling::Input::m_projectileMass = 0.0 |
The mass of the projectile.
Definition at line 174 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and MCGIDI::Reaction::sampleProducts().
| double MCGIDI::Sampling::Input::m_px_vx1 = 0.0 |
Variable used for two-body sampling.
Definition at line 184 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and kinetics_COMKineticEnergy2LabEnergyAndMomentum().
| double MCGIDI::Sampling::Input::m_px_vx2 = 0.0 |
Variable used for two-body sampling.
Definition at line 189 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and kinetics_COMKineticEnergy2LabEnergyAndMomentum().
| double MCGIDI::Sampling::Input::m_py_vy1 = 0.0 |
Variable used for two-body sampling.
Definition at line 185 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and kinetics_COMKineticEnergy2LabEnergyAndMomentum().
| double MCGIDI::Sampling::Input::m_py_vy2 = 0.0 |
Variable used for two-body sampling.
Definition at line 190 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and kinetics_COMKineticEnergy2LabEnergyAndMomentum().
| double MCGIDI::Sampling::Input::m_pz_vz1 = 0.0 |
Variable used for two-body sampling.
Definition at line 186 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and kinetics_COMKineticEnergy2LabEnergyAndMomentum().
| double MCGIDI::Sampling::Input::m_pz_vz2 = 0.0 |
Variable used for two-body sampling.
Definition at line 191 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and kinetics_COMKineticEnergy2LabEnergyAndMomentum().
| Reaction const* MCGIDI::Sampling::Input::m_reaction = nullptr |
The current reaction whose products are being sampled.
Definition at line 172 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Reaction::sampleProducts().
| double MCGIDI::Sampling::Input::m_relativeBeta = 0.0 |
The beta = speed / c of the relative speed between the projectile and the target.
Definition at line 170 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Reaction::sampleProducts(), MCGIDI::ProtareSingle::sampleTargetBetaForUpscatterModelA(), and MCGIDI::upScatterModelABoostParticle().
| double MCGIDI::Sampling::Input::m_targetBeta = 0.0 |
The beta = speed / c of the target.
Definition at line 169 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::ProtareSingle::sampleTargetBetaForUpscatterModelA(), and MCGIDI::upScatterModelABoostParticle().
| double MCGIDI::Sampling::Input::m_targetMass = 0.0 |
The mass of the target.
Definition at line 175 of file MCGIDI_sampling.hpp.
Referenced by MCGIDI::Sampling::ProductHandler::add(), and MCGIDI::Reaction::sampleProducts().
| Upscatter::Model MCGIDI::Sampling::Input::m_upscatterModel = Upscatter::Model::none |
The upscatter model to use when sampling a target's velocity.
Definition at line 162 of file MCGIDI_sampling.hpp.
Referenced by Input(), MCGIDI::Distributions::AngularTwoBody::sample(), and MCGIDI::ProtareSingle::sampleReaction().