|
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 | ModelDBRC_data () |
| LUPI_HOST | ModelDBRC_data (double a_neutronMass, double a_targetMass, Vector< double > const &a_energies, Vector< double > const &a_crossSections, DomainHash const &a_domainHash) |
| LUPI_HOST_DEVICE | ~ModelDBRC_data () |
| LUPI_HOST_DEVICE double | evaluate (double a_energy) |
| LUPI_HOST_DEVICE double | targetThermalSpeed (double a_temperature) |
| LUPI_HOST_DEVICE double | crossSectionMax (double a_energy, double a_targetThermalSpeed) |
| LUPI_HOST_DEVICE void | serialize (LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode) |
Public Attributes | |
| double | m_neutronMass |
| double | m_targetMass |
| Vector< double > | m_energies |
| Vector< double > | m_crossSections |
| Vector< std::size_t > | m_hashIndices |
| MCGIDI::DomainHash | m_domainHash |
This class is used to store the cross section for the elastic scattering upscatter model B with Doppler Broadening Rejection Correction (DBRC) with enum MCGIDI::Sampling::Upscatter::DBRC.
Definition at line 72 of file MCGIDI_sampling.hpp.
| LUPI_HOST_DEVICE MCGIDI::Sampling::Upscatter::ModelDBRC_data::ModelDBRC_data | ( | ) |
Definition at line 91 of file MCGIDI_sampling.cc.
| LUPI_HOST MCGIDI::Sampling::Upscatter::ModelDBRC_data::ModelDBRC_data | ( | double | a_neutronMass, |
| double | a_targetMass, | ||
| Vector< double > const & | a_energies, | ||
| Vector< double > const & | a_crossSections, | ||
| DomainHash const & | a_domainHash ) |
Definition at line 104 of file MCGIDI_sampling.cc.
| LUPI_HOST_DEVICE MCGIDI::Sampling::Upscatter::ModelDBRC_data::~ModelDBRC_data | ( | ) |
Definition at line 118 of file MCGIDI_sampling.cc.
| LUPI_HOST_DEVICE double MCGIDI::Sampling::Upscatter::ModelDBRC_data::crossSectionMax | ( | double | a_energy, |
| double | a_targetThermalSpeed ) |
This method sets a_crossSectionMin and a_crossSectionMax to the minimum and maximum cross section values for the cross section in the window (a_speed - 4 * a_targetThermalSpeed) < speed < (a_speed + 4 * a_targetThermalSpeed). If (a_speed - 4 * a_targetThermalSpeed) is less than the lowest speed in the data, then it is replaced with the lowest speed.
| a_energy | [in] The energy of the projectile (i.e., incident neutron). |
| a_targetThermalSpeed | [in] The thermal speed of the target. |
Definition at line 164 of file MCGIDI_sampling.cc.
| LUPI_HOST_DEVICE double MCGIDI::Sampling::Upscatter::ModelDBRC_data::evaluate | ( | double | a_energy | ) |
This method returns the cross section evaluate at the projectile speed a_speed.
| a_temperature | [in] The temperature of the target. |
Definition at line 130 of file MCGIDI_sampling.cc.
| LUPI_HOST_DEVICE void MCGIDI::Sampling::Upscatter::ModelDBRC_data::serialize | ( | LUPI::DataBuffer & | a_buffer, |
| LUPI::DataBuffer::Mode | a_mode ) |
This method serializes this for broadcasting as needed for MPI and GPUs. The method can count the number of required bytes, pack this or unpack this depending on a_mode.
| a_buffer | [in] The buffer to read or write data to depending on a_mode. |
| a_mode | [in] Specifies the action of this method. |
Definition at line 197 of file MCGIDI_sampling.cc.
Referenced by MCGIDI::Sampling::Upscatter::serializeModelDBRC_data().
| LUPI_HOST_DEVICE double MCGIDI::Sampling::Upscatter::ModelDBRC_data::targetThermalSpeed | ( | double | a_temperature | ) |
This method returns the thermal speed of the target with temperature a_temperature.
| a_temperature | [in] The temperature of the target. |
Definition at line 147 of file MCGIDI_sampling.cc.
| Vector<double> MCGIDI::Sampling::Upscatter::ModelDBRC_data::m_crossSections |
The cross sections corresponding to the energy grid.
Definition at line 78 of file MCGIDI_sampling.hpp.
Referenced by crossSectionMax(), evaluate(), ModelDBRC_data(), ModelDBRC_data(), and serialize().
| MCGIDI::DomainHash MCGIDI::Sampling::Upscatter::ModelDBRC_data::m_domainHash |
The hash "function".
Definition at line 80 of file MCGIDI_sampling.hpp.
Referenced by crossSectionMax(), evaluate(), ModelDBRC_data(), and serialize().
| Vector<double> MCGIDI::Sampling::Upscatter::ModelDBRC_data::m_energies |
The energy grid for the cross section.
Definition at line 77 of file MCGIDI_sampling.hpp.
Referenced by crossSectionMax(), evaluate(), ModelDBRC_data(), ModelDBRC_data(), and serialize().
| Vector<std::size_t> MCGIDI::Sampling::Upscatter::ModelDBRC_data::m_hashIndices |
The indicies for the energy hash function.
Definition at line 79 of file MCGIDI_sampling.hpp.
Referenced by crossSectionMax(), evaluate(), ModelDBRC_data(), ModelDBRC_data(), and serialize().
| double MCGIDI::Sampling::Upscatter::ModelDBRC_data::m_neutronMass |
The mass of the neutron.
Definition at line 75 of file MCGIDI_sampling.hpp.
Referenced by crossSectionMax(), ModelDBRC_data(), ModelDBRC_data(), and serialize().
| double MCGIDI::Sampling::Upscatter::ModelDBRC_data::m_targetMass |
The mass of the target.
Definition at line 76 of file MCGIDI_sampling.hpp.
Referenced by ModelDBRC_data(), ModelDBRC_data(), serialize(), and targetThermalSpeed().