reduced_cutoff_ratio = adjoint_data.getReducedCutoffCrossSectionRatios()
adjoint_cutoff_cs = adjoint_data.getAdjointCutoffElasticCrossSection()
adjoint_rutherford_cs = adjoint_data.getAdjointScreenedRutherfordElasticCrossSection(
)
adjoint_sr_index = adjoint_data.getAdjointScreenedRutherfordElasticCrossSectionThresholdEnergyIndex(
)
angular_energy_grid = adjoint_data.getAdjointElasticAngularEnergyGrid()
moment_cs_reduction = adjoint_data.getAdjointMomentPreservingCrossSectionReduction(
)
subshells = adjoint_data.getSubshells()
shell = subshells[0]
adjoint_ionization_cs = adjoint_data.getAdjointElectroionizationCrossSection(
    shell)
adjoint_cutoff_dist = Collision.createLogLogLogCorrelatedCutoffElasticDistribution(
    adjoint_data, 0.9, 1e-7)
adjoint_mp_reaction = Collision.createLogLogLogCorrelatedMomentPreservingElasticReaction(
    adjoint_data, 0.9, 1e-7)
adjoint_hybrid_reaction = Collision.createLogLogLogCorrelatedHybridElasticReaction(
    adjoint_data, 0.9, 1e-7)
adjoint_hybrid_dist = Collision.createLogLogLogCorrelatedHybridElasticDistribution(
    adjoint_data, 0.9, 1e-7)
adjoint_cutoff_reaction = Collision.createLogLogLogCorrelatedCutoffElasticReaction(
    adjoint_data, 0.9, 1e-7)

energies = [1e-5, 1e-3, 20.0]
#energies = [1.0, 10.0, 20.0]
for energy in energies:
    index = 0
    for i in range(0, adjoint_energy_grid.size):
        if adjoint_energy_grid[i] <= energy:
            index = i
for z in elements:
    print "\n----------------------------"
    print "-----", z, "Tests -----"
    print "----------------------------"
    data_list = cs_list.get(z)
    file_name = datadir + data_list.get('electroatomic_file_path')
    native_data = Native.ElectronPhotonRelaxationDataContainer(file_name)
    energy_grid = native_data.getElectronEnergyGrid()

    tot_elastic_cs = native_data.getTotalElasticCrossSection()
    cutoff_cross_sections = native_data.getCutoffElasticCrossSection()
    screen_rutherford_cs = native_data.getScreenedRutherfordElasticCrossSection(
    )
    screen_rutherford_index = native_data.getScreenedRutherfordElasticCrossSectionThresholdEnergyIndex(
    )
    moment_cross_sections = Collision.createLogLogLogCorrelatedMomentPreservingElasticReaction(
        native_data, 0.9, 1e-7)

    #    if z == 'Pb-Native':
    #        energies = [1e-5,4e-4,1e5]
    #    else:
    #        energies = [1e-5, 1e-3, 1e5 ]

    for interp in interps:
        print "\n--- ", interp, "Tests ---"

        cutoff_dist = Collision.createLogLogLogCorrelatedCutoffElasticDistribution(
            native_data, 0.9, 1e-7)
        if interp == "LinLinLog":
            cutoff_dist = Collision.createLinLinLogCorrelatedCutoffElasticDistribution(
                native_data, 0.9, 1e-15)
        elif interp == "LinLinLin":