38 form =
new ExternalFile( a_node, a_setupInfo, a_parent ); }
40 std::cout <<
"parseExternalFilesSuite: Ignoring unsupported externalFile = '" << a_name <<
"'." << std::endl;
81 form =
new Styles::MultiGroup( a_construction, a_node, a_setupInfo, a_pops, a_internalPoPs, a_parent );
85 std::cout <<
"Multiple multiGroup style instances found which is not supported. Ignoring all but first instance." << std::endl;
98 std::cout <<
"parseStylesSuite: Ignoring unsupported style = '" << a_name <<
"'." << std::endl;
122 Form *form =
nullptr;
125 form =
new Transportable( a_construction, a_node, a_setupInfo, a_pops, a_parent ); }
127 std::cout <<
"parseTransportablesSuite: Ignoring unsupported Form '" << a_name <<
"'." << std::endl;
216 Form *form =
nullptr;
218 if( a_name == a_moniker ) {
220 form =
new Reaction( a_construction, a_node, a_setupInfo, a_pops, a_internalPoPs,
protare, a_styles ); }
222 std::cout <<
"parseReactionType: Ignoring '" << a_moniker <<
"' unsupported form '" << a_name <<
"'." << std::endl;
246 Form *form =
nullptr;
251 std::cout <<
"parseSumsCrossSectionsSuite: Ignoring unsupported Form '" << a_name <<
"'." << std::endl;
275 Form *form =
nullptr;
282 std::cout <<
"parseSumsMultiplicitiesSuite: Ignoring unsupported Form '" << a_name <<
"'." << std::endl;
310 Form *form =
nullptr;
327 std::cout <<
"parseDoubleDifferentialCrossSectionSuite: Ignoring unsupported Form '" << a_name <<
"'." << std::endl;
377 Form *form =
nullptr;
388 form =
data1dParse( a_construction, a_node, a_setupInfo, a_parent );
413 return(
new DelayedNeutron( a_construction, a_node, a_setupInfo, a_pops, a_internalPoPs, a_parent, a_styles ) );
480 return(
data1dParse( a_construction, a_node, a_setupInfo, a_parent ) );
501 Form *form =
nullptr;
505 form =
data1dParse( a_construction, a_node, a_setupInfo, a_parent );
528 Form *form =
nullptr;
531 form =
new Product( a_construction, a_node, a_setupInfo, a_pops, a_internalPoPs, a_parent, a_styles ); }
533 std::cout <<
"parseProductSuite: Ignoring unsupported element in products " << a_node.
name( ) << std::endl;
561 return(
data1dParse( a_construction, a_node, a_setupInfo, a_parent ) );
591 Form *form =
nullptr;
630 std::cout <<
"parseDistributionSuite: Ignoring unsupported distribution " << a_node.
name( ) << std::endl;
657 return(
data1dParse( a_construction, a_node, a_setupInfo, a_parent ) );
682 return(
data1dParse( a_construction, a_node, a_setupInfo, a_parent ) );
750 std::string name( a_node.
name( ) );
755 form =
new Functions::XYs1d( a_construction, a_node, a_setupInfo, a_parent ); }
757 form =
new Functions::Ys1d( a_construction, a_node, a_setupInfo, a_parent ); }
773 std::cout <<
"data1dParse: Ignoring unsupported 1d function = '" << name <<
"'" << std::endl;
793 std::string name( a_node.
name( ) );
795 if( name ==
"" )
return(
nullptr );
796 return(
data1dParse( a_construction, a_node, a_setupInfo, a_parent ) );
809 std::vector<Functions::Function1dForm *> &a_function1ds ) {
814 if( form ==
nullptr )
throw Exception(
"data1dListParse data1dParse returned nullptr." );
815 a_function1ds.push_back( form );
832 std::string name( a_node.
name( ) );
835 form =
new Functions::XYs2d( a_construction, a_node, a_setupInfo, a_parent ); }
863 std::cout <<
"data2dParse: Ignoring unsupported 2d function = '" << name <<
"'" << std::endl;
879 std::vector<Functions::Function2dForm *> &a_function2ds ) {
884 if( form ==
nullptr )
throw Exception(
"data2dListParse data2dParse returned nullptr." );
885 a_function2ds.push_back( form );
903 std::string name( a_node.
name( ) );
906 form =
new Functions::XYs3d( a_construction, a_node, a_setupInfo, a_parent ); }
910 std::cout <<
"data3dParse: Ignoring unsupported 3d function = '" << name <<
"'" << std::endl;
925 for(
auto iter = a_functions.begin( ); iter != a_functions.end( ); ++iter ) {
926 if( a_Xs.size( ) > 0 ) {
927 if( (*iter)->outerDomainValue( ) <= a_Xs.back( ) )
throw Exception(
"checkOuterDomainValues1d: next outerDomainValue <= current outerDomainValue." );
929 a_Xs.push_back( (*iter)->outerDomainValue( ) );
942 for(
auto iter = a_functions.begin( ); iter != a_functions.end( ); ++iter ) {
943 if( a_Xs.size( ) > 0 ) {
944 if( (*iter)->outerDomainValue( ) <= a_Xs.back( ) )
throw Exception(
"checkOuterDomainValues2d: next outerDomainValue <= current outerDomainValue." );
946 a_Xs.push_back( (*iter)->outerDomainValue( ) );
960 double domainMax = -1;
962 for(
auto iter = a_functions.begin( ); iter != a_functions.end( ); ++iter ) {
963 double domainMin = (*iter)->domainMin( );
965 if( a_Xs.size( ) > 0 ) {
966 if( fabs( domainMax - domainMin ) > 1e-8 * ( fabs( domainMin ) + fabs( domainMax ) ) )
967 throw Exception(
"checkSequentialDomainLimits1d: domains not abutting." );
969 a_Xs.push_back( domainMin );
970 domainMax = (*iter)->domainMax( );
972 if( a_Xs.size( ) > 0 ) a_Xs.push_back( domainMax );
985 double domainMax = -1;
987 for(
auto iter = a_functions.begin( ); iter != a_functions.end( ); ++iter ) {
988 double domainMin = (*iter)->domainMin( );
990 if( a_Xs.size( ) > 0 ) {
991 if( fabs( domainMax - domainMin ) > 1e-8 * ( fabs( domainMin ) + fabs( domainMax ) ) )
992 throw Exception(
"checkSequentialDomainLimits2d: domains not abutting." );
994 a_Xs.push_back( domainMin );
995 domainMax = (*iter)->domainMax( );
997 if( a_Xs.size( ) > 0 ) a_Xs.push_back( a_functions.back( )->domainMax( ) );
#define GIDI_multiGroupStyleChars
#define GIDI_simpleMaxwellianFissionChars
#define GIDI_regions1dChars
#define GIDI_fissionEnergyReleasesChars
#define GIDI_griddedCrossSectionStyleChars
#define GIDI_uncorrelatedChars
#define GIDI_unspecifiedChars
#define GIDI_resonancesWithBackgroundChars
#define GIDI_MadlandNixChars
#define GIDI_coherentPhotonScatteringChars
#define GIDI_discreteGammaChars
#define GIDI_gridded1dChars
#define GIDI_productChars
#define GIDI_primaryGammaChars
#define GIDI_CoulombPlusNuclearElasticMuCutoffStyleChars
#define GIDI_realizationChars
#define GIDI_ACE_URR_probabilityTableChars
#define GIDI_LLNLLegendreChars
#define GIDI_regions2dChars
#define GIDI_columnHeadersChars
#define GIDI_TNSL_incoherentElasticChars
#define GIDI_energyAngularMCChars
#define GIDI_fissionComponentChars
#define GIDI_incoherentBoundToFreePhotonScatteringChars
#define GIDI_URR_probabilityTablesStyleChars
#define GIDI_externalFileChars
#define GIDI_LegendreChars
#define GIDI_delayedNeutronsChars
#define GIDI_NBodyPhaseSpaceChars
#define GIDI_branching3dChars
#define GIDI_generalEvaporationChars
#define GIDI_orphanProductChars
#define GIDI_evaluatedStyleChars
#define GIDI_reactionChars
#define GIDI_energyAngularChars
#define GIDI_angularEnergyMCChars
#define GIDI_LLNLAngularEnergyChars
#define GIDI_multiGroup3dChars
#define GIDI_gridded2dChars
#define GIDI_angularEnergyChars
#define GIDI_heatedMultiGroupStyleChars
#define GIDI_heatedStyleChars
#define GIDI_isotropic2dChars
#define GIDI_branching1dChars
#define GIDI_delayedNeutronChars
#define GIDI_thermalNeutronScatteringLawChars
#define GIDI_incoherentPhotonScatteringChars
#define GIDI_xs_pdf_cdf1dChars
#define GIDI_crossSectionSumChars
#define GIDI_multiplicitySumChars
#define GIDI_KalbachMannChars
#define GIDI_referenceChars
#define GIDI_angularTwoBodyChars
#define GIDI_evaporationChars
#define GIDI_constant1dChars
#define GIDI_URR_probabilityTables1dChars
#define GIDI_TNSL_incoherentInelasticChars
#define GIDI_MonteCarlo_cdfStyleChars
#define GIDI_crossSectionReconstructedStyleChars
#define GIDI_SnElasticUpScatterStyleChars
#define GIDI_gridded3dChars
#define GIDI_weightedFunctionalsChars
#define GIDI_fissionEnergyReleaseChars
#define GIDI_TNSL_coherentElasticChars
#define GIDI_CoulombPlusNuclearElasticChars
#define GIDI_transportableChars
#define GIDI_ACE_URR_probabilityTablesChars
#define GIDI_averageProductDataStyleChars
#define GIDI_polynomial1dChars
ParseMode parseMode() const
Styles::MultiGroup * m_multiGroup
@ MonteCarloContinuousEnergy
void data2dListParse(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, std::vector< Functions::Function2dForm * > &a_function2ds)
Form * parseCrossSectionSuite(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)
Functions::Function1dForm * data1dParse(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *parent)
Form * parseFissionComponent(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseReactionType(std::string const &a_moniker, Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseACE_URR_probabilityTables(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Functions::Function2dForm * data2dParse(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *parent)
void checkOuterDomainValues2d(std::vector< Functions::Function2dForm * > &a_functions, std::vector< double > &a_Xs)
Form * parseTransportablesSuite(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseColumnHeaders(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseFissionEnergyReleasesSuite(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)
Form * parseProductSuite(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)
Form * parseAverageEnergySuite(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)
Form * parseQSuite(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)
void checkOuterDomainValues1d(std::vector< Functions::Function1dForm * > &a_functions, std::vector< double > &a_Xs)
void data1dListParse(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, std::vector< Functions::Function1dForm * > &a_function1ds)
Form * parseSumsMultiplicitiesSuite(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseAvailableSuite(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseMultiplicitySuite(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)
Form * parseExternalFilesSuite(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)
Form * parseReaction(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseOrphanProduct(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseDelayedNeutronsSuite(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)
Form * parseStylesSuite(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)
Form * parseDoubleDifferentialCrossSectionSuite(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseAverageMomentumSuite(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)
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)
Form * parseScatteringAtom(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Form * parseDistributionSuite(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)
Functions::Function1dForm * data1dParseAllowEmpty(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *a_parent)
Functions::Function3dForm * data3dParse(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *parent)
Form * parseSumsCrossSectionsSuite(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
void checkSequentialDomainLimits1d(std::vector< Functions::Function1dForm * > &a_functions, std::vector< double > &a_Xs)
void checkSequentialDomainLimits2d(std::vector< Functions::Function2dForm * > &a_functions, std::vector< double > &a_Xs)