Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
MCGIDI::Sampling::Input Class Reference

#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

Detailed Description

Definition at line 139 of file MCGIDI_sampling.hpp.

Constructor & Destructor Documentation

◆ Input()

LUPI_HOST_DEVICE MCGIDI::Sampling::Input::Input ( bool a_wantVelocity,
Upscatter::Model a_upscatterModel )

Definition at line 262 of file MCGIDI_sampling.cc.

262 :
263 m_wantVelocity( a_wantVelocity ),
264 m_upscatterModel( a_upscatterModel ) {
265
266}
Upscatter::Model m_upscatterModel

Member Function Documentation

◆ dataInTargetFrame()

LUPI_HOST_DEVICE bool MCGIDI::Sampling::Input::dataInTargetFrame ( ) const
inline

Returns the value of the m_dataInTargetFrame.

Definition at line 205 of file MCGIDI_sampling.hpp.

◆ energy()

LUPI_HOST_DEVICE double MCGIDI::Sampling::Input::energy ( ) const
inline

◆ modelEnergy()

LUPI_HOST_DEVICE double MCGIDI::Sampling::Input::modelEnergy ( ) const
inline

Returns the value of the m_modelEnergy member.

Definition at line 207 of file MCGIDI_sampling.hpp.

Referenced by MCGIDI::Reaction::sampleProducts().

◆ modelTemperature()

LUPI_HOST_DEVICE double MCGIDI::Sampling::Input::modelTemperature ( ) const
inline

Returns the value of the m_dataInTargetFrame member.

Definition at line 206 of file MCGIDI_sampling.hpp.

◆ sampledType()

SampledType MCGIDI::Sampling::Input::sampledType ( ) const
inline

Returns the value of the m_sampledType member.

Definition at line 209 of file MCGIDI_sampling.hpp.

◆ setSampledType()

◆ setTemperatureAndEnergy()

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.

Parameters
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.

276 {
277
278 m_dataInTargetFrame = false;
279
280 m_temperature = a_temperature;
281 m_modelTemperature = a_temperature;
282
283 m_energy = a_energy;
284 m_modelEnergy = a_energy;
285}

Referenced by G4GIDI_target::getFinalState().

◆ temperature()

◆ wantVelocity()

LUPI_HOST_DEVICE bool MCGIDI::Sampling::Input::wantVelocity ( ) const
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().

Member Data Documentation

◆ m_delayedNeutronDecayRate

double MCGIDI::Sampling::Input::m_delayedNeutronDecayRate = 0.0

◆ m_delayedNeutronIndex

◆ m_energyOut1

◆ m_energyOut2

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().

◆ m_frame

◆ m_GRIN_intermediateResidual

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().

◆ m_mu

◆ m_muLab

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().

◆ m_numberOfDBRC_rejections

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().

◆ m_phi

◆ m_projectileBeta

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().

◆ m_projectileMass

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().

◆ m_px_vx1

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().

◆ m_px_vx2

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().

◆ m_py_vy1

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().

◆ m_py_vy2

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().

◆ m_pz_vz1

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().

◆ m_pz_vz2

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().

◆ m_reaction

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().

◆ m_relativeBeta

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().

◆ m_targetBeta

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().

◆ m_targetMass

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().

◆ m_upscatterModel

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().


The documentation for this class was generated from the following files: