34 m_delayedNeutronIndex( 0 ),
36 m_product( a_construction, a_node.child(
GIDI_productChars ), a_setupInfo, a_pops, a_internalPoPs, nullptr, a_styles ) {
38 m_rate.setAncestor(
this );
39 m_product.setAncestor(
this );
90 m_product.productIDs( a_indices, a_particles, a_transportablesOnly );
103 return( m_product.productMultiplicity( a_productID ) );
120 return( m_product.maximumLegendreOrder( a_smr, a_settings, a_temperatureInfo, a_productID ) );
138 return( m_product.multiGroupMultiplicity( a_smr, a_settings, a_temperatureInfo, a_productID ) );
157 std::size_t a_order )
const {
159 return( m_product.multiGroupProductMatrix( a_smr, a_settings, a_temperatureInfo, a_particles, a_productID, a_order ) );
176 return( m_product.multiGroupAverageEnergy( a_smr, a_settings, a_temperatureInfo, a_productID ) );
193 return( m_product.multiGroupAverageMomentum( a_smr, a_settings, a_temperatureInfo, a_productID ) );
205 m_product.incompleteParticles( a_settings, a_incompleteParticles );
221 double &a_productEnergy,
double &a_productMomentum,
double &a_productGain,
bool a_ignoreIncompleteParticles )
const {
223 m_product.continuousEnergyProductData( a_settings, a_particleID, a_energy, a_productEnergy, a_productMomentum, a_productGain,
224 a_ignoreIncompleteParticles );
241 std::vector<double>
const &a_energies, std::size_t a_offset, std::vector<double> &a_productEnergies, std::vector<double> &a_productMomenta,
242 std::vector<double> &a_productGains,
bool a_ignoreIncompleteParticles )
const {
244 m_product.mapContinuousEnergyProductData( a_settings, a_particleID, a_energies, a_offset, a_productEnergies, a_productMomenta,
245 a_productGains, a_ignoreIncompleteParticles );
261 m_product.calculateMultiGroupData( a_protare, a_temperatureInfo, a_heatedMultiGroupLabel, a_multiGroupCalulationInformation, a_crossSectionXYs1d );
276 m_rate.toXMLList( a_writeInfo, indent2 );
277 m_product.toXMLList( a_writeInfo, indent2 );
#define GIDI_productChars
Vector multiGroupMultiplicity(LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, 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
int productMultiplicity(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
GUPI::Ancestry * findInAncestry3(std::string const &a_item)
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
void productIDs(std::set< std::string > &a_indices, Transporting::Particles const &a_particles, bool a_transportablesOnly) const
void incompleteParticles(Transporting::Settings const &a_settings, std::set< std::string > &a_incompleteParticles) const
Vector multiGroupAverageEnergy(LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) const
DelayedNeutron(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)
Vector multiGroupAverageMomentum(LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) 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
std::string const & moniker() const
void addNodeEnder(std::string const &a_moniker)
std::string incrementalIndent(std::string const &indent)
void addNodeStarter(std::string const &indent, std::string const &a_moniker, std::string const &a_attributes="")
std::string addAttribute(std::string const &a_name, std::string const &a_value) const
Form * parsePhysicalQuantitySuite(Construction::Settings const &a_construction, Suite *parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pop, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)