Skip to content

Commit

Permalink
Finalising photoatomic ProjectileTarget tests
Browse files Browse the repository at this point in the history
  • Loading branch information
whaeck committed Aug 13, 2024
1 parent 04c487c commit 78432a4
Show file tree
Hide file tree
Showing 3 changed files with 164 additions and 5 deletions.
81 changes: 81 additions & 0 deletions src/dryad/format/endf/test/createProjectileTarget.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,4 +136,85 @@ SCENARIO( "createProjectileTarget" ) {
} // THEN
} // WHEN
} // GIVEN

GIVEN( "ENDF materials - photo-atomic" ) {

auto tape = njoy::ENDFtk::tree::fromFile( "photoat-001_H_000.endf" );
auto material = tape.materials().front();

WHEN( "a single ENDF materials is given" ) {

THEN( "it can be converted" ) {

ProjectileTarget H0 = format::endf::createProjectileTarget( material );

CHECK( id::ParticleID( "g" ) == H0.projectileIdentifier() );
CHECK( id::ParticleID( "1000_e0" ) == H0.targetIdentifier() );

CHECK( InteractionType::Atomic == H0.interactionType() );

CHECK( true == H0.isLinearised() );

CHECK( std::nullopt == H0.resonances() );

CHECK( true == H0.hasReaction( id::ReactionID( "501" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "502" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "504" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "515" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "516" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "517" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "522" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "534" ) ) );
CHECK( false == H0.hasReaction( id::ReactionID( "some unknown reaction" ) ) );

auto total = H0.reactions()[0];
verifyPhotonTotalReaction( total );

auto coherent = H0.reactions()[1];
verifyPhotonCoherentReaction( coherent );

auto incoherent = H0.reactions()[2];
verifyPhotonIncoherentReaction( incoherent );

auto epairproduction = H0.reactions()[3];
verifyPhotonElectronFieldPairProductionReaction( epairproduction );

auto tpairproduction = H0.reactions()[4];
verifyPhotonTotalPairProductionReaction( tpairproduction );

auto npairproduction = H0.reactions()[5];
verifyPhotonNuclearFieldPairProductionReaction( npairproduction );

auto tionisation = H0.reactions()[6];
verifyPhotonTotalIonisationReaction( tionisation );

auto ionisation = H0.reactions()[7];
verifyPhotonIonisationReaction( ionisation );

total = H0.reaction( id::ReactionID( "501" ) );
verifyPhotonTotalReaction( total );

coherent = H0.reaction( id::ReactionID( "502" ) );
verifyPhotonCoherentReaction( coherent );

incoherent = H0.reaction( id::ReactionID( "504" ) );
verifyPhotonIncoherentReaction( incoherent );

epairproduction = H0.reaction( id::ReactionID( "515" ) );
verifyPhotonElectronFieldPairProductionReaction( epairproduction );

tpairproduction = H0.reaction( id::ReactionID( "516" ) );
verifyPhotonTotalPairProductionReaction( tpairproduction );

npairproduction = H0.reaction( id::ReactionID( "517" ) );
verifyPhotonNuclearFieldPairProductionReaction( npairproduction );

tionisation = H0.reaction( id::ReactionID( "522" ) );
verifyPhotonTotalIonisationReaction( tionisation );

ionisation = H0.reaction( id::ReactionID( "534" ) );
verifyPhotonIonisationReaction( ionisation );
} // THEN
} // WHEN
} // GIVEN
} // SCENARIO
78 changes: 78 additions & 0 deletions src/dryad/format/endf/test/createProjectileTargetFromFile.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,4 +130,82 @@ SCENARIO( "projectileTarget" ) {
} // THEN
} // WHEN
} // GIVEN

GIVEN( "ENDF materials - photo-atomic" ) {

WHEN( "a single ENDF materials is given" ) {

THEN( "it can be converted" ) {

ProjectileTarget H0 = format::endf::createProjectileTargetFromFile( "photoat-001_H_000.endf" );

CHECK( id::ParticleID( "g" ) == H0.projectileIdentifier() );
CHECK( id::ParticleID( "1000_e0" ) == H0.targetIdentifier() );

CHECK( InteractionType::Atomic == H0.interactionType() );

CHECK( true == H0.isLinearised() );

CHECK( std::nullopt == H0.resonances() );

CHECK( true == H0.hasReaction( id::ReactionID( "501" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "502" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "504" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "515" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "516" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "517" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "522" ) ) );
CHECK( true == H0.hasReaction( id::ReactionID( "534" ) ) );
CHECK( false == H0.hasReaction( id::ReactionID( "some unknown reaction" ) ) );

auto total = H0.reactions()[0];
verifyPhotonTotalReaction( total );

auto coherent = H0.reactions()[1];
verifyPhotonCoherentReaction( coherent );

auto incoherent = H0.reactions()[2];
verifyPhotonIncoherentReaction( incoherent );

auto epairproduction = H0.reactions()[3];
verifyPhotonElectronFieldPairProductionReaction( epairproduction );

auto tpairproduction = H0.reactions()[4];
verifyPhotonTotalPairProductionReaction( tpairproduction );

auto npairproduction = H0.reactions()[5];
verifyPhotonNuclearFieldPairProductionReaction( npairproduction );

auto tionisation = H0.reactions()[6];
verifyPhotonTotalIonisationReaction( tionisation );

auto ionisation = H0.reactions()[7];
verifyPhotonIonisationReaction( ionisation );

total = H0.reaction( id::ReactionID( "501" ) );
verifyPhotonTotalReaction( total );

coherent = H0.reaction( id::ReactionID( "502" ) );
verifyPhotonCoherentReaction( coherent );

incoherent = H0.reaction( id::ReactionID( "504" ) );
verifyPhotonIncoherentReaction( incoherent );

epairproduction = H0.reaction( id::ReactionID( "515" ) );
verifyPhotonElectronFieldPairProductionReaction( epairproduction );

tpairproduction = H0.reaction( id::ReactionID( "516" ) );
verifyPhotonTotalPairProductionReaction( tpairproduction );

npairproduction = H0.reaction( id::ReactionID( "517" ) );
verifyPhotonNuclearFieldPairProductionReaction( npairproduction );

tionisation = H0.reaction( id::ReactionID( "522" ) );
verifyPhotonTotalIonisationReaction( tionisation );

ionisation = H0.reaction( id::ReactionID( "534" ) );
verifyPhotonIonisationReaction( ionisation );
} // THEN
} // WHEN
} // GIVEN
} // SCENARIO
10 changes: 5 additions & 5 deletions src/dryad/format/endf/test/createReaction.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,17 +101,17 @@ SCENARIO( "createReaction" ) {
Reaction epairproduction = format::endf::createReaction( projectile, target, material, 515 );
verifyPhotonElectronFieldPairProductionReaction( epairproduction );

Reaction npairproduction = format::endf::createReaction( projectile, target, material, 517 );
verifyPhotonNuclearFieldPairProductionReaction( npairproduction );

Reaction tpairproduction = format::endf::createReaction( projectile, target, material, 516 );
verifyPhotonTotalPairProductionReaction( tpairproduction );

Reaction ionisation = format::endf::createReaction( projectile, target, material, 534 );
verifyPhotonIonisationReaction( ionisation );
Reaction npairproduction = format::endf::createReaction( projectile, target, material, 517 );
verifyPhotonNuclearFieldPairProductionReaction( npairproduction );

Reaction tionisation = format::endf::createReaction( projectile, target, material, 522 );
verifyPhotonTotalIonisationReaction( tionisation );

Reaction ionisation = format::endf::createReaction( projectile, target, material, 534 );
verifyPhotonIonisationReaction( ionisation );
} // THEN
} // WHEN
} // GIVEN
Expand Down

0 comments on commit 78432a4

Please sign in to comment.