tstReactionResourceIO.cpp
  ./Core/io/tests/tstReactionResourceIO.cpp
#include "Nemesis/gtest/nemesis_gtest.hh"
#include "AmpxLoader/AmpxLoader.h"
#include "InMemoryStdCompLib/InMemoryStdCompLibrary.h"
#include "Origen/Core/TestPaths.h"
#include "Origen/Core/io/ReactionResourceIO.h"
#include "ScaleData/Core/StdComp.h"
#include "ScaleData/Core/io/BOFFStdComp.h"
{
    int ng = nxs.getNeutronEnergyBounds()->getSize() - 1;
    float sum = 0.0;
    int num_ampx_nuclides = nxs.getNumberNuclides();
    for( int j = 0; j < num_ampx_nuclides; j++ )
    {
        LibraryNuclide* ampx_nuclide = nxs.getNuclideAt( j );
        int iza = ampx_nuclide->getId();
        if( iza != search_iza ) continue;
        int num_1dxs = ampx_nuclide->getNumNeutron1dData();
        for( int k = 0; k < num_1dxs; k++ )
        {
            CrossSection1d* xs = ampx_nuclide->getNeutron1dDataAt( k );
            int mt = xs->getMt();
            bool partial;
            int final_isomeric_state, initial_isomeric_state;
            ScaleData::Utils::transform_mt(
                mt, partial, final_isomeric_state, initial_isomeric_state );
            if( mt == search_mt )
            {
                for( size_t g = 0; g < ng; ++g )
                {
                    sum += xs->getValues()[g];
                }
                return sum;
            }
        }
    }
    return sum;
}
TEST( AmpxLoader, SpotCheck )
{
    std::shared_ptr<AmpxLibrary> idnxs;
    {
        AmpxLoader loader;
        bool success =
            loader.load( QString( Origen::jeff252_filepath.c_str() ) );
        ASSERT_TRUE( success );
        idnxs = std::shared_ptr<AmpxLibrary>( loader.getLibrary() );
    }
    ASSERT_NE( nullptr, idnxs );
    EXPECT_FLOAT_EQ( 54352.719, xs_sum( *idnxs, 92235, 18 ) );
    EXPECT_FLOAT_EQ( 9367.1338, xs_sum( *idnxs, 92238, 102 ) );
    EXPECT_FLOAT_EQ( 0.024841489, xs_sum( *idnxs, 8016, 102 ) );
    EXPECT_FLOAT_EQ( 3314.8083, xs_sum( *idnxs, 1076191, 102 ) );
    EXPECT_FLOAT_EQ( 0.0067568747, xs_sum( *idnxs, 2003, 102 ) );
}
 
          
          
 1.8.10
 1.8.10