diff --git a/Framework/Particles/CMakeLists.txt b/Framework/Particles/CMakeLists.txt index b7e2b58afca6ee46f33df5952bae4407e5243b88..99b458bbeb20ff3188190fec97e5087b593d36e5 100644 --- a/Framework/Particles/CMakeLists.txt +++ b/Framework/Particles/CMakeLists.txt @@ -35,7 +35,7 @@ CORSIKA_COPY_HEADERS_TO_NAMESPACE (CORSIKAparticles ${PARTICLE_NAMESPACE} ${PART # this is not needed for the build to succeed! ....... add_custom_command ( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/GeneratedParticleProperties.inc - COMMAND ${CMAKE_COMMAND} -E create_symlink ${PROJECT_BINARY_DIR}/include/corsika/GeneratedParticleProperties.inc ${CMAKE_CURRENT_SOURCE_DIR}/GeneratedParticleProperties.inc + COMMAND ${CMAKE_COMMAND} -E create_symlink ${PROJECT_BINARY_DIR}/include/corsika/particles/GeneratedParticleProperties.inc ${CMAKE_CURRENT_SOURCE_DIR}/GeneratedParticleProperties.inc COMMENT "Generate link in source-dir: ${CMAKE_CURRENT_SOURCE_DIR}/GeneratedParticleProperties.inc" ) add_custom_target (SourceDirLink DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/GeneratedParticleProperties.inc) diff --git a/Framework/Particles/testParticles.cc b/Framework/Particles/testParticles.cc index a04f36515c720c6f55938238c5a42f685b527f99..12947cb32689bbe9da1cc211a19d1b474039bff9 100644 --- a/Framework/Particles/testParticles.cc +++ b/Framework/Particles/testParticles.cc @@ -9,16 +9,39 @@ using namespace corsika::units; using namespace corsika::particles; -TEST_CASE("Particles", "[Particles]") { +TEST_CASE("ParticleProperties", "[Particles]") { - SECTION("Types") { REQUIRE(Electron::GetCode() == Code::Electron); } + SECTION("Types") { + REQUIRE(Electron::GetCode() == Code::Electron); + REQUIRE(Positron::GetCode() == Code::Positron); + REQUIRE(Proton::GetCode() == Code::Proton); + REQUIRE(Neutron::GetCode() == Code::Neutron); + REQUIRE(Gamma::GetCode() == Code::Gamma); + REQUIRE(PiPlus::GetCode() == Code::PiPlus); + } - SECTION("Data") { + SECTION("Masses") { REQUIRE(Electron::GetMass() / (511_keV / constants::cSquared) == Approx(1)); REQUIRE(Electron::GetMass() / GetMass(Code::Electron) == Approx(1)); + } + + SECTION("Charges") { REQUIRE(Electron::GetCharge() / constants::e == Approx(-1)); REQUIRE(Positron::GetCharge() / constants::e == Approx(+1)); REQUIRE(GetElectricCharge(Positron::GetAntiParticle()) / constants::e == Approx(-1)); + } + + SECTION("Names") { REQUIRE(Electron::GetName() == "e-"); + REQUIRE(PiMinus::GetName() == "pi-"); + } + + SECTION("PDG") { + REQUIRE(GetPDG(Code::PiPlus) == 211); + REQUIRE(GetPDG(Code::DPlus) == 411); + REQUIRE(GetPDG(Code::NuMu) == 14); + REQUIRE(GetPDG(Code::NuE) == 12); + REQUIRE(GetPDG(Code::MuMinus) == 13); } + }