IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 36bf3ed2 authored by Felix Riehn's avatar Felix Riehn
Browse files

clang

parent 27967bbe
No related branches found
No related tags found
1 merge request!549Draft: "Use Pythia for interactions"
Pipeline #13753 passed with warnings
...@@ -99,8 +99,8 @@ void calculate_cross_sections(TModel& model, std::string const& model_name, ...@@ -99,8 +99,8 @@ void calculate_cross_sections(TModel& model, std::string const& model_name,
} }
// p-p // p-p
auto const [xs_prod_pp, xs_ela_pp ]= auto const [xs_prod_pp, xs_ela_pp] = model->getCrossSectionInelEla(
model->getCrossSectionInelEla(Code::Proton, Code::Proton, p4protonProj, p4protonTarg); Code::Proton, Code::Proton, p4protonProj, p4protonTarg);
// p-O // p-O
CrossSectionType const xs_prod_pO = CrossSectionType const xs_prod_pO =
model->getCrossSection(Code::Proton, Code::Oxygen, p4protonProj, p4oxygenTarg); model->getCrossSection(Code::Proton, Code::Oxygen, p4protonProj, p4oxygenTarg);
......
...@@ -102,11 +102,13 @@ namespace corsika::qgsjetII { ...@@ -102,11 +102,13 @@ namespace corsika::qgsjetII {
return sigProd * 1_mb; return sigProd * 1_mb;
} }
inline std::tuple<CrossSectionType, CrossSectionType> InteractionModel::getCrossSectionInelEla( inline std::tuple<CrossSectionType, CrossSectionType>
Code projCode, Code targetCode, FourMomentum const& proj4mom, InteractionModel::getCrossSectionInelEla(Code projCode, Code targetCode,
FourMomentum const& target4mom) const { FourMomentum const& proj4mom,
return { getCrossSection(projCode, targetCode, proj4mom, target4mom), CrossSectionType::zero()}; FourMomentum const& target4mom) const {
} return {getCrossSection(projCode, targetCode, proj4mom, target4mom),
CrossSectionType::zero()};
}
template <typename TSecondaries> template <typename TSecondaries>
inline void InteractionModel::doInteraction(TSecondaries& view, Code const projectileId, inline void InteractionModel::doInteraction(TSecondaries& view, Code const projectileId,
......
...@@ -50,15 +50,17 @@ namespace corsika::sibyll { ...@@ -50,15 +50,17 @@ namespace corsika::sibyll {
target4mom); target4mom);
} }
inline std::tuple<CrossSectionType, CrossSectionType> InteractionModel::getCrossSectionInelEla( inline std::tuple<CrossSectionType, CrossSectionType>
Code projCode, Code targetCode, FourMomentum const& proj4mom, InteractionModel::getCrossSectionInelEla(Code projCode, Code targetCode,
FourMomentum const& target4mom) const { FourMomentum const& proj4mom,
FourMomentum const& target4mom) const {
if (is_nucleus(projCode)) if (is_nucleus(projCode))
return { getNuclearInteractionModel().getCrossSection(projCode, targetCode, proj4mom, return {getNuclearInteractionModel().getCrossSection(projCode, targetCode, proj4mom,
target4mom), CrossSectionType::zero()}; target4mom),
CrossSectionType::zero()};
else else
return getHadronInteractionModel().getCrossSectionInelEla(projCode, targetCode, proj4mom, return getHadronInteractionModel().getCrossSectionInelEla(projCode, targetCode,
target4mom); proj4mom, target4mom);
} }
template <typename TSecondaries> template <typename TSecondaries>
......
...@@ -55,8 +55,7 @@ namespace corsika::qgsjetII { ...@@ -55,8 +55,7 @@ namespace corsika::qgsjetII {
FourMomentum const& projectileP4, FourMomentum const& projectileP4,
FourMomentum const& targetP4) const; FourMomentum const& targetP4) const;
/**
/**
* Returns inelastic AND elastic cross sections. * Returns inelastic AND elastic cross sections.
* *
* These cross sections must correspond to the process described in doInteraction * These cross sections must correspond to the process described in doInteraction
......
...@@ -31,8 +31,8 @@ namespace corsika::sibyll { ...@@ -31,8 +31,8 @@ namespace corsika::sibyll {
CrossSectionType getCrossSection(Code, Code, FourMomentum const&, CrossSectionType getCrossSection(Code, Code, FourMomentum const&,
FourMomentum const&) const; FourMomentum const&) const;
std::tuple<CrossSectionType, CrossSectionType> getCrossSectionInelEla(Code, Code, FourMomentum const&, std::tuple<CrossSectionType, CrossSectionType> getCrossSectionInelEla(
FourMomentum const&) const; Code, Code, FourMomentum const&, FourMomentum const&) const;
template <typename TSecondaries> template <typename TSecondaries>
void doInteraction(TSecondaries&, Code, Code, FourMomentum const&, void doInteraction(TSecondaries&, Code, Code, FourMomentum const&,
......
...@@ -446,20 +446,20 @@ TEST_CASE("ProcessSequence General", "ProcessSequence") { ...@@ -446,20 +446,20 @@ TEST_CASE("ProcessSequence General", "ProcessSequence") {
CHECK(std::is_reference_v<decltype(sequence2.getProcess1())>); // Process1& CHECK(std::is_reference_v<decltype(sequence2.getProcess1())>); // Process1&
CHECK(!std::is_reference_v<decltype(sequence2.getProcess2())>); // ProcessSequence CHECK(!std::is_reference_v<decltype(sequence2.getProcess2())>); // ProcessSequence
CHECK(std::is_reference_v<decltype( CHECK(std::is_reference_v<
sequence2.getProcess2().getProcess1())>); // Process2& decltype(sequence2.getProcess2().getProcess1())>); // Process2&
CHECK(std::is_reference_v<decltype( CHECK(std::is_reference_v<
sequence2.getProcess2().getProcess2())>); // Process3& decltype(sequence2.getProcess2().getProcess2())>); // Process3&
// and now with rvalue initialization // and now with rvalue initialization
auto sequence2_rv = make_sequence(Process1(0), m2, Process3(0)); auto sequence2_rv = make_sequence(Process1(0), m2, Process3(0));
CHECK(!std::is_reference_v<decltype(sequence2_rv.getProcess1())>); // Process1 CHECK(!std::is_reference_v<decltype(sequence2_rv.getProcess1())>); // Process1
CHECK(!std::is_reference_v<decltype(sequence2_rv.getProcess2())>); // ProcessSequence CHECK(!std::is_reference_v<decltype(sequence2_rv.getProcess2())>); // ProcessSequence
CHECK(std::is_reference_v<decltype( CHECK(std::is_reference_v<
sequence2_rv.getProcess2().getProcess1())>); // Process2& decltype(sequence2_rv.getProcess2().getProcess1())>); // Process2&
CHECK(!std::is_reference_v<decltype( CHECK(!std::is_reference_v<
sequence2_rv.getProcess2().getProcess2())>); // Process3 decltype(sequence2_rv.getProcess2().getProcess2())>); // Process3
} }
SECTION("lifetime") { SECTION("lifetime") {
......
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