IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 0fe04531 authored by Maximilian Reininghaus's avatar Maximilian Reininghaus :vulcan:
Browse files

added special K0Long test

parent 68708780
No related branches found
No related tags found
No related merge requests found
...@@ -144,7 +144,7 @@ TEST_CASE("UrQMD") { ...@@ -144,7 +144,7 @@ TEST_CASE("UrQMD") {
particles::Code validProjectileCodes[] = { particles::Code validProjectileCodes[] = {
particles::Code::PiPlus, particles::Code::PiMinus, particles::Code::Proton, particles::Code::PiPlus, particles::Code::PiMinus, particles::Code::Proton,
particles::Code::Neutron, particles::Code::KPlus, particles::Code::KMinus, particles::Code::Neutron, particles::Code::KPlus, particles::Code::KMinus,
particles::Code::K0, particles::Code::K0Bar}; particles::Code::K0, particles::Code::K0Bar, particles::Code::K0Long};
for (auto code : validProjectileCodes) { for (auto code : validProjectileCodes) {
auto [stack, view] = setupStack(code, 100_GeV, nodePtr, cs); auto [stack, view] = setupStack(code, 100_GeV, nodePtr, cs);
...@@ -205,4 +205,25 @@ TEST_CASE("UrQMD") { ...@@ -205,4 +205,25 @@ TEST_CASE("UrQMD") {
REQUIRE((secMomSum - projectileMomentum).norm() / projectileMomentum.norm() == REQUIRE((secMomSum - projectileMomentum).norm() / projectileMomentum.norm() ==
Approx(0).margin(1e-2)); Approx(0).margin(1e-2));
} }
SECTION("K0Long projectile") {
auto [env, csPtr, nodePtr] = setupEnvironment(particles::Code::Oxygen);
auto [stackPtr, secViewPtr] =
setupStack(particles::Code::K0Long, 400_GeV, nodePtr, *csPtr);
// must be assigned to variable, cannot be used as rvalue?!
auto projectile = secViewPtr->GetProjectile();
auto const projectileMomentum = projectile.GetMomentum();
[[maybe_unused]] process::EProcessReturn const ret = urqmd.DoInteraction(projectile);
REQUIRE(sumCharge(*secViewPtr) ==
particles::GetChargeNumber(particles::Code::K0Long) +
particles::GetChargeNumber(particles::Code::Oxygen));
auto const secMomSum =
sumMomentum(*secViewPtr, projectileMomentum.GetCoordinateSystem());
REQUIRE((secMomSum - projectileMomentum).norm() / projectileMomentum.norm() ==
Approx(0).margin(1e-2));
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment