11 #include <unordered_map> 15 #include <corsika/framework/process/SecondariesProcess.hpp> 16 #include <corsika/framework/process/ContinuousProcess.hpp> 49 ParticleCut(std::unordered_map<Code const, HEPEnergyType const>
const& eCuts,
50 bool const em,
bool const inv);
52 template <
typename TStackView>
53 void doSecondaries(TStackView&);
55 template <
typename TParticle,
typename TTrajectory>
57 TParticle& vParticle, TTrajectory
const& vTrajectory,
58 const bool limitFlag =
false);
60 template <
typename TParticle,
typename TTrajectory>
61 LengthType getMaxStepLength(TParticle
const&, TTrajectory
const&) {
62 return meter * std::numeric_limits<double>::infinity();
65 void printThresholds();
96 template <
typename TParticle>
97 bool checkCutParticle(TParticle
const& p);
99 template <
typename TParticle>
100 bool isBelowEnergyCut(TParticle
const&)
const;
103 bool isInvisible(Code
const&)
const;
112 unsigned int em_count_ = 0;
113 unsigned int inv_count_ = 0;
114 unsigned int energy_count_ = 0;
121 #include <corsika/detail/modules/ParticleCut.inl> HEPEnergyType getCutEnergy() const
returns total energy of particles that were removed by cut in kinetic energy
Import and extend the phys::units package.
unsigned int getNumberInvParticles() const
returns number of invisible particles
HEPEnergyType getTimeCutEnergy() const
returns total energy of particles that were removed by cut in time
ParticleCut(HEPEnergyType const eEleCut, HEPEnergyType const ePhoCut, HEPEnergyType const eHadCut, HEPEnergyType const eMuCut, bool const inv)
particle cut with kinetic energy thresholds for electrons, photons, hadrons (including nuclei with en...
HEPEnergyType getInvEnergy() const
returns total energy of particles that were removed by cut for invisible particles ...
HEPEnergyType getEmEnergy() const
returns total energy of particles that were removed by cut for electromagnetic particles ...
Processes with continuous effects along a particle Trajectory.
The cascade namespace assembles all objects needed to simulate full particles cascades.
Processes acting on the secondaries produced by other processes.
simple ParticleCut process.
ProcessReturn
since in a process sequence many status updates can accumulate for a single particle, this enum should define only bit-flags that can be accumulated easily with "|="
unsigned int getNumberEmParticles() const
returns number of electromagnetic particles
Interface to particle properties.
HEPEnergyType constexpr get_kinetic_energy_threshold(Code const)
get kinetic energy threshold below which the particle is discarded, by default set to zero ...