CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::proposal::InteractionModel< THadronicLEModel, THadronicHEModel > Class Template Reference

Electro-magnetic and photon stochastic losses produced by proposal. It makes use of interpolation tables which are runtime intensive calculation, but can be reused by setting the. More...

#include <InteractionModel.hpp>

Inheritance diagram for corsika::proposal::InteractionModel< THadronicLEModel, THadronicHEModel >:

Public Member Functions

template<typename TEnvironment >
 InteractionModel (TEnvironment const &env, THadronicLEModel &, THadronicHEModel &, HEPEnergyType const &)
 Produces the stoachastic loss calculator for leptons based on nuclear compositions and stochastic description limited by the particle cut.
 
template<typename TSecondaryView >
ProcessReturn doInteraction (TSecondaryView &, Code const projectileId, FourMomentum const &projectileP4)
 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. interactions in PROPOSAL are: More...
 
template<typename TParticle >
CrossSectionType getCrossSection (TParticle const &p, Code const projectileId, FourMomentum const &projectileP4)
 Calculates and returns the cross section.
 
- Public Member Functions inherited from corsika::proposal::HadronicPhotonModel< THadronicLEModel, THadronicHEModel >
 HadronicPhotonModel (THadronicLEModel &, THadronicHEModel &, HEPEnergyType const &)
 
template<typename TSecondaryView >
ProcessReturn doHadronicPhotonInteraction (TSecondaryView &, CoordinateSystemPtr const &, FourMomentum const &, Code const &)
 Calculate produce the hadronic secondaries in a hadronic photon interaction and store them on the particle stack.
 

Additional Inherited Members

- Protected Types inherited from corsika::proposal::ProposalProcessBase
using calc_key_t = std::pair< std::size_t, Code >
 
- Protected Member Functions inherited from corsika::proposal::ProposalProcessBase
template<typename TEnvironment >
 ProposalProcessBase (TEnvironment const &_env)
 Store cut and nuclear composition of the whole universe in media which are required for creating crosssections by proposal.
 
bool canInteract (Code pcode) const
 Checks if a particle can be processed by proposal.
 
template<typename Particle , typename Calculators >
auto getCalculator (Particle &vP, Calculators &calc)
 Searches the particle dependet calculator dependent of actuall medium composition and particle type. If no calculator is found, the corresponding new calculator is built and then returned.
 
- Protected Attributes inherited from corsika::proposal::ProposalProcessBase
default_prng_type & RNG_ = RNGManager<>::getInstance().getRandomStream("proposal")
 
std::unordered_map< std::size_t, PROPOSAL::Medium > media
 maps nuclear composition from univers to media to produce crosssections, which requires further ionization constants.
 

Detailed Description

template<class THadronicLEModel, class THadronicHEModel>
class corsika::proposal::InteractionModel< THadronicLEModel, THadronicHEModel >

Electro-magnetic and photon stochastic losses produced by proposal. It makes use of interpolation tables which are runtime intensive calculation, but can be reused by setting the.

Parameters
PROPOSAL::InterpolationDef::path_to_tablesvariable. Hadroninc interactions of photons with nuclei are included. The cross section is calculated by PROPOSAL. For the production of hadronic secondaries an external model is needed that implements the doInteraction(TSecondaries& view, Code const projectile, Code const target,FourMomentum const& projectileP4, FourMomentum const& targetP4) routine.
Template Parameters
THadronicModel

Definition at line 37 of file InteractionModel.hpp.

Member Function Documentation

◆ doInteraction()

template<class THadronicLEModel, class THadronicHEModel>
template<typename TSecondaryView >
ProcessReturn corsika::proposal::InteractionModel< THadronicLEModel, THadronicHEModel >::doInteraction ( TSecondaryView &  ,
Code const  projectileId,
FourMomentum const &  projectileP4 
)

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. interactions in PROPOSAL are:

InteractionType::Particle InteractionType::Brems InteractionType::Ioniz InteractionType::Epair InteractionType::Photonuclear InteractionType::MuPair InteractionType::Hadrons InteractionType::ContinuousEnergyLoss InteractionType::WeakInt InteractionType::Compton InteractionType::Decay InteractionType::Annihilation InteractionType::Photopair InteractionType::Photoproduction InteractionType::Photoeffect

more information can be found at: https://github.com/tudo-astroparticlephysics/PROPOSAL


The documentation for this class was generated from the following file: