|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
#include <GIDI.hpp>
Public Member Functions | |
| Product (PoPI::Database const &a_pops, std::string const &a_productID, std::string const &a_label) | |
| Product (Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, Suite *a_parent, Styles::Suite const *a_styles) | |
| ~Product () | |
| ParticleInfo const & | particle () const |
| void | setParticle (ParticleInfo const &a_particle) |
| std::string | pid () const |
| ParticleInfo const & | GNDS_particle () const |
| ParticleInfo & | GNDS_particle () |
| int | depth () const |
| Component & | multiplicity () |
| Component const & | multiplicity () const |
| Component & | distribution () |
| Component const & | distribution () const |
| Component & | averageEnergy () |
| Component const & | averageEnergy () const |
| Component & | averageMomentum () |
| Component const & | averageMomentum () const |
| OutputChannel * | outputChannel () const |
| void | modifiedMultiGroupElasticForTNSL (std::map< std::string, std::size_t > const &a_maximumTNSL_MultiGroupIndex) |
| bool | hasFission () const |
| bool | isDelayedFissionNeutronComplete (bool a_isDelayedNeutron) const |
| 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 |
| 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 | 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 |
| bool | isCompleteParticle () const |
| void | incompleteParticles (Transporting::Settings const &a_settings, std::set< std::string > &a_incompleteParticles) 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 GIDI::Form | |
| Form (FormType a_type) | |
| Form (std::string const &a_moniker, FormType a_type, std::string const &a_label) | |
| Form (HAPI::Node const &a_node, SetupInfo &a_setupInfo, FormType a_type, Suite *a_suite=nullptr) | |
| Form (Form const &a_form) | |
| virtual | ~Form () |
| Form & | operator= (Form const &a_rhs) |
| Suite * | parent () const |
| std::string const & | label () const |
| void | setLabel (std::string const &a_label) |
| virtual std::string | actualMoniker () const |
| std::string const & | keyName () const |
| void | setKeyName (std::string const &a_keyName) |
| std::string const & | keyValue () const |
| virtual void | setKeyValue (std::string const &a_keyName) const |
| FormType | type () const |
| Form const * | sibling (std::string a_label) const |
| GUPI::Ancestry * | findInAncestry3 (LUPI_maybeUnused std::string const &a_item) |
| GUPI::Ancestry const * | findInAncestry3 (LUPI_maybeUnused std::string const &a_item) const |
| std::string | xlinkItemKey () 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) |
| 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::Product::Product | ( | PoPI::Database const & | a_pops, |
| std::string const & | a_productID, | ||
| std::string const & | a_label ) |
Constructed
Definition at line 24 of file GIDI_product.cc.
| GIDI::Product::Product | ( | Construction::Settings const & | a_construction, |
| HAPI::Node const & | a_node, | ||
| SetupInfo & | a_setupInfo, | ||
| PoPI::Database const & | a_pops, | ||
| PoPI::Database const & | a_internalPoPs, | ||
| Suite * | a_parent, | ||
| Styles::Suite const * | a_styles ) |
Constructed from data in a <product> node.
| a_construction | [in] Used to pass user options to the constructor. |
| a_node | [in] The HAPI::Node to be parsed and used to construct the Product. |
| a_setupInfo | [in] Information create my the Protare constructor to help in parsing. |
| a_pops | [in] The external PoPI::Database instance used to get particle indices and possibly other particle information. |
| a_internalPoPs | [in] The internal PoPI::Database instance used to get particle indices and possibly other particle information. This is the <PoPs> node under the <reactionSuite> node. |
| a_parent | [in] The m_products member of GIDI::OutputChannel this product belongs to. |
| a_styles | [in] The <styles> node under the <reactionSuite> node. |
Definition at line 58 of file GIDI_product.cc.
| GIDI::Product::~Product | ( | ) |
Definition at line 112 of file GIDI_product.cc.
| bool GIDI::Product::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 185 of file GIDI_product.cc.
|
inline |
Returns a reference to the m_averageEnergy member.
Definition at line 3902 of file GIDI.hpp.
Referenced by continuousEnergyProductData(), and mapContinuousEnergyProductData().
|
inline |
|
inline |
Returns a reference to the m_averageMomentum member.
Definition at line 3904 of file GIDI.hpp.
Referenced by continuousEnergyProductData(), and mapContinuousEnergyProductData().
|
inline |
| void GIDI::Product::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 552 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::calculateMultiGroupData().
| void GIDI::Product::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 458 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::continuousEnergyProductData().
| int GIDI::Product::depth | ( | ) | const |
Returns the maximum product depth for this product.
Definition at line 123 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::depth().
|
inline |
Returns a reference to the m_distribution member.
Definition at line 3900 of file GIDI.hpp.
Referenced by MCGIDI::Product::Product().
|
inline |
|
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 199 of file GIDI_product.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 217 of file GIDI_product.cc.
|
inline |
|
inline |
| bool GIDI::Product::hasFission | ( | ) | const |
Returns true if the product has an output channel and its output channel hasFission returns true, and false otherwise.
Definition at line 151 of file GIDI_product.cc.
| void GIDI::Product::incompleteParticles | ( | Transporting::Settings const & | a_settings, |
| std::set< std::string > & | a_incompleteParticles ) const |
If the product has a distribution and its first distribution form is not unspecified, its PoPs id is added to a_incompleteParticles.
Definition at line 534 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::incompleteParticles().
| bool GIDI::Product::isCompleteParticle | ( | ) | const |
Returns true if the product is complete and false otherwise. A product is complete if its multiplicity and/or distribution are other than unspecified.
Definition at line 518 of file GIDI_product.cc.
Referenced by calculateMultiGroupData(), continuousEnergyProductData(), incompleteParticles(), isDelayedFissionNeutronComplete(), and mapContinuousEnergyProductData().
| bool GIDI::Product::isDelayedFissionNeutronComplete | ( | bool | a_isDelayedNeutron | ) | const |
Returns false* if this has delayed fission neutrons and they are not complete; otherwise, returns **true.
| a_isDelayedNeutron | [in] true is called from FissionFragmentData::isDelayedFissionNeutronComplete and false otherwise. |
Definition at line 165 of file GIDI_product.cc.
| void GIDI::Product::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 488 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::mapContinuousEnergyProductData().
| int GIDI::Product::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 a this product and any sub-products for a give label.
| 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 274 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::maximumLegendreOrder().
| void GIDI::Product::modifiedMultiGroupElasticForTNSL | ( | std::map< std::string, std::size_t > const & | a_maximumTNSL_MultiGroupIndex | ) |
Only for internal use. Called by ProtareTNSL instance to zero the lower energy multi-group data covered by the ProtareSingle that contains the TNSL data covers the lower energy multi-group data.
| 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 137 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::modifiedMultiGroupElasticForTNSL().
| Vector GIDI::Product::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 summed over this and all sub-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_productID | [in] Particle id for the requested product. |
Definition at line 399 of file GIDI_product.cc.
| Vector GIDI::Product::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 summed over this and all sub-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_productID | [in] Particle id for the requested product. |
Definition at line 429 of file GIDI_product.cc.
| Vector GIDI::Product::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 this product and any sub-product. 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 309 of file GIDI_product.cc.
| Matrix GIDI::Product::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 364 of file GIDI_product.cc.
| Vector GIDI::Product::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 product and any sub-product . This is a cross section weighted Q. If a_final is false, only the Q for the products output channel is returned, 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 340 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::multiGroupQ().
|
inline |
Returns a reference to the m_multiplicity member.
Definition at line 3898 of file GIDI.hpp.
Referenced by continuousEnergyProductData(), and mapContinuousEnergyProductData().
|
inline |
|
inline |
Returns a reference to the m_outputChannel member.
Definition at line 3906 of file GIDI.hpp.
Referenced by MCGIDI::Product::Product().
|
inline |
Returns the value of the m_particle member.
Definition at line 3891 of file GIDI.hpp.
Referenced by incompleteParticles().
|
inline |
| void GIDI::Product::productIDs | ( | std::set< std::string > & | a_indices, |
| Transporting::Particles const & | a_particles, | ||
| bool | a_transportablesOnly ) const |
Insert a std::set with the products index 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 237 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::productIDs().
| int GIDI::Product::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 255 of file GIDI_product.cc.
Referenced by GIDI::OutputChannel::productMultiplicity().
|
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 577 of file GIDI_product.cc.