|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
#include <MCGIDI.hpp>
Additional Inherited Members | |
| Public Attributes inherited from MCGIDI::Protare | |
| friend | ProtareSingle |
| friend | ProtareComposite |
| friend | ProtareTNSL |
Class representing a GNDS <reactionSuite> node with only data needed for Monte Carlo transport. The data are also stored in a way that is better suited for Monte Carlo transport. For example, cross section data for each reaction are not stored with its reaction, but within the HeatedCrossSections member of the Protare.
Definition at line 1750 of file MCGIDI.hpp.
| LUPI_HOST_DEVICE MCGIDI::ProtareComposite::ProtareComposite | ( | ) |
Default constructor used when broadcasting a Protare as needed by MPI or GPUs.
Definition at line 26 of file MCGIDI_protareComposite.cc.
Referenced by ProtareComposite().
| LUPI_HOST MCGIDI::ProtareComposite::ProtareComposite | ( | LUPI::StatusMessageReporting & | a_smr, |
| GIDI::ProtareComposite const & | a_protare, | ||
| PoPI::Database const & | a_pops, | ||
| Transporting::MC & | a_settings, | ||
| GIDI::Transporting::Particles const & | a_particles, | ||
| DomainHash const & | a_domainHash, | ||
| GIDI::Styles::TemperatureInfos const & | a_temperatureInfos, | ||
| GIDI::ExcludeReactionsSet const & | a_reactionsToExclude, | ||
| std::size_t | a_reactionsToExcludeOffset = 0, | ||
| bool | a_allowFixedGrid = true ) |
| LUPI_HOST_DEVICE MCGIDI::ProtareComposite::~ProtareComposite | ( | ) |
Definition at line 94 of file MCGIDI_protareComposite.cc.
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::crossSection | ( | URR_protareInfos const & | a_URR_protareInfos, |
| std::size_t | a_hashIndex, | ||
| double | a_temperature, | ||
| double | a_energy, | ||
| bool | a_sampling = false ) const |
Returns the total cross section.
| a_URR_protareInfos | [in] URR information. |
| a_hashIndex | [in] The cross section hash index. |
| a_temperature | [in] The target temperature. |
| a_energy | [in] The projectile energy. |
| a_sampling | [in] Only used for multi-group cross sections. When sampling, the cross section in the group where threshold is present the cross section is augmented. |
Definition at line 406 of file MCGIDI_protareComposite.cc.
Referenced by crossSection().
| LUPI_HOST_DEVICE void MCGIDI::ProtareComposite::crossSectionVector | ( | double | a_temperature, |
| double | a_userFactor, | ||
| std::size_t | a_numberAllocated, | ||
| double * | a_crossSectionVector ) const |
Adds the energy dependent, total cross section corresponding to the temperature a_temperature multiplied by a_userFactor to a_crossSectionVector.
| a_temperature | [in] Specifies the temperature of the material. |
| a_userFactor | [in] User factor which all cross sections are multiplied by. |
| a_numberAllocated | [in] The length of memory allocated for a_crossSectionVector. |
| a_crossSectionVector | [in/out] The energy dependent, total cross section to add cross section data to. |
Definition at line 425 of file MCGIDI_protareComposite.cc.
Referenced by crossSectionVector().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::depositionEnergy | ( | std::size_t | a_hashIndex, |
| double | a_temperature, | ||
| double | a_energy ) const |
Returns the total deposition energy.
| a_hashIndex | [in] The cross section hash index. |
| a_temperature | [in] The target temperature. |
| a_energy | [in] The projectile energy. |
Definition at line 503 of file MCGIDI_protareComposite.cc.
Referenced by depositionEnergy().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::depositionMomentum | ( | std::size_t | a_hashIndex, |
| double | a_temperature, | ||
| double | a_energy ) const |
Returns the total deposition momentum.
| a_hashIndex | [in] The cross section hash index. |
| a_temperature | [in] The target temperature. |
| a_energy | [in] The projectile energy. |
Definition at line 523 of file MCGIDI_protareComposite.cc.
Referenced by depositionMomentum().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::gain | ( | std::size_t | a_hashIndex, |
| double | a_temperature, | ||
| double | a_energy, | ||
| int | a_particleIndex ) const |
Returns the gain for particle with index a_particleIndex.
| a_hashIndex | [in] The continuous energy hash or multi-group index. |
| a_temperature | [in] The temperature of the target. |
| a_energy | [in] The projectile energy. |
| a_particleIndex | [in] The index of the particle whose gain is to be returned. |
Definition at line 564 of file MCGIDI_protareComposite.cc.
Referenced by gain().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::gainViaIntid | ( | std::size_t | a_hashIndex, |
| double | a_temperature, | ||
| double | a_energy, | ||
| int | a_particleIntid ) const |
Returns the gain for particle with intid a_particleIntid.
| a_hashIndex | [in] The continuous energy hash or multi-group index. |
| a_temperature | [in] The temperature of the target. |
| a_energy | [in] The projectile energy. |
| a_particleIntid | [in] The intid of the particle whose gain is to be returned. |
Definition at line 585 of file MCGIDI_protareComposite.cc.
Referenced by gainViaIntid().
| LUPI_HOST_DEVICE bool MCGIDI::ProtareComposite::hasFission | ( | ) | const |
Returns true is one of the protares has a fission channel and false otherwise.
Definition at line 260 of file MCGIDI_protareComposite.cc.
Referenced by hasFission().
| LUPI_HOST_DEVICE bool MCGIDI::ProtareComposite::hasIncoherentDoppler | ( | ) | const |
Returns true if this has a photoatomic incoherent doppler broadened reaction and false otherwise.
Definition at line 277 of file MCGIDI_protareComposite.cc.
Referenced by hasIncoherentDoppler().
| LUPI_HOST_DEVICE bool MCGIDI::ProtareComposite::hasURR_probabilityTables | ( | ) | const |
Returns true if one the the sub-protares of this has a unresolved resonance region (URR) data and false otherwise.
Definition at line 294 of file MCGIDI_protareComposite.cc.
Referenced by hasURR_probabilityTables(), URR_domainMax(), and URR_domainMin().
|
inline |
Returns the value of the m_maximumEnergy member.
Definition at line 1778 of file MCGIDI.hpp.
|
inline |
Returns the value of the m_minimumEnergy member.
Definition at line 1777 of file MCGIDI.hpp.
|
inline |
Returns the value of the m_numberOfOrphanProducts member.
Definition at line 1789 of file MCGIDI.hpp.
|
inline |
Returns the number of protares contained in this.
Definition at line 1772 of file MCGIDI.hpp.
|
inline |
Returns the value of the m_numberOfReactions member.
Definition at line 1786 of file MCGIDI.hpp.
Referenced by orphanProduct(), protareWithReaction(), reaction(), reactionCrossSection(), reactionCrossSection(), reactionHasURR_probabilityTables(), and threshold().
| LUPI_HOST_DEVICE Reaction const * MCGIDI::ProtareComposite::orphanProduct | ( | std::size_t | a_index | ) | const |
Returns the reaction at index a_index. If a_index is negative, the reaction of the TNSL protare at index -*a_index* is returned; otherwise, the reaction from the regular protare at index a_index is returned.
| a_index | [in] The index of the reaction to return. |
Definition at line 240 of file MCGIDI_protareComposite.cc.
Referenced by orphanProduct().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::productionEnergy | ( | std::size_t | a_hashIndex, |
| double | a_temperature, | ||
| double | a_energy ) const |
Returns the total production energy.
| a_hashIndex | [in] The cross section hash index. |
| a_temperature | [in] The target temperature. |
| a_energy | [in] The projectile energy. |
Definition at line 543 of file MCGIDI_protareComposite.cc.
Referenced by productionEnergy().
|
inline |
Returns the value of the m_projectileMultiGroupBoundaries member.
Definition at line 1781 of file MCGIDI.hpp.
Referenced by projectileMultiGroupBoundaries().
|
inline |
Returns the value of the m_projectileMultiGroupBoundariesCollapsed member.
Definition at line 1783 of file MCGIDI.hpp.
Referenced by projectileMultiGroupBoundariesCollapsed().
| LUPI_HOST_DEVICE ProtareSingle * MCGIDI::ProtareComposite::protare | ( | std::size_t | a_index | ) |
Returns the pointer representing the (a_index - 1)th ProtareSingle.
| a_index | [in] Index of the ProtareSingle to return. |
Definition at line 153 of file MCGIDI_protareComposite.cc.
| LUPI_HOST_DEVICE ProtareSingle const * MCGIDI::ProtareComposite::protare | ( | std::size_t | a_index | ) | const |
Returns the pointer representing the (a_index - 1)th ProtareSingle.
| a_index | [in] Index of the ProtareSingle to return. |
Definition at line 133 of file MCGIDI_protareComposite.cc.
|
inline |
Returns the value of the m_protares member.
Definition at line 1766 of file MCGIDI.hpp.
| LUPI_HOST_DEVICE ProtareSingle const * MCGIDI::ProtareComposite::protareWithReaction | ( | std::size_t | a_index | ) | const |
Returns the pointer to the ProtareSingle that contains the (a_index - 1)th reaction.
| a_index | [in] Index of the reaction. |
Definition at line 173 of file MCGIDI_protareComposite.cc.
| LUPI_HOST_DEVICE Reaction const * MCGIDI::ProtareComposite::reaction | ( | std::size_t | a_index | ) | const |
Returns the reaction at index a_index. If a_index is negative, the reaction of the TNSL protare at index -*a_index* is returned; otherwise, the reaction from the regular protare at index a_index is returned.
| a_index | [in] The index of the reaction to return. |
Definition at line 217 of file MCGIDI_protareComposite.cc.
Referenced by reaction().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::reactionCrossSection | ( | std::size_t | a_reactionIndex, |
| URR_protareInfos const & | a_URR_protareInfos, | ||
| double | a_temperature, | ||
| double | a_energy ) const |
Returns the cross section for reaction at index a_reactionIndex.
| a_reactionIndex | [in] The index of the reaction. |
| a_URR_protareInfos | [in] URR information. |
| a_temperature | [in] The target temperature. |
| a_energy | [in] The projectile energy. |
Definition at line 475 of file MCGIDI_protareComposite.cc.
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::reactionCrossSection | ( | std::size_t | a_reactionIndex, |
| URR_protareInfos const & | a_URR_protareInfos, | ||
| std::size_t | a_hashIndex, | ||
| double | a_temperature, | ||
| double | a_energy, | ||
| bool | a_sampling = false ) const |
Returns the cross section for reaction at index a_reactionIndex.
| a_reactionIndex | [in] The index of the reaction. |
| a_URR_protareInfos | [in] URR information. |
| a_hashIndex | [in] The cross section hash index. |
| a_temperature | [in] The target temperature. |
| a_energy | [in] The projectile energy. |
| a_sampling | [in] Only used for multi-group cross sections. When sampling, the cross section in the group where threshold is present the cross section is augmented. |
Definition at line 446 of file MCGIDI_protareComposite.cc.
| LUPI_HOST_DEVICE bool MCGIDI::ProtareComposite::reactionHasURR_probabilityTables | ( | std::size_t | a_index | ) | const |
Returns true if the reaction at index a_index has URR robability tables and false otherwise.
| a_index | [in] The index of the reaction. |
Definition at line 356 of file MCGIDI_protareComposite.cc.
Referenced by reactionHasURR_probabilityTables().
|
inline |
Samples a reaction of this and returns its index.
| a_input | [in] Sample options requested by user. |
| a_URR_protareInfos | [in] URR information. |
| a_hashIndex | [in] Specifies the continuous energy hash index or multi-group index. |
| a_crossSection | [in] The total cross section for the protare at a_input.temperature() and a_input.energy(). |
| a_rng | [in] The random number generator function that returns a double in the range [0, 1.0). |
Definition at line 2888 of file MCGIDI_headerSource.hpp.
| LUPI_HOST_DEVICE void MCGIDI::ProtareComposite::serialize2 | ( | 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 603 of file MCGIDI_protareComposite.cc.
| LUPI_HOST void MCGIDI::ProtareComposite::setUserParticleIndex2 | ( | int | a_particleIndex, |
| int | a_userParticleIndex ) |
Updates the m_userParticleIndex to a_userParticleIndex for all particles with PoPs index a_particleIndex.
| a_particleIndex | [in] The PoPs index of the particle whose user index is to be set. |
| a_userParticleIndex | [in] The particle index specified by the user. |
Definition at line 108 of file MCGIDI_protareComposite.cc.
| LUPI_HOST void MCGIDI::ProtareComposite::setUserParticleIndexViaIntid2 | ( | int | a_particleIntid, |
| int | a_userParticleIndex ) |
Updates the m_userParticleIndex to a_userParticleIndex for all particles with PoPs intid a_particleIntid.
| a_particleIntid | [in] The PoPs intid of the particle whose user index is to be set. |
| a_userParticleIndex | [in] The particle index specified by the user. |
Definition at line 120 of file MCGIDI_protareComposite.cc.
|
inline |
Definition at line 1825 of file MCGIDI.hpp.
| LUPI_HOST_DEVICE Vector< double > MCGIDI::ProtareComposite::temperatures | ( | std::size_t | a_index = 0 | ) | const |
Returns the list of temperatures for the requested ProtareSingle.
| a_index | [in] Index of the reqested ProtareSingle. |
Definition at line 193 of file MCGIDI_protareComposite.cc.
Referenced by temperatures().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::threshold | ( | std::size_t | a_index | ) | const |
Returns the threshold for the reaction at index a_index. If a_index is negative, it is set to 0 before the threshold in the regular protare is returned.
| a_index | [in] The index of the reaction. |
Definition at line 379 of file MCGIDI_protareComposite.cc.
Referenced by threshold().
|
inline |
Returns a reference to the m_upscatterModelAGroupVelocities member.
Definition at line 1821 of file MCGIDI.hpp.
Referenced by upscatterModelAGroupVelocities().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::URR_domainMax | ( | ) | const |
Returns the maximum energy for the unresolved resonance region (URR) domain. If no URR data present, returns -1.
Definition at line 333 of file MCGIDI_protareComposite.cc.
Referenced by URR_domainMax().
| LUPI_HOST_DEVICE double MCGIDI::ProtareComposite::URR_domainMin | ( | ) | const |
Returns the minimum energy for the unresolved resonance region (URR) domain. If no URR data present, returns -1.
Definition at line 311 of file MCGIDI_protareComposite.cc.
Referenced by URR_domainMin().
|
inline |
Definition at line 1796 of file MCGIDI.hpp.