IAP GITLAB

Skip to content
Snippets Groups Projects
Commit c9ce6093 authored by Maximilian Reininghaus's avatar Maximilian Reininghaus :vulcan: Committed by Nikos Karastathis
Browse files

contd.

parent ff8c15b3
No related branches found
No related tags found
1 merge request!466Resolve "Implement thinning algorithms"
/*
* (c) Copyright 2022 CORSIKA Project, corsika-project@lists.kit.edu
*
* This software is distributed under the terms of the GNU General Public
* Licence version 3 (GPL Version 3). See file LICENSE for a full version of
* the license.
*/
#pragma once
#include <corsika/framework/core/PhysicalUnits.hpp>
#include <corsika/framework/process/SecondariesProcess.hpp>
namespace corsika {
EMThinning::EMThinning(HEPEnergyType threshold, double maxWeight) : threshold_{threshold}, maxWeight_{maxWeight} {}
template <typename TStackView>
void EMThinning::doSecondaries(TStackView& view) {
if (view.size() != 2) return;
auto particle1 = view.begin();
auto particle2 = std::next(particle1);
if (.getCode())
corsika::HEPEnergyType const E0 =
}
}
...@@ -17,17 +17,26 @@ namespace corsika { ...@@ -17,17 +17,26 @@ namespace corsika {
class EMThinning : public SecondariesProcess<EMThinning> { class EMThinning : public SecondariesProcess<EMThinning> {
public: public:
/**
* Construct a new EMThinning process.
*
* @param threshold: thinning applied below this energy
* @param maxWeight: maximum allowed weight
*/
EMThinning(HEPEnergyType threshold, double maxWeight);
/** /**
* Apply thinning to secondaries. * Apply thinning to secondaries. Only EM primaries with two EM secondaries are considered.
* *
* @tparam TStackView * @tparam TStackView
*/ */
template <typename TStackView> template <typename TStackView>
void doSecondaries(TStackView&); void doSecondaries(TStackView&);
private:
HEPEnergyType const threshold_;
double const maxWeight_;
}; };
} }
......
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