11 #include <PROPOSAL/PROPOSAL.h> 14 #include <corsika/framework/process/InteractionProcess.hpp> 16 #include <corsika/framework/random/RNGManager.hpp> 17 #include <corsika/framework/random/UniformRealDistribution.hpp> 19 #include <corsika/modules/proposal/ProposalProcessBase.hpp> 30 enum { eSECONDARIES, eINTERACTION };
31 using calculator_t = std::tuple<std::unique_ptr<PROPOSAL::SecondariesCalculator>,
32 std::unique_ptr<PROPOSAL::Interaction>>;
34 std::unordered_map<calc_key_t, calculator_t, hash>
47 template <
typename TEnvironment>
55 template <
typename TSecondaryView>
61 template <
typename TParticle>
66 #include <corsika/detail/modules/proposal/Interaction.inl> PROPOSAL base process which handels mapping of particle codes to stored interpolation tables...
Interaction(TEnvironment const &env)
Produces the stoachastic loss calculator for leptons based on nuclear compositions and stochastic des...
class "quantity" is the heart of the library.
GrammageType getInteractionLength(TParticle const &p)
Calculates the mean free path length.
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 "|="
ProcessReturn doInteraction(TSecondaryView &)
Calculate the rates for the different targets and interactions. Sample a pair of interaction-type, component and rate, followed by sampling a loss and produce the corresponding secondaries and store them on the particle stack.
Describes the composition of matter Allowes and handles the creation of custom matter compositions...
Interface to particle properties.
Process describing the interaction of particles.
Electro-magnetic and photon stochastic losses produced by proposal. It makes use of interpolation tab...