Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
GIDI::ProtareComposite Class Reference

#include <GIDI.hpp>

Inheritance diagram for GIDI::ProtareComposite:

Public Member Functions

 ProtareComposite (Construction::Settings const &a_construction)
 ~ProtareComposite ()
std::vector< Protare * > & protares ()
void append (Protare *a_protare)
ProtareType protareType () const
std::size_t numberOfProtares () const
ProtareSingleprotare (std::size_t a_index)
ProtareSingle const * protare (std::size_t a_index) const
LUPI::FormatVersion const & formatVersion (std::size_t a_index=0) const
std::string const & fileName (std::size_t a_index=0) const
std::string const & realFileName (std::size_t a_index=0) const
std::vector< std::string > libraries (std::size_t a_index=0) const
std::string const & evaluation (std::size_t a_index=0) const
Frame projectileFrame (std::size_t a_index=0) const
int numberOfLazyParsingHelperForms () const
int numberOfLazyParsingHelperFormsReplaced () const
double thresholdFactor () const
Documentation_1_10::Suitedocumentations ()
Styles::Basestyle (std::string const &a_label)
Styles::Suitestyles ()
Styles::Suite const & styles () const
int intid (std::string const &a_id) const
void productIDs (std::set< std::string > &a_ids, Transporting::Particles const &a_particles, bool a_transportablesOnly) const
int maximumLegendreOrder (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) const
Styles::TemperatureInfos temperatures () const
std::size_t numberOfReactions () const
Reactionreaction (std::size_t a_index)
Reaction const * reaction (std::size_t a_index) const
Reaction const * reaction (std::size_t a_index, Transporting::MG const &a_settings, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
std::size_t numberOfOrphanProducts () const
ReactionorphanProduct (std::size_t a_index)
Reaction const * orphanProduct (std::size_t a_index) const
void updateReactionIndices (std::size_t a_offset) const
bool hasFission () const
bool isDelayedFissionNeutronComplete () const
GUPI::AncestryfindInAncestry3 (LUPI_maybeUnused std::string const &a_item)
GUPI::Ancestry const * findInAncestry3 (LUPI_maybeUnused std::string const &a_item) const
std::vector< double > groupBoundaries (Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) const
Vector multiGroupInverseSpeed (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo) const
Vector multiGroupCrossSection (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}, std::string const &a_label="") const
Vector multiGroupQ (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, bool a_final, bool a_effectivePhotoAtomic=true, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupMultiplicity (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupFissionNeutronMultiplicity (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupFissionGammaMultiplicity (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) 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, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Matrix multiGroupFissionMatrix (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, Transporting::Particles const &a_particles, std::size_t a_order, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupTransportCorrection (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, Transporting::Particles const &a_particles, std::size_t a_order, TransportCorrectionType a_transportCorrectionType, double a_temperature, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupAvailableEnergy (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupAverageEnergy (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupDepositionEnergy (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, Transporting::Particles const &a_particles, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupAvailableMomentum (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupAverageMomentum (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupDepositionMomentum (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, Transporting::Particles const &a_particles, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
Vector multiGroupGain (LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID, ExcludeReactionsSet const &a_reactionsToExclude=ExcludeReactionsSet {}) const
stringAndDoublePairs muCutoffForCoulombPlusNuclearElastic () const
DelayedNeutronProducts delayedNeutronProducts () const
void incompleteParticles (Transporting::Settings const &a_settings, std::set< std::string > &a_incompleteParticles) const
Public Member Functions inherited from GIDI::Protare
 Protare ()
 ~Protare ()
ParticleInfo const & projectile () const
void setProjectile (ParticleInfo const &a_projectile)
ParticleInfo const & target () const
void setTarget (ParticleInfo const &a_target)
ParticleInfo const & GNDS_target () const
virtual bool isTNSL_ProtareSingle () const
virtual GUPI::AncestryfindInAncestry3 (std::string const &a_item)=0
virtual GUPI::Ancestry const * findInAncestry3 (std::string const &a_item) const =0
virtual void TNSL_crossSectionSumCorrection (std::string const &a_label, Functions::XYs1d &a_crossSectionSum)
virtual void TNSL_crossSectionSumCorrection (std::string const &a_label, Functions::Ys1d &a_crossSectionSum)
virtual void TNSL_crossSectionSumCorrection (std::string const &a_label, Vector &a_crossSectionSum)
ExcludeReactionsSet reactionIndicesMatchingENDLCValues (std::set< int > const &a_CValues, bool a_checkActiveState=true)
Public Member Functions inherited from GUPI::Ancestry
 Ancestry (std::string const &a_moniker, std::string const &a_attribute="")
virtual ~Ancestry ()
Ancestryoperator= (Ancestry const &a_ancestry)
std::string const & moniker () const
void setMoniker (std::string const &a_moniker)
Ancestryancestor ()
Ancestry const * ancestor () const
void setAncestor (Ancestry *a_ancestor)
std::string attribute () const
Ancestryroot ()
Ancestry const * root () const
bool isChild (Ancestry *a_instance)
bool isParent (Ancestry *a_parent)
bool isRoot () const
AncestryfindInAncestry (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
virtual void toXMLList (WriteInfo &a_writeInfo, std::string const &a_indent="") 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)
Protected Member Functions inherited from GIDI::Protare
void initialize (HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, bool a_targetRequiredInGlobalPoPs, bool a_requiredInPoPs=true)

Detailed Description

Class to store a list of GNDS <reactionSuite> node.

Definition at line 4905 of file GIDI.hpp.

Constructor & Destructor Documentation

◆ ProtareComposite()

GIDI::ProtareComposite::ProtareComposite ( Construction::Settings const & a_construction)

◆ ~ProtareComposite()

GIDI::ProtareComposite::~ProtareComposite ( )

Definition at line 34 of file GIDI_protareComposite.cc.

34 {
35
36 for( std::vector<Protare *>::const_iterator iter = m_protares.begin( ); iter < m_protares.end( ); ++iter ) delete *iter;
37}

Member Function Documentation

◆ append()

void GIDI::ProtareComposite::append ( Protare * a_protare)

Appends a_protare to the list of Protares.

Parameters
a_protare[in] The Protare to add to this instance.

Definition at line 45 of file GIDI_protareComposite.cc.

45 {
46
47 m_protares.push_back( a_protare );
48}

Referenced by GIDI::Map::Map::protare().

◆ delayedNeutronProducts()

DelayedNeutronProducts GIDI::ProtareComposite::delayedNeutronProducts ( ) const
virtual

Returns the list of DelayedNeutronProduct instances.

Returns
The list of delayed neutrons.

Implements GIDI::Protare.

Definition at line 993 of file GIDI_protareComposite.cc.

993 {
994
995 DelayedNeutronProducts delayedNeutronProducts1;
996
997 if( hasFission( ) ) {
998 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
999 DelayedNeutronProducts delayedNeutronProducts2 = m_protares[i1]->delayedNeutronProducts( );
1000
1001 delayedNeutronProducts1.insert( delayedNeutronProducts1.end( ), delayedNeutronProducts2.begin( ), delayedNeutronProducts2.end( ) );
1002 }
1003 }
1004
1005 return( delayedNeutronProducts1 );
1006}
std::vector< DelayedNeutronProduct > DelayedNeutronProducts
Definition GIDI.hpp:4031

◆ documentations()

Documentation_1_10::Suite & GIDI::ProtareComposite::documentations ( )
virtual

Returns the Documentation_1_10::Suite from the first protare in m_protares.

Returns
The Documentation_1_10::Suite.

Implements GIDI::Protare.

Definition at line 230 of file GIDI_protareComposite.cc.

230 {
231
232 return( m_protares[0]->documentations( ) );
233}
Documentation_1_10::Suite & documentations()

Referenced by documentations().

◆ evaluation()

std::string const & GIDI::ProtareComposite::evaluation ( std::size_t a_index = 0) const
virtual

Returns the evaluation for the (a_index+1)^th Protare.

Parameters
a_index[in] The index of the Protare whose evaluation is returned.
Returns
The evaluation.

Implements GIDI::Protare.

Definition at line 110 of file GIDI_protareComposite.cc.

110 {
111
112 return( m_protares[a_index]->evaluation( ) );
113}
std::string const & evaluation(std::size_t a_index=0) const

Referenced by evaluation().

◆ fileName()

std::string const & GIDI::ProtareComposite::fileName ( std::size_t a_index = 0) const
virtual

Returns the file name for the (a_index+1)^th Protare.

Parameters
a_index[in] The index of the Protare whose file name is returned.
Returns
The file name.

Implements GIDI::Protare.

Definition at line 71 of file GIDI_protareComposite.cc.

71 {
72
73 return( m_protares[a_index]->fileName( ) );
74}
std::string const & fileName(std::size_t a_index=0) const

Referenced by fileName().

◆ findInAncestry3() [1/2]

GUPI::Ancestry * GIDI::ProtareComposite::findInAncestry3 ( LUPI_maybeUnused std::string const & a_item)
inline

Always returns nullptr.

Definition at line 4961 of file GIDI.hpp.

◆ findInAncestry3() [2/2]

GUPI::Ancestry const * GIDI::ProtareComposite::findInAncestry3 ( LUPI_maybeUnused std::string const & a_item) const
inline

Always returns nullptr.

Definition at line 4962 of file GIDI.hpp.

◆ formatVersion()

LUPI::FormatVersion const & GIDI::ProtareComposite::formatVersion ( std::size_t a_index = 0) const
virtual

Returns the GNDS format version for the (a_index+1)^th Protare.

Parameters
a_index[in] The index of the Protare whose format version is returned.
Returns
The format version.

Implements GIDI::Protare.

Definition at line 58 of file GIDI_protareComposite.cc.

58 {
59
60 return( m_protares[a_index]->formatVersion( ) );
61}
LUPI::FormatVersion const & formatVersion(std::size_t a_index=0) const

Referenced by formatVersion().

◆ groupBoundaries()

std::vector< double > GIDI::ProtareComposite::groupBoundaries ( Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
std::string const & a_productID ) const
virtual

Returns the multi-group boundaries for the requested label and product.

Parameters
a_settings[in] Specifies the requested label.
a_temperatureInfo[in] Specifies the temperature and labels use to lookup the requested data.
a_productID[in] ID for the requested product.
Returns
List of multi-group boundaries.

Implements GIDI::Protare.

Definition at line 533 of file GIDI_protareComposite.cc.

533 {
534
535 return( m_protares[0]->groupBoundaries( a_settings, a_temperatureInfo, a_productID ) );
536}
std::vector< double > groupBoundaries(Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo, std::string const &a_productID) const

Referenced by groupBoundaries().

◆ hasFission()

bool GIDI::ProtareComposite::hasFission ( ) const
virtual

Returns true if at least one reaction contains a fission channel.

Returns
true if at least one reaction contains a fission channel and false otherwise.

Implements GIDI::Protare.

Definition at line 498 of file GIDI_protareComposite.cc.

498 {
499
500 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
501
502 if( m_protares[i1]->hasFission( ) ) return( true );
503 }
504 return( false );
505}

Referenced by delayedNeutronProducts(), and hasFission().

◆ incompleteParticles()

void GIDI::ProtareComposite::incompleteParticles ( Transporting::Settings const & a_settings,
std::set< std::string > & a_incompleteParticles ) const
virtual

Calls the incompleteParticles method for each ProtareSingle in this.

Parameters
a_settings[in] Specifies the requested label.
a_incompleteParticles[out] The list of particles whose completeParticle method returns false.

Implements GIDI::Protare.

Definition at line 1015 of file GIDI_protareComposite.cc.

1015 {
1016
1017 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
1018 m_protares[i1]->incompleteParticles( a_settings, a_incompleteParticles );
1019 }
1020}

◆ intid()

int GIDI::ProtareComposite::intid ( std::string const & a_id) const
virtual

Returns the intid for the requested particle or -1 if the particle is not in m_protare PoPs database.

Parameters
a_id[in] The GNDS PoPs id for particle whose intd is requested.
Returns
C++ int for the requested particle or -1 if particle is not in PoPs.

Implements GIDI::Protare.

Definition at line 277 of file GIDI_protareComposite.cc.

277 {
278
279 int intid1 = -1;
280
281 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
282 intid1 = m_protares[i1]->intid( a_id );
283 if( intid1 > -1 ) break;
284 }
285
286 return( intid1 );
287}

◆ isDelayedFissionNeutronComplete()

bool GIDI::ProtareComposite::isDelayedFissionNeutronComplete ( ) const
virtual

Returns false* if protare has delayed fission neutrons for an active reaction and they are not complete; otherwise, returns **true.

Returns
bool

Implements GIDI::Protare.

Definition at line 513 of file GIDI_protareComposite.cc.

513 {
514
515 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
516
517 if( !m_protares[i1]->isDelayedFissionNeutronComplete( ) ) return( true );
518 }
519
520 return( true );
521}

Referenced by isDelayedFissionNeutronComplete().

◆ libraries()

std::vector< std::string > GIDI::ProtareComposite::libraries ( std::size_t a_index = 0) const
virtual

Returns the list of libraries for the (a_index+1)^th contained Protare.

Parameters
a_index[in] The index of the Protare whose libraries are to be returned.
Returns
The list of libraries.

Implements GIDI::Protare.

Definition at line 97 of file GIDI_protareComposite.cc.

97 {
98
99 return( m_protares[a_index]->libraries( ) );
100}
std::vector< std::string > libraries(std::size_t a_index=0) const

Referenced by libraries().

◆ maximumLegendreOrder()

int GIDI::ProtareComposite::maximumLegendreOrder ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
std::string const & a_productID ) const
virtual

Determines the maximum Legredre order present in the multi-group transfer matrix for a give product for a give label. Loops over all contained Protares to determine the maximum Legredre order.

Parameters
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] The id of the requested product.
Returns
The maximum Legredre order. If no transfer matrix data are present for the requested product, -1 is returned.

Implements GIDI::Protare.

Definition at line 314 of file GIDI_protareComposite.cc.

315 {
316
317 int maximumLegendreOrder1 = -1;
318
319 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
320 int maximumLegendreOrder2 = m_protares[i1]->maximumLegendreOrder( a_smr, a_settings, a_temperatureInfo, a_productID );
321
322 if( maximumLegendreOrder2 > maximumLegendreOrder1 ) maximumLegendreOrder1 = maximumLegendreOrder2;
323 }
324
325 return( maximumLegendreOrder1 );
326}

◆ muCutoffForCoulombPlusNuclearElastic()

stringAndDoublePairs GIDI::ProtareComposite::muCutoffForCoulombPlusNuclearElastic ( ) const
virtual
Returns
A list of label, mu cutoff pairs.

Implements GIDI::Protare.

Definition at line 974 of file GIDI_protareComposite.cc.

974 {
975
976 stringAndDoublePairs muCutoffs;
977
978 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
979 stringAndDoublePairs muCutoffs2 = m_protares[i1]->muCutoffForCoulombPlusNuclearElastic( );
980
981 for( stringAndDoublePairs::iterator iter = muCutoffs2.begin( ); iter < muCutoffs2.end( ); ++iter ) muCutoffs.push_back( *iter );
982 }
983
984 return( muCutoffs );
985}
std::vector< stringAndDoublePair > stringAndDoublePairs
Definition GIDI.hpp:486

◆ multiGroupAvailableEnergy()

Vector GIDI::ProtareComposite::multiGroupAvailableEnergy ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total available energy for the requested label. This is a cross section weighted available energy summed over all reactions.

Parameters
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_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the available energy.
Returns
The requested multi-group available energy as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 788 of file GIDI_protareComposite.cc.

789 {
790
791 Vector vector;
792 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
793
794 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
795 vector += m_protares[i1]->multiGroupAvailableEnergy( a_smr, a_settings, a_temperatureInfo, excludeReactionsSet );
796 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
797 }
798
799 return( vector );
800}
void excludeReactionsSetAdjust(ExcludeReactionsSet &a_excludeReactionsSet, Protare const &a_protare)
Definition GIDI_misc.cc:461
std::set< std::size_t > ExcludeReactionsSet
Definition GIDI.hpp:47

◆ multiGroupAvailableMomentum()

Vector GIDI::ProtareComposite::multiGroupAvailableMomentum ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total available momentum for the requested label. This is a cross section weighted available momentum summed over all reactions.

Parameters
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_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the available momentum.
Returns
The requested multi-group available momentum as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 870 of file GIDI_protareComposite.cc.

871 {
872
873 Vector vector;
874 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
875
876 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
877 vector += m_protares[i1]->multiGroupAvailableMomentum( a_smr, a_settings, a_temperatureInfo, excludeReactionsSet );
878 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
879 }
880
881 return( vector );
882}

◆ multiGroupAverageEnergy()

Vector GIDI::ProtareComposite::multiGroupAverageEnergy ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
std::string const & a_productID,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total average energy for the requested label for the requested product. This is a cross section weighted average energy summed over all reactions.

Parameters
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.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the average energy.
Returns
The requested multi-group average energy as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 815 of file GIDI_protareComposite.cc.

816 {
817
818 Vector vector;
819 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
820
821 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
822 vector += m_protares[i1]->multiGroupAverageEnergy( a_smr, a_settings, a_temperatureInfo, a_productID, excludeReactionsSet );
823 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
824 }
825
826 return( vector );
827}

◆ multiGroupAverageMomentum()

Vector GIDI::ProtareComposite::multiGroupAverageMomentum ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
std::string const & a_productID,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total average momentum for the requested label for the requested product. This is a cross section weighted average momentum summed over all reactions.

Parameters
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.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the average momentum.
Returns
The requested multi-group average momentum as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 897 of file GIDI_protareComposite.cc.

899 {
900
901 Vector vector;
902 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
903
904 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
905 vector += m_protares[i1]->multiGroupAverageMomentum( a_smr, a_settings, a_temperatureInfo, a_productID, excludeReactionsSet );
906 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
907 }
908
909 return( vector );
910}

◆ multiGroupCrossSection()

Vector GIDI::ProtareComposite::multiGroupCrossSection ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {},
std::string const & a_label = "" ) const
virtual

Returns the multi-group, total cross section for the requested label. This is summed over all reactions.

Parameters
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_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the cross section.
a_label[in] If not an empty string, this is used as the label for the form to return and the a_temperatureInfo labels are ignored.
Returns
The requested multi-group cross section as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 566 of file GIDI_protareComposite.cc.

567 {
568
569 Vector vector;
570 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
571
572 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
573 vector += m_protares[i1]->multiGroupCrossSection( a_smr, a_settings, a_temperatureInfo, a_reactionsToExclude, a_label );
574 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
575 }
576
577 return( vector );
578}

◆ multiGroupDepositionEnergy()

Vector GIDI::ProtareComposite::multiGroupDepositionEnergy ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
Transporting::Particles const & a_particles,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total deposition energy for the requested label. This is a cross section weighted deposition energy summed over all reactions. The deposition energy is calculated by subtracting the average energy from each transportable particle from the available energy. The list of transportable particles is specified via the list of particle specified in the a_settings argument.

Parameters
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 the products that are transported.
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_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the deposition energy.
Returns
The requested multi-group deposition energy as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 843 of file GIDI_protareComposite.cc.

845 {
846
847 Vector vector;
848 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
849
850 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
851 vector += m_protares[i1]->multiGroupDepositionEnergy( a_smr, a_settings, a_temperatureInfo, a_particles, excludeReactionsSet );
852 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
853 }
854
855 return( vector );
856}

◆ multiGroupDepositionMomentum()

Vector GIDI::ProtareComposite::multiGroupDepositionMomentum ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
Transporting::Particles const & a_particles,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total deposition momentum for the requested label. This is a cross section weighted deposition momentum summed over all reactions. The deposition momentum is calculated by subtracting the average momentum from each transportable particle from the available momentum. The list of transportable particles is specified via the list of particle specified in the a_settings argument.

Parameters
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_particles[in] The list of particles to be transported.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the deposition momentum.
Returns
The requested multi-group deposition momentum as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 926 of file GIDI_protareComposite.cc.

928 {
929
930 Vector vector;
931 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
932
933 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
934 vector += m_protares[i1]->multiGroupDepositionMomentum( a_smr, a_settings, a_temperatureInfo, a_particles, excludeReactionsSet );
935 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
936 }
937
938 return( vector );
939}

◆ multiGroupFissionGammaMultiplicity()

Vector GIDI::ProtareComposite::multiGroupFissionGammaMultiplicity ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total fission gamma multiplicity for the requested label. This is a cross section weighted multiplicity.

Parameters
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_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the multiplicity.
Returns
The requested multi-group fission neutron multiplicity as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 671 of file GIDI_protareComposite.cc.

672 {
673
674 Vector vector;
675 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
676
677 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
678 vector += m_protares[i1]->multiGroupFissionGammaMultiplicity( a_smr, a_settings, a_temperatureInfo, excludeReactionsSet );
679 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
680 }
681
682 return( vector );
683}

◆ multiGroupFissionMatrix()

Matrix GIDI::ProtareComposite::multiGroupFissionMatrix ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
Transporting::Particles const & a_particles,
std::size_t a_order,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Like ProtareComposite::multiGroupProductMatrix, but only returns the fission neutron, transfer matrix.

Parameters
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_order[in] Requested product matrix, Legendre order.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the fission matrix.
Returns
The requested multi-group neutron fission matrix as a GIDI::Matrix.

Implements GIDI::Protare.

Definition at line 729 of file GIDI_protareComposite.cc.

731 {
732
733 Matrix matrix( 0, 0 );
734 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
735
736 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
737 matrix += m_protares[i1]->multiGroupFissionMatrix( a_smr, a_settings, a_temperatureInfo, a_particles, a_order, excludeReactionsSet );
738 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
739 }
740
741 return( matrix );
742}

◆ multiGroupFissionNeutronMultiplicity()

Vector GIDI::ProtareComposite::multiGroupFissionNeutronMultiplicity ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total fission neutron multiplicity for the requested label. This is a cross section weighted multiplicity.

Parameters
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_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the multiplicity.
Returns
The requested multi-group fission neutron multiplicity as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 646 of file GIDI_protareComposite.cc.

647 {
648
649 Vector vector;
650 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
651
652 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
653 vector += m_protares[i1]->multiGroupFissionNeutronMultiplicity( a_smr, a_settings, a_temperatureInfo, excludeReactionsSet );
654 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
655 }
656
657 return( vector );
658}

◆ multiGroupGain()

Vector GIDI::ProtareComposite::multiGroupGain ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
std::string const & a_productID,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, gain for the requested particle and label. This is a cross section weighted gain summed over all reactions.

Parameters
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] The PoPs' id for the particle whose gain is to be calculated.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the gain.
Returns
The requested multi-group gain as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 953 of file GIDI_protareComposite.cc.

955 {
956
957 Vector vector;
958 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
959
960 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
961 vector += m_protares[i1]->multiGroupGain( a_smr, a_settings, a_temperatureInfo, a_productID, excludeReactionsSet );
962 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
963 }
964
965 return( vector );
966}

◆ multiGroupInverseSpeed()

Vector GIDI::ProtareComposite::multiGroupInverseSpeed ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo ) const
virtual

Returns the inverse speeds for the requested label. The label must be for a heated multi-group style.

Parameters
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.
Returns
List of inverse speeds.

Implements GIDI::Protare.

Definition at line 548 of file GIDI_protareComposite.cc.

549 {
550
551 return( m_protares[0]->multiGroupInverseSpeed( a_smr, a_settings, a_temperatureInfo ) );
552}
Vector multiGroupInverseSpeed(LUPI::StatusMessageReporting &a_smr, Transporting::MG const &a_settings, Styles::TemperatureInfo const &a_temperatureInfo) const

Referenced by multiGroupInverseSpeed().

◆ multiGroupMultiplicity()

Vector GIDI::ProtareComposite::multiGroupMultiplicity ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
std::string const & a_productID,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total multiplicity for the requested label for the requested product. This is a cross section weighted multiplicity.

Parameters
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] Id for the requested product.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the multiplicity.
Returns
The requested multi-group multiplicity as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 620 of file GIDI_protareComposite.cc.

622 {
623
624 Vector vector;
625 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
626
627 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
628 vector += m_protares[i1]->multiGroupMultiplicity( a_smr, a_settings, a_temperatureInfo, a_productID, excludeReactionsSet );
629 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
630 }
631
632 return( vector );
633}

◆ multiGroupProductMatrix()

Matrix GIDI::ProtareComposite::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,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total product matrix for the requested label for the requested product id for the requested Legendre order. If no data are found, an empty GIDI::Matrix is returned.

Parameters
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] PoPs id for the requested product.
a_order[in] Requested product matrix, Legendre order.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the product matrix.
Returns
The requested multi-group product matrix as a GIDI::Matrix.

Implements GIDI::Protare.

Definition at line 700 of file GIDI_protareComposite.cc.

702 {
703
704 Matrix matrix( 0, 0 );
705 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
706
707 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
708 matrix += m_protares[i1]->multiGroupProductMatrix( a_smr, a_settings, a_temperatureInfo, a_particles, a_productID, a_order,
709 excludeReactionsSet );
710 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
711 }
712
713 return( matrix );
714}

◆ multiGroupQ()

Vector GIDI::ProtareComposite::multiGroupQ ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
bool a_final,
bool a_effectivePhotoAtomic = true,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group, total Q for the requested label. This is a cross section weighted multiplicity summed over all reactions

Parameters
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 false, only the Q for the primary reactions are return, otherwise, the Q for the final reactions.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the Q.
Returns
The requested multi-group Q as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 593 of file GIDI_protareComposite.cc.

595 {
596
597 Vector vector;
598 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
599
600 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
601 vector += m_protares[i1]->multiGroupQ( a_smr, a_settings, a_temperatureInfo, a_final, a_effectivePhotoAtomic, excludeReactionsSet );
602 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
603 }
604
605 return( vector );
606}

◆ multiGroupTransportCorrection()

Vector GIDI::ProtareComposite::multiGroupTransportCorrection ( LUPI::StatusMessageReporting & a_smr,
Transporting::MG const & a_settings,
Styles::TemperatureInfo const & a_temperatureInfo,
Transporting::Particles const & a_particles,
std::size_t a_order,
TransportCorrectionType a_transportCorrectionType,
double a_temperature,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the multi-group transport correction for the requested label. The transport correction is calculated from the transfer matrix for the projectile id for the Legendre order of a_order + 1.

Parameters
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_particles[in] The list of particles to be transported.
a_order[in] Maximum Legendre order for transport. The returned transport correction is for the next higher Legender order.
a_transportCorrectionType[in] Requested transport correction type.
a_temperature[in] The temperature of the flux to use when collapsing. Pass to the GIDI::collapse method.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the transport correction.
Returns
The requested multi-group transport correction as a GIDI::Vector.

Implements GIDI::Protare.

Definition at line 760 of file GIDI_protareComposite.cc.

762 {
763
764 Vector vector;
765 ExcludeReactionsSet excludeReactionsSet( a_reactionsToExclude );
766
767 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
768 vector += m_protares[i1]->multiGroupTransportCorrection( a_smr, a_settings, a_temperatureInfo, a_particles, a_order,
769 a_transportCorrectionType, a_temperature, excludeReactionsSet );
770 excludeReactionsSetAdjust( excludeReactionsSet, *m_protares[i1] );
771 }
772
773 return( vector );
774}

◆ numberOfLazyParsingHelperForms()

int GIDI::ProtareComposite::numberOfLazyParsingHelperForms ( ) const
virtual

Returns the number of LazyParsingHelperForms instantiated.

Returns
The number of LazyParsingHelperForms instantiated.

Implements GIDI::Protare.

Definition at line 189 of file GIDI_protareComposite.cc.

189 {
190
191 int numberOfLazyParsingHelperForms1 = 0;
192
193 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) numberOfLazyParsingHelperForms1 += m_protares[i1]->numberOfLazyParsingHelperForms( );
194
195 return( numberOfLazyParsingHelperForms1 );
196}

Referenced by numberOfLazyParsingHelperForms().

◆ numberOfLazyParsingHelperFormsReplaced()

int GIDI::ProtareComposite::numberOfLazyParsingHelperFormsReplaced ( ) const
virtual

Returns the number of instantiated LazyParsingHelperForms replaced with the appropriate form.

Returns
The number of LazyParsingHelperForms replaced.

Implements GIDI::Protare.

Definition at line 204 of file GIDI_protareComposite.cc.

204 {
205
206 int numberOfLazyParsingHelperFormsReplaced1 = 0;
207
208 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) numberOfLazyParsingHelperFormsReplaced1 += m_protares[i1]->numberOfLazyParsingHelperFormsReplaced( );
209
210 return( numberOfLazyParsingHelperFormsReplaced1 );
211}
int numberOfLazyParsingHelperFormsReplaced() const

Referenced by numberOfLazyParsingHelperFormsReplaced().

◆ numberOfOrphanProducts()

std::size_t GIDI::ProtareComposite::numberOfOrphanProducts ( ) const
virtual

Returns the number of orphanProduct for all Protares contained in this.

Returns
The total number of orphanProducts.

Implements GIDI::Protare.

Definition at line 430 of file GIDI_protareComposite.cc.

430 {
431
432 std::size_t numberOfOrphanProducts1 = 0;
433
434 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) numberOfOrphanProducts1 += m_protares[i1]->numberOfOrphanProducts( );
435
436 return( numberOfOrphanProducts1 );
437}
std::size_t numberOfOrphanProducts() const

Referenced by numberOfOrphanProducts().

◆ numberOfProtares()

std::size_t GIDI::ProtareComposite::numberOfProtares ( ) const
virtual

Returns the number of **ProtareSingle**s contained in this.

Returns
Returns the number of contained **ProtareSingle**s..

Implements GIDI::Protare.

Definition at line 134 of file GIDI_protareComposite.cc.

134 {
135
136 std::size_t number = 0;
137
138 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) number += m_protares[i1]->numberOfProtares( );
139
140 return( number );
141}
std::size_t numberOfProtares() const

Referenced by numberOfProtares().

◆ numberOfReactions()

std::size_t GIDI::ProtareComposite::numberOfReactions ( ) const
virtual

Returns the number of reactions for all Protares contained in this.

Returns
The total number of reactions.

Implements GIDI::Protare.

Definition at line 353 of file GIDI_protareComposite.cc.

353 {
354
355 std::size_t numberOfReactions1 = 0;
356
357 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) numberOfReactions1 += m_protares[i1]->numberOfReactions( );
358
359 return( numberOfReactions1 );
360}
std::size_t numberOfReactions() const

Referenced by numberOfReactions().

◆ orphanProduct() [1/2]

Reaction * GIDI::ProtareComposite::orphanProduct ( std::size_t a_index)
virtual

Returns the (a_index+1)th orphanProduct.

Parameters
a_index[in] The index of the requested orphanProduct.
Returns
The (a_index+1)th orphanProduct.

Implements GIDI::Protare.

Definition at line 446 of file GIDI_protareComposite.cc.

446 {
447
448 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
449 std::size_t numberOfOrphanProducts1 = m_protares[i1]->numberOfOrphanProducts( );
450
451 if( a_index < numberOfOrphanProducts1 ) return( m_protares[i1]->orphanProduct( numberOfOrphanProducts1 ) );
452 a_index -= numberOfOrphanProducts1;
453 }
454
455 throw Exception( "ProtareComposite::orphanProduct: index out of range" );
456}
Reaction * orphanProduct(std::size_t a_index)

Referenced by orphanProduct(), and orphanProduct().

◆ orphanProduct() [2/2]

Reaction const * GIDI::ProtareComposite::orphanProduct ( std::size_t a_index) const
virtual

Returns the (a_index+1)th orphanProduct.

Parameters
a_index[in] The index of the requested orphanProduct.
Returns
The (a_index+1)th orphanProduct.

Implements GIDI::Protare.

Definition at line 465 of file GIDI_protareComposite.cc.

465 {
466
467 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
468 std::size_t numberOfOrphanProducts1 = m_protares[i1]->numberOfOrphanProducts( );
469
470 if( a_index < numberOfOrphanProducts1 ) return( m_protares[i1]->orphanProduct( numberOfOrphanProducts1 ) );
471 a_index -= numberOfOrphanProducts1;
472 }
473
474 throw Exception( "ProtareComposite::orphanProduct: index out of range" );
475}

◆ productIDs()

void GIDI::ProtareComposite::productIDs ( std::set< std::string > & a_ids,
Transporting::Particles const & a_particles,
bool a_transportablesOnly ) const
virtual

Calls productIDs for each Protare contained in this.

Parameters
a_ids[in] The unique list of product indices.
a_particles[in] The list of particles to be transported.
a_transportablesOnly[in] If true only transportable particle ids are added to a_ids.

Implements GIDI::Protare.

Definition at line 297 of file GIDI_protareComposite.cc.

297 {
298
299 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) m_protares[i1]->productIDs( a_ids, a_particles, a_transportablesOnly );
300}
void productIDs(std::set< std::string > &a_ids, Transporting::Particles const &a_particles, bool a_transportablesOnly) const

Referenced by productIDs().

◆ projectileFrame()

Frame GIDI::ProtareComposite::projectileFrame ( std::size_t a_index = 0) const
virtual

Returns the projectile frame for the (a_index+1)^th Protare.

Parameters
a_index[in] The index of the Protare whose projectile frame is returned.
Returns
The projectile frame.

Implements GIDI::Protare.

Definition at line 123 of file GIDI_protareComposite.cc.

123 {
124
125 return( m_protares[a_index]->projectileFrame( ) );
126}
Frame projectileFrame(std::size_t a_index=0) const

Referenced by projectileFrame().

◆ protare() [1/2]

ProtareSingle * GIDI::ProtareComposite::protare ( std::size_t a_index)
virtual

Returns the pointer representing the (a_index - 1)th ProtareSingle.

Parameters
a_index[in] Index of the ProtareSingle to return.
Returns
Pointer to the requested protare or nullptr if invalid a_index..

Implements GIDI::Protare.

Definition at line 151 of file GIDI_protareComposite.cc.

151 {
152
153 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
154 std::size_t number = m_protares[i1]->numberOfProtares( );
155
156 if( number > a_index ) return( m_protares[i1]->protare( a_index ) );
157 a_index -= number;
158 }
159
160 return( nullptr );
161}
ProtareSingle * protare(std::size_t a_index)

Referenced by protare(), and protare().

◆ protare() [2/2]

ProtareSingle const * GIDI::ProtareComposite::protare ( std::size_t a_index) const
virtual

Returns the pointer representing the (a_index - 1)th ProtareSingle.

Parameters
a_index[in] Index of the ProtareSingle to return.
Returns
Pointer to the requested protare or nullptr if invalid a_index..

Implements GIDI::Protare.

Definition at line 171 of file GIDI_protareComposite.cc.

171 {
172
173 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
174 std::size_t number = m_protares[i1]->numberOfProtares( );
175
176 if( number > a_index ) return( m_protares[i1]->protare( a_index ) );
177 a_index -= number;
178 }
179
180 return( nullptr );
181}

◆ protares()

std::vector< Protare * > & GIDI::ProtareComposite::protares ( )
inline

Returns the value of the m_protares member.

Definition at line 4914 of file GIDI.hpp.

◆ protareType()

ProtareType GIDI::ProtareComposite::protareType ( ) const
inlinevirtual

Returns the type of the protare.

Implements GIDI::Protare.

Definition at line 4919 of file GIDI.hpp.

◆ reaction() [1/3]

Reaction * GIDI::ProtareComposite::reaction ( std::size_t a_index)
virtual

Returns the (a_index+1)th reaction.

Parameters
a_index[in] The index of the requested reaction.
Returns
The (a_index+1)th reaction.

Implements GIDI::Protare.

Definition at line 369 of file GIDI_protareComposite.cc.

369 {
370
371 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
372 std::size_t numberOfReactions1 = m_protares[i1]->numberOfReactions( );
373
374 if( a_index < numberOfReactions1 ) return( m_protares[i1]->reaction( a_index ) );
375 a_index -= numberOfReactions1;
376 }
377
378 throw Exception( "ProtareComposite::reaction: index out of range" );
379}
Reaction * reaction(std::size_t a_index)

Referenced by reaction(), reaction(), and reaction().

◆ reaction() [2/3]

Reaction const * GIDI::ProtareComposite::reaction ( std::size_t a_index) const
virtual

Returns the (a_index+1)th reaction.

Parameters
a_index[in] The index of the requested reaction.
Returns
The (a_index+1)th reaction.

Implements GIDI::Protare.

Definition at line 388 of file GIDI_protareComposite.cc.

388 {
389
390 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
391 std::size_t numberOfReactions1 = m_protares[i1]->numberOfReactions( );
392
393 if( a_index < numberOfReactions1 ) return( m_protares[i1]->reaction( a_index ) );
394 a_index -= numberOfReactions1;
395 }
396
397 throw Exception( "ProtareComposite::reaction: index out of range" );
398}

◆ reaction() [3/3]

Reaction const * GIDI::ProtareComposite::reaction ( std::size_t a_index,
Transporting::MG const & a_settings,
ExcludeReactionsSet const & a_reactionsToExclude = ExcludeReactionsSet {} ) const
virtual

Returns the (a_index+1)th reaction or nullptr. If the indexed reaction is deactivated or exlucded, a nullptr is returned.

Parameters
a_index[in] The index of the requested reaction.
a_settings[in] Specifies the requested label.
a_reactionsToExclude[in] A list of reaction indices that are to be ignored when calculating the cross section.
Returns
The (a_index+1)th reaction or nullptr.

Implements GIDI::Protare.

Definition at line 411 of file GIDI_protareComposite.cc.

412 {
413
414 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
415 std::size_t numberOfReactions1 = m_protares[i1]->numberOfReactions( );
416
417 if( a_index < numberOfReactions1 ) return( m_protares[i1]->reaction( a_index, a_settings, a_reactionsToExclude ) );
418 a_index -= numberOfReactions1;
419 }
420
421 throw Exception( "ProtareComposite::reaction: index out of range" );
422}

◆ realFileName()

std::string const & GIDI::ProtareComposite::realFileName ( std::size_t a_index = 0) const
virtual

Returns the real file name for the (a_index+1)^th Protare.

Parameters
a_index[in] The index of the Protare whose real file name is returned.
Returns
The real file name.

Implements GIDI::Protare.

Definition at line 84 of file GIDI_protareComposite.cc.

84 {
85
86 return( m_protares[a_index]->realFileName( ) );
87}
std::string const & realFileName(std::size_t a_index=0) const

Referenced by realFileName().

◆ style()

Styles::Base & GIDI::ProtareComposite::style ( std::string const & a_label)
virtual

Returns the style with label a_label from the first Protare in m_protares.

Parameters
a_label[in] The label of the requested style.
Returns
The style with label a_label.

Implements GIDI::Protare.

Definition at line 242 of file GIDI_protareComposite.cc.

242 {
243
244 return( m_protares[0]->style( a_label ) );
245}
Styles::Base & style(std::string const &a_label)

Referenced by style().

◆ styles() [1/2]

Styles::Suite & GIDI::ProtareComposite::styles ( )
virtual

Returns the Styles::Suite from the first Protare in m_protares.

Returns
The Styles::Suite.

Implements GIDI::Protare.

Definition at line 253 of file GIDI_protareComposite.cc.

253 {
254
255 return( m_protares[0]->styles( ) );
256}

Referenced by styles(), and styles().

◆ styles() [2/2]

Styles::Suite const & GIDI::ProtareComposite::styles ( ) const
virtual

Returns the Styles::Suite from the first Protare in m_protares.

Returns
The Styles::Suite.

Implements GIDI::Protare.

Definition at line 264 of file GIDI_protareComposite.cc.

264 {
265
266 return( m_protares[0]->styles( ) );
267}

◆ temperatures()

Styles::TemperatureInfos GIDI::ProtareComposite::temperatures ( ) const
virtual

Returns a list of all process temperature data. For each temeprature, the labels for its

  • heated cross section data,
  • gridded cross section data,
  • multi-group data, and
  • multi-group upscatter data.

are returned. If no data are present for a give data type (e.g., gridded cross section, multi-group upscatter), its label is an empty std::string.

Returns
The list of temperatures and their labels via an Styles::TemperatureInfos instance. The Styles::TemperatureInfos class has many (if not all) the method of a std::vector.

Implements GIDI::Protare.

Definition at line 342 of file GIDI_protareComposite.cc.

342 {
343
344 return( m_protares[0]->temperatures( ) );
345}
Styles::TemperatureInfos temperatures() const

Referenced by temperatures().

◆ thresholdFactor()

double GIDI::ProtareComposite::thresholdFactor ( ) const
virtual

Returns a threshold factor for the projectile hitting the target.

Returns
The threshold factor.

Implements GIDI::Protare.

Definition at line 219 of file GIDI_protareComposite.cc.

219 {
220
221 return( m_protares[0]->thresholdFactor( ) );
222}

Referenced by thresholdFactor().

◆ updateReactionIndices()

void GIDI::ProtareComposite::updateReactionIndices ( std::size_t a_offset) const
virtual

Re-indexs the reactions in the reactions, orphanProducts and fissionComponents suites.

Implements GIDI::Protare.

Definition at line 482 of file GIDI_protareComposite.cc.

482 {
483
484 std::size_t reactionOffset = 0;
485
486 for( std::size_t i1 = 0; i1 < m_protares.size( ); ++i1 ) {
487 m_protares[i1]->updateReactionIndices( reactionOffset );
488 reactionOffset += m_protares[i1]->numberOfReactions( );
489 }
490}

The documentation for this class was generated from the following files: