2609 std::string
const &
href( )
const {
return( m_href ); }
2613 void add(
Form *a_form );
2614 iterator find( std::string
const &a_label,
bool a_convertLazyParsingHelperForm =
false );
2615 const_iterator find( std::string
const &a_label,
bool a_convertLazyParsingHelperForm =
false )
const ;
2616 bool has( std::string
const &a_label )
const {
return(
find( a_label ) != m_forms.end( ) ); }
2617 Form *checkLazyParsingHelperForm( std::size_t a_index );
2618 Form *checkLazyParsingHelperForm( std::size_t a_index )
const ;
2619 iterator checkLazyParsingHelperFormIterator( iterator a_iter ) ;
2620 const_iterator checkLazyParsingHelperFormIterator( const_iterator a_iter )
const ;
2622 void modifiedMultiGroupElasticForTNSL( std::map<std::string,std::size_t>
const &a_maximumTNSL_MultiGroupIndex );
2624 GUPI::Ancestry const *findInAncestry3( std::string
const &a_item )
const ;
2625 std::vector<iterator> findAllOfMoniker( std::string
const &a_moniker ) ;
2626 std::vector<const_iterator> findAllOfMoniker( std::string
const &a_moniker )
const ;
2627 Form const *findInstanceOfTypeInLineage( std::string
const &_label, std::string
const &a_moniker )
const ;
2628 Form *findInstanceOfTypeInLineage(
Styles::Suite const &a_styles, std::string
const &_label, std::string
const &a_moniker ) ;
2630 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
2631 void printFormLabels( std::string
const &a_header )
const ;
2645 T *
object =
dynamic_cast<T *
>( __form );
2647 if(
object ==
nullptr )
throw Exception(
"GIDI::Suite::get( std::size_t ): invalid cast" );
2660template<
typename T> T
const *
Suite::get( std::size_t a_index )
const {
2663 T *
object =
dynamic_cast<T *
>( __form );
2665 if(
object ==
nullptr )
throw Exception(
"GIDI::Suite::get( std::size_t ): invalid cast" );
2678template<
typename T> T *
Suite::get( std::string
const &a_label ) {
2680 auto index = (*this)[a_label];
2682 T *
object =
dynamic_cast<T *
>( __form );
2684 if(
object ==
nullptr )
throw Exception(
"GIDI::Suite::get( std::string const & ): invalid cast" );
2697template<
typename T> T
const *
Suite::get( std::string
const &a_label )
const {
2699 auto index = (*this)[a_label];
2701 T *
object =
dynamic_cast<T *
>( __form );
2703 if(
object ==
nullptr )
throw Exception(
"GIDI::Suite::get( std::string const & ): invalid cast" );
2720 T *
object =
dynamic_cast<T *
>( __form );
2722 if(
object ==
nullptr )
throw Exception(
"GIDI::Suite::pop( std::size_t ): invalid cast" );
2724 for( std::size_t index = a_index + 1; index < m_forms.size( ); ++index ) {
2725 m_forms[index-1] = m_forms[index];
2726 m_map[m_forms[index-1]->label( )] = index - 1;
2728 m_forms.resize( m_forms.size( ) - 1 );
2742template<
typename T> T *
Suite::pop( std::string
const &a_label ) {
2744 auto index = (*this)[a_label];
2746 T *
object =
dynamic_cast<T *
>( __form );
2748 if(
object ==
nullptr )
throw Exception(
"GIDI::Suite::pop( std::size_t ): invalid cast" );
2750 for( std::size_t index2 = index + 1; index2 < m_forms.size( ); ++index2 ) {
2751 m_forms[index2-1] = m_forms[index2];
2752 m_map[m_forms[index2-1]->label( )] = index2 - 1;
2754 m_forms.resize( m_forms.size( ) - 1 );
2785 std::string m_index;
2788 std::string m_types;
2794 std::string
const &
index( )
const {
return( m_index ); }
2795 std::string
const &
name( )
const {
return( m_name ); }
2796 std::string
const &
unit( )
const {
return( m_unit ); }
2797 std::string
const &
types( )
const {
return( m_types ); }
2799 void setKeyValue( std::string
const &a_keyName )
const ;
2801 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
2820 std::string
const &
sep( )
const {
return( m_sep ); }
2821 std::string
const &
body( )
const {
return( m_body ); }
2826 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
2839 std::size_t m_columns;
2840 std::string m_storageOrder;
2841 Suite m_columnHeaders;
2848 std::size_t
rows( )
const {
return( m_rows ); }
2849 std::size_t
columns( )
const {
return( m_columns ); }
2854 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
2890 std::size_t
size( )
const {
return( m_grid.size( ) ); }
2891 inline double &
operator[]( std::size_t a_index ) {
return( m_grid[a_index] ); }
2892 std::vector<double>
data( )
const {
return( m_grid.data().vector() ); }
2894 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
2905 std::string m_conserve;
2913 std::string
const &
conserve( )
const {
return( m_conserve ); }
2916 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
2930 double m_atomFraction;
2942 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
2964 Nuclide const *operator[]( std::string
const &a_pid )
const ;
2968 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
2989 ChemicalElement const *operator[]( std::string
const &a_symbol )
const ;
2994 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
3018 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
3035 ExternalFile( std::string
const &a_label, std::string
const &a_path );
3039 std::string
const &
path( )
const {
return( m_path ); }
3041 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent =
"" )
const ;
3050namespace Documentation_1_10 {
3055 std::string m_label;
3062 std::string
const &
label( )
const {
return m_label; }
3063 std::string
const &
text( )
const {
return m_text; }
3121 std::string m_label;
3122 std::string m_derivedStyle;
3129 std::string
const &
date( )
const {
return( m_date ); }
3130 std::string
const &
label( )
const {
return( m_label ); }
3138 std::vector<Base const *>
chain( )
const ;
3152 std::string m_library;
3153 std::string m_version;
3162 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
3216 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
3273 int m_maximumLegendreOrder;
3283 std::vector<double> groupBoundaries( std::string
const &a_productID )
const ;
3285 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
3301 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
3315 std::string m_parameters;
3325 std::vector<double> groupBoundaries( std::string
const &a_ID )
const ;
3327 std::string
const &
parameters( )
const {
return( m_parameters ); }
3331 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
3342 int m_upperCalculatedGroup;
3350 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
3369 void toXMLList(
GUPI::WriteInfo &a_writeInfo, std::string
const &a_indent )
const ;
3395 std::vector<Base const *> m_chainEnds;
3396 std::vector<Base const *> m_preProcessingChainEnds;
3402 std::vector< std::vector<Base const *> >
chains(
bool a_ends )
const ;
3404 std::vector<Base const *>
const &
chainEnds( )
const {
return( m_chainEnds ); }
3419 std::string m_heatedCrossSection;
3420 std::string m_griddedCrossSection;
3421 std::string m_URR_probabilityTables;
3422 std::string m_heatedMultiGroup;
3423 std::string m_SnElasticUpScatter;
3428 std::string
const &a_URR_probabilityTables, std::string
const &a_heatedMultiGroup, std::string
const &a_SnElasticUpScatter );
3437 void print( )
const ;
3449 std::string
const *label = m_styles->findLabelInLineage( (
Styles::Suite &) *
this, a_label );
3451 return(
get<T>( *label ) );
3459 std::string
const *label = m_styles->findLabelInLineage( (
Styles::Suite &) *
this, a_label );
3461 return(
get<T>( *label ) );
3486 std::string m_label;
3487 std::vector<double> m_boundaries;
3491 MultiGroup( std::string
const &a_label,
int a_length,
double const *a_values );
3492 MultiGroup( std::string
const &a_label, std::vector<double>
const &a_boundaries );
3498 double operator[]( std::size_t
const a_index )
const {
return( m_boundaries[a_index] ); }
3499 std::size_t
size( )
const {
return( m_boundaries.size( ) ); }
3501 std::vector<double>
const &
boundaries( )
const {
return( m_boundaries ); }
3502 double const *
pointer( )
const {
return( &(m_boundaries[0]) ); }
3504 void set( std::string
const &a_label, std::vector<double>
const &a_boundaries );
3505 std::string
const &
label( )
const {
return( m_label ); }
3507 void print( std::string
const &a_indent,
bool a_outline =
false,
unsigned int a_valuesPerLine = 10 )
const ;
3518 std::vector<MultiGroup> m_multiGroups;
3527 std::vector<std::string>
labels( )
const;
3528 std::vector<int>
GIDs( )
const;
3529 void print(
bool a_outline =
true,
unsigned int a_valuesPerLine = 10 )
const;
3532 void initialize(
char const *a_fileName );
3543 std::size_t m_order;
3544 std::vector<double> m_energies;
3545 std::vector<double> m_fluxes;
3548 Flux_order( std::size_t a_order, std::size_t a_length,
double const *a_energies,
double const *a_fluxes );
3549 Flux_order( std::size_t a_order, std::vector<double>
const &a_energies, std::vector<double>
const &a_fluxes );
3553 std::size_t
order( )
const {
return( m_order ); }
3554 std::size_t
size( )
const {
return( m_energies.size( ) ); }
3555 double const *
energies( )
const {
return( &(m_energies[0]) ); }
3556 std::vector<double>
const &
v_energies( )
const {
return( m_energies ); }
3557 double const *
fluxes( )
const {
return( &(m_fluxes[0]) ); }
3558 std::vector<double>
const &
v_fluxes( )
const {
return( m_fluxes ); }
3559 void print(
unsigned int a_valuesPerLine = 10 )
const;
3570 std::string m_label;
3571 double m_temperature;
3572 std::vector<Flux_order> m_fluxOrders;
3575 Flux( std::string
const &a_label,
double a_temperature_MeV );
3576 Flux(
char const *a_label,
double a_temperature_MeV );
3582 std::size_t
maxOrder( )
const {
return( m_fluxOrders.size( ) - 1 ); }
3583 std::size_t
size( )
const {
return( m_fluxOrders.size( ) ); }
3585 std::string
const &
label( )
const {
return( m_label ); }
3589 void print( std::string
const &a_indent,
bool a_outline =
true,
unsigned int a_valuesPerLine = 10 )
const ;
3600 std::vector<Flux> m_fluxes;
3609 std::vector<std::string>
labels( )
const ;
3610 std::vector<int>
FIDs( )
const ;
3611 void print(
bool a_outline =
true,
unsigned int a_valuesPerLine = 10 )
const ;
3614 void initialize(
char const *a_fileName,
double a_temperature_MeV );
3625 double m_temperature;
3626 std::vector<double> m_multiGroupFlux;
3629 ProcessedFlux(
double a_temperature, std::vector<double>
const &a_multiGroupFlux );
3650 std::vector<std::size_t> m_collapseIndices;
3651 std::vector<Flux> m_fluxes;
3652 std::vector<ProcessedFlux> m_processedFluxes;
3662 std::string
const &
pid( )
const {
return( m_pid ); }
3665 int multiGroupIndexFromEnergy(
double a_e_in,
bool a_encloseOutOfRange )
const {
return( m_multiGroup.multiGroupIndexFromEnergy( a_e_in, a_encloseOutOfRange ) ); }
3675 void print( std::string
const &a_indent )
const ;
3686 std::map<std::string, Particle> m_particles;
3692 std::map<std::string, Particle> &
particles( ) {
return( m_particles ); }
3693 std::map<std::string, Particle>
const &
particles( )
const {
return( m_particles ); }
3696 bool remove( std::string
const &a_particleID );
3698 bool hasParticle( std::string
const &a_id )
const ;
3700 void process(
Protare const &a_protare, std::string
const &a_label );
3702 std::vector<std::string>
sortedIDs(
bool a_orderIsAscending =
true )
const ;
3704 void print( )
const ;