IAP GITLAB

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

Merge branch 'proposal_7.2.x' into 'master'

Update PROPOSAL version to 7.3.0

See merge request !421
parents 17c63346 1212a120
No related branches found
No related tags found
1 merge request!421Update PROPOSAL version to 7.3.0
Pipeline #6151 passed with warnings
[requires] [requires]
spdlog/1.8.5 spdlog/1.9.2
catch2/2.13.8 catch2/2.13.8
eigen/3.3.8 eigen/3.3.8
boost/1.76.0 boost/1.76.0
zlib/1.2.11 zlib/1.2.11
proposal/7.0.5 proposal/7.3.0
yaml-cpp/0.6.3 yaml-cpp/0.6.3
arrow/2.0.0 arrow/2.0.0
cli11/1.9.1 cli11/1.9.1
......
...@@ -68,6 +68,16 @@ namespace corsika::proposal { ...@@ -68,6 +68,16 @@ namespace corsika::proposal {
auto [type, target_hash, v] = std::get<eINTERACTION>(c->second)->SampleLoss( auto [type, target_hash, v] = std::get<eINTERACTION>(c->second)->SampleLoss(
projectile.getEnergy() / 1_MeV, rates, distr(RNG_)); projectile.getEnergy() / 1_MeV, rates, distr(RNG_));
// TODO: This should become obsolete as soon #482 is fixed
if (type == PROPOSAL::InteractionType::Undefined) {
CORSIKA_LOG_WARN(
"PROPOSAL: No particle interaction possible. "
"Put initial particle back on stack.");
view.addSecondary(std::make_tuple(projectileId, projectile.getEnergy(),
projectile.getDirection()));
return ProcessReturn::Ok;
}
// Read how much random numbers are required to calculate the secondaries. // Read how much random numbers are required to calculate the secondaries.
// Calculate the secondaries and deploy them on the corsika stack. // Calculate the secondaries and deploy them on the corsika stack.
auto rnd = std::vector<double>( auto rnd = std::vector<double>(
...@@ -86,7 +96,9 @@ namespace corsika::proposal { ...@@ -86,7 +96,9 @@ namespace corsika::proposal {
auto loss = PROPOSAL::StochasticLoss( auto loss = PROPOSAL::StochasticLoss(
static_cast<int>(type), v * projectile.getEnergy() / 1_MeV, point, direction, static_cast<int>(type), v * projectile.getEnergy() / 1_MeV, point, direction,
projectile.getTime() / 1_s, 0., projectile.getEnergy() / 1_MeV); projectile.getTime() / 1_s, 0., projectile.getEnergy() / 1_MeV);
auto target = PROPOSAL::Component::component_map->operator[](target_hash); PROPOSAL::Component target;
if (type != PROPOSAL::InteractionType::Ioniz)
target = PROPOSAL::Component::GetComponentForHash(target_hash);
auto sec = auto sec =
std::get<eSECONDARIES>(c->second)->CalculateSecondaries(loss, target, rnd); std::get<eSECONDARIES>(c->second)->CalculateSecondaries(loss, target, rnd);
for (auto& s : sec) { for (auto& s : sec) {
......
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