|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
#include <GIDI.hpp>
Public Member Functions | |
| OutputChannel (bool a_twoBody, bool a_fissions, std::string const &a_process) | |
| OutputChannel (Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, Styles::Suite const *a_styles, bool a_isFission, bool a_addFissionResiduals) | |
| ~OutputChannel () | |
| bool | twoBody () const |
| std::string | process () const |
| int | depth () const |
| Component & | Q () |
| Component const & | Q () const |
| Suite & | products () |
| Suite const & | products () const |
| FissionFragmentData & | fissionFragmentData () |
| FissionFragmentData const & | fissionFragmentData () const |
| Construction::FissionResiduals | fissionResiduals () const |
| void | modifiedMultiGroupElasticForTNSL (std::map< std::string, std::size_t > const &a_maximumTNSL_MultiGroupIndex) |
| bool | areAllProductsTracked (Transporting::Particles const &a_particles) const |
| GUPI::Ancestry * | findInAncestry3 (std::string const &a_item) |
| GUPI::Ancestry const * | findInAncestry3 (std::string const &a_item) const |
| bool | isFission () const |
| bool | hasFission () const |
| bool | isDelayedFissionNeutronComplete () const |
| void | productIDs (std::set< std::string > &a_ids, Transporting::Particles const &a_particles, bool a_transportablesOnly) const |
| int | productMultiplicity (std::string const &a_productID) const |
| int | maximumLegendreOrder (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) const |
| Vector | multiGroupQ (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, bool a_final) const |
| Vector | multiGroupMultiplicity (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) const |
| Matrix | multiGroupProductMatrix (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, Transporting::Particles const &a_particles, std::string const &a_productID, std::size_t a_order) const |
| Vector | multiGroupAverageEnergy (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) const |
| Vector | multiGroupAverageMomentum (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) const |
| void | delayedNeutronProducts (DelayedNeutronProducts &a_delayedNeutronProducts) const |
| void | incompleteParticles (Transporting::Settings const &a_settings, std::set< std::string > &a_incompleteParticles) const |
| void | continuousEnergyProductData (Transporting::Settings const &a_settings, std::string const &a_particleID, double a_energy, double &a_productEnergy, double &a_productMomentum, double &a_productGain, bool a_ignoreIncompleteParticles) const |
| void | mapContinuousEnergyProductData (Transporting::Settings const &a_settings, std::string const &a_particleID, std::vector< double > const &a_energies, std::size_t a_offset, std::vector< double > &a_productEnergies, std::vector< double > &a_productMomenta, std::vector< double > &a_productGains, bool a_ignoreIncompleteParticles) const |
| void | calculateMultiGroupData (ProtareSingle const *a_protare, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_heatedMultiGroupLabel, MultiGroupCalulationInformation const &a_multiGroupCalulationInformation, Functions::XYs1d const &a_crossSectionXYs1d) |
| void | toXMLList (GUPI::WriteInfo &a_writeInfo, std::string const &a_indent="") const |
| Public Member Functions inherited from GUPI::Ancestry | |
| Ancestry (std::string const &a_moniker, std::string const &a_attribute="") | |
| virtual | ~Ancestry () |
| Ancestry & | operator= (Ancestry const &a_ancestry) |
| std::string const & | moniker () const |
| void | setMoniker (std::string const &a_moniker) |
| Ancestry * | ancestor () |
| Ancestry const * | ancestor () const |
| void | setAncestor (Ancestry *a_ancestor) |
| std::string | attribute () const |
| Ancestry * | root () |
| Ancestry const * | root () const |
| bool | isChild (Ancestry *a_instance) |
| bool | isParent (Ancestry *a_parent) |
| bool | isRoot () const |
| Ancestry * | findInAncestry (std::string const &a_href) |
| Ancestry const * | findInAncestry (std::string const &a_href) const |
| virtual LUPI_HOST void | serialize (LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode) |
| virtual std::string | xlinkItemKey () const |
| std::string | toXLink () const |
| void | printXML () const |
Additional Inherited Members | |
| Static Public Member Functions inherited from GUPI::Ancestry | |
| static std::string | buildXLinkItemKey (std::string const &a_name, std::string const &a_key) |
| GIDI::OutputChannel::OutputChannel | ( | bool | a_twoBody, |
| bool | a_fissions, | ||
| std::string const & | a_process ) |
Definition at line 19 of file GIDI_outputChannel.cc.
| GIDI::OutputChannel::OutputChannel | ( | Construction::Settings const & | a_construction, |
| HAPI::Node const & | a_node, | ||
| SetupInfo & | a_setupInfo, | ||
| PoPI::Database const & | a_pops, | ||
| PoPI::Database const & | a_internalPoPs, | ||
| Styles::Suite const * | a_styles, | ||
| bool | a_isFission, | ||
| bool | a_addFissionResiduals ) |
| GIDI::OutputChannel::~OutputChannel | ( | ) |
Definition at line 68 of file GIDI_outputChannel.cc.
| bool GIDI::OutputChannel::areAllProductsTracked | ( | Transporting::Particles const & | a_particles | ) | const |
Returns true if all outgoing particles (i.e., products) are specifed in a_particles. That is, the user will be tracking all products of this reaction.
| a_particles | [in] The list of particles to be transported. |
Definition at line 101 of file GIDI_outputChannel.cc.
| void GIDI::OutputChannel::calculateMultiGroupData | ( | ProtareSingle const * | a_protare, |
| Styles::TemperatureInfo const & | a_temperatureInfo, | ||
| std::string const & | a_heatedMultiGroupLabel, | ||
| MultiGroupCalulationInformation const & | a_multiGroupCalulationInformation, | ||
| Functions::XYs1d const & | a_crossSectionXYs1d ) |
This methods calculates multi-group data for all needed components and adds each component's multi-group with label a_heatedMultiGroupLabel.
| a_temperatureInfo | [in] Specifies the temperature and labels use to lookup the requested data. |
| a_heatedMultiGroupLabel | [in] The label of the style for the multi-group data being added. |
| a_multiGroupCalulationInformation | [in] Store multi-group boundary and flux data used for multi-grouping. |
| a_crossSectionXYs1d | [in[ The cross section weight. |
Definition at line 527 of file GIDI_outputChannel.cc.
| void GIDI::OutputChannel::continuousEnergyProductData | ( | Transporting::Settings const & | a_settings, |
| std::string const & | a_particleID, | ||
| double | a_energy, | ||
| double & | a_productEnergy, | ||
| double & | a_productMomentum, | ||
| double & | a_productGain, | ||
| bool | a_ignoreIncompleteParticles ) const |
Returns, via arguments, the average energy and momentum, and gain for product with particle id a_particleID.
| a_settings | [in] Specifies the requested label. |
| a_particleID | [in] The particle id of the product. |
| a_energy | [in] The energy of the projectile. |
| a_productEnergy | [in] The average energy of the product. |
| a_productMomentum | [in] The average momentum of the product. |
| a_productGain | [in] The gain of the product. |
| a_ignoreIncompleteParticles | [in] If true, incomplete particles are ignore, otherwise a throw is executed. |
Definition at line 477 of file GIDI_outputChannel.cc.
|
inline |
| int GIDI::OutputChannel::depth | ( | ) | const |
Returns the maximum product depth for this output channel.
Definition at line 78 of file GIDI_outputChannel.cc.
|
virtual |
Used by GUPI::Ancestry to tranverse GNDS nodes. This method returns a pointer to a derived class' a_item member or nullptr if none exists.
| a_item | [in] The name of the class member whose pointer is to be return. |
Implements GUPI::Ancestry.
Definition at line 139 of file GIDI_outputChannel.cc.
|
virtual |
Used by GUPI::Ancestry to tranverse GNDS nodes. This method returns a pointer to a derived class' a_item member or nullptr if none exists.
| a_item | [in] The name of the class member whose pointer is to be return. |
Implements GUPI::Ancestry.
Definition at line 155 of file GIDI_outputChannel.cc.
|
inline |
Definition at line 4119 of file GIDI.hpp.
Referenced by MCGIDI::OutputChannel::OutputChannel().
|
inline |
|
inline |
| bool GIDI::OutputChannel::hasFission | ( | ) | const |
Returns true if the product has an output channel and its output channel hasFission returns true, and false otherwise.
Definition at line 170 of file GIDI_outputChannel.cc.
| void GIDI::OutputChannel::incompleteParticles | ( | Transporting::Settings const & | a_settings, |
| std::set< std::string > & | a_incompleteParticles ) const |
Loops over the instances in m_products calling their incompleteParticles methods and calls the :incompleteParticles method for the m_fissionFragmentData member.
| a_settings | [in] Specifies the requested label. |
| a_incompleteParticles | [out] The list of particles whose completeParticle method returns false. |
Definition at line 454 of file GIDI_outputChannel.cc.
| bool GIDI::OutputChannel::isDelayedFissionNeutronComplete | ( | ) | const |
Returns false* if outputChannel has delayed fission neutrons and they are not complete; otherwise, returns **true.
Definition at line 189 of file GIDI_outputChannel.cc.
Referenced by GIDI::ProtareSingle::isDelayedFissionNeutronComplete().
|
inline |
Returns true if the output channel is a fission output channel.
Definition at line 4130 of file GIDI.hpp.
Referenced by areAllProductsTracked(), MCGIDI::OutputChannel::OutputChannel(), productIDs(), and productMultiplicity().
| void GIDI::OutputChannel::mapContinuousEnergyProductData | ( | Transporting::Settings const & | a_settings, |
| std::string const & | a_particleID, | ||
| std::vector< double > const & | a_energies, | ||
| std::size_t | a_offset, | ||
| std::vector< double > & | a_productEnergies, | ||
| std::vector< double > & | a_productMomenta, | ||
| std::vector< double > & | a_productGains, | ||
| bool | a_ignoreIncompleteParticles ) const |
Modifies the average product energies, momenta and gains for product with particle id a_particleID.
| a_settings | [in] Specifies user options. |
| a_particleID | [in] The particle id of the product. |
| a_energies | [in] The vector of energies to map the data to. |
| a_offset | [in] The index of the first energy whose data are to be added to the vectors. |
| a_productEnergies | [out] The vector of average energies of the product. |
| a_productMomenta | [out] The vector of average momenta of the product. |
| a_productGains | [out] The vector of gain of the product. |
| a_ignoreIncompleteParticles | [in] If true, incomplete particles are ignore, otherwise a throw is executed. |
Definition at line 503 of file GIDI_outputChannel.cc.
| int GIDI::OutputChannel::maximumLegendreOrder | ( | LUPI::StatusMessageReporting & | a_smr, |
| Transporting::MG const & | a_settings, | ||
| Styles::TemperatureInfo const & | a_temperatureInfo, | ||
| std::string const & | a_productID ) const |
Determines the maximum Legredre order present in the multi-group transfer matrix for the specified products of this output channel.
| a_smr | [Out] If errors are not to be thrown, then the error is reported via this instance. |
| a_settings | [in] Specifies the requested label. |
| a_temperatureInfo | [in] Specifies the temperature and labels use to lookup the requested data. |
| a_productID | [in] Particle id of the requested product. |
Definition at line 279 of file GIDI_outputChannel.cc.
| void GIDI::OutputChannel::modifiedMultiGroupElasticForTNSL | ( | std::map< std::string, std::size_t > const & | a_maximumTNSL_MultiGroupIndex | ) |
Only for internal use. Called by a ProtareTNSL instance to zero the lower energy multi-group data covered by the TNSL ProtareSingle.
| a_maximumTNSL_MultiGroupIndex | [in] A map that contains labels for heated multi-group data and the last valid group boundary for the TNSL data for that boundary. |
Definition at line 122 of file GIDI_outputChannel.cc.
| Vector GIDI::OutputChannel::multiGroupAverageEnergy | ( | LUPI::StatusMessageReporting & | a_smr, |
| Transporting::MG const & | a_settings, | ||
| Styles::TemperatureInfo const & | a_temperatureInfo, | ||
| std::string const & | a_productID ) const |
Returns the sum of the multi-group, average energy for the requested label for the requested product. This is a cross section weighted average energy.
| a_smr | [Out] If errors are not to be thrown, then the error is reported via this instance. |
| a_settings | [in] Specifies the requested label. |
| a_temperatureInfo | [in] Specifies the temperature and labels use to lookup the requested data. |
| a_productID | [in] Particle id for the requested product. |
Definition at line 403 of file GIDI_outputChannel.cc.
| Vector GIDI::OutputChannel::multiGroupAverageMomentum | ( | LUPI::StatusMessageReporting & | a_smr, |
| Transporting::MG const & | a_settings, | ||
| Styles::TemperatureInfo const & | a_temperatureInfo, | ||
| std::string const & | a_productID ) const |
Returns the sum of the multi-group, average momentum for the requested label for the requested product. This is a cross section weighted average momentum.
| a_smr | [Out] If errors are not to be thrown, then the error is reported via this instance. |
| a_settings | [in] Specifies the requested label. |
| a_temperatureInfo | [in] Specifies the temperature and labels use to lookup the requested data. |
| a_productID | [in] Particle id for the requested product. |
Definition at line 430 of file GIDI_outputChannel.cc.
| Vector GIDI::OutputChannel::multiGroupMultiplicity | ( | LUPI::StatusMessageReporting & | a_smr, |
| Transporting::MG const & | a_settings, | ||
| Styles::TemperatureInfo const & | a_temperatureInfo, | ||
| std::string const & | a_productID ) const |
Returns the sum of the multi-group multiplicity for the requested label for the request product of this output channel. This is a cross section weighted multiplicity.
| a_smr | [Out] If errors are not to be thrown, then the error is reported via this instance. |
| a_settings | [in] Specifies the requested label. |
| a_temperatureInfo | [in] Specifies the temperature and labels use to lookup the requested data. |
| a_productID | [in] Particle id for the requested product. |
Definition at line 310 of file GIDI_outputChannel.cc.
| Matrix GIDI::OutputChannel::multiGroupProductMatrix | ( | LUPI::StatusMessageReporting & | a_smr, |
| Transporting::MG const & | a_settings, | ||
| Styles::TemperatureInfo const & | a_temperatureInfo, | ||
| Transporting::Particles const & | a_particles, | ||
| std::string const & | a_productID, | ||
| std::size_t | a_order ) const |
Returns the multi-group, product matrix for the requested label for the requested product index for the requested Legendre order. If no data are found, an empty GIDI::Matrix is returned.
| a_smr | [Out] If errors are not to be thrown, then the error is reported via this instance. |
| a_settings | [in] Specifies the requested label and if delayed neutrons should be included. |
| a_temperatureInfo | [in] Specifies the temperature and labels use to lookup the requested data. |
| a_particles | [in] The list of particles to be transported. |
| a_productID | [in] Particle id for the requested product. |
| a_order | [in] Requested product matrix, Legendre order. |
Definition at line 375 of file GIDI_outputChannel.cc.
| Vector GIDI::OutputChannel::multiGroupQ | ( | LUPI::StatusMessageReporting & | a_smr, |
| Transporting::MG const & | a_settings, | ||
| Styles::TemperatureInfo const & | a_temperatureInfo, | ||
| bool | a_final ) const |
Returns the sum of the multi-group, Q for the requested label for the this output channel. This is a cross section weighted Q. If a_final is false, only the Q for the output channels directly under each reaction is summed. Otherwise, the Q for all output channels summed, including output channels for each products.
| a_smr | [Out] If errors are not to be thrown, then the error is reported via this instance. |
| a_settings | [in] Specifies the requested label. |
| a_temperatureInfo | [in] Specifies the temperature and labels use to lookup the requested data. |
| a_final | [in] If true, the Q is calculated for all output channels, including those for products. |
Definition at line 339 of file GIDI_outputChannel.cc.
|
inline |
| void GIDI::OutputChannel::productIDs | ( | std::set< std::string > & | a_indices, |
| Transporting::Particles const & | a_particles, | ||
| bool | a_transportablesOnly ) const |
Insert a std::set with the products id and any product in in its output channel. If a_transportablesOnly is true, only transportable product indices are return.
| a_indices | [out] The unique list of product indices. |
| a_particles | [in] The list of particles to be transported. |
| a_transportablesOnly | [in] If true, only transportable product indices are added in the list. |
Definition at line 212 of file GIDI_outputChannel.cc.
| int GIDI::OutputChannel::productMultiplicity | ( | std::string const & | a_productID | ) | const |
Returns the product multiplicity (e.g., 0, 1, 2, ...) or -1 if energy dependent or not an integer for particle with id a_productID.
| a_productID; | [in] The id of the requested particle. |
Definition at line 241 of file GIDI_outputChannel.cc.
|
inline |
Returns a reference to the m_products member.
Definition at line 4117 of file GIDI.hpp.
Referenced by MCGIDI::OutputChannel::OutputChannel().
|
inline |
|
inline |
Returns a reference to the m_Q member.
Definition at line 4115 of file GIDI.hpp.
Referenced by MCGIDI::OutputChannel::OutputChannel().
|
inline |
|
virtual |
Fills the argument a_writeInfo with the XML lines that represent this. Recursively enters each sub-node.
| a_writeInfo | [in/out] Instance containing incremental indentation and other information and stores the appended lines. |
| a_indent | [in] The amount to indent this node. |
Reimplemented from GUPI::Ancestry.
Definition at line 549 of file GIDI_outputChannel.cc.
|
inline |
Returns the value of the m_twoBody member.
Definition at line 4111 of file GIDI.hpp.
Referenced by MCGIDI::OutputChannel::OutputChannel().