CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::proposal::ContinuousProcess< TOutput > Class Template Reference

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

#include <ContinuousProcess.hpp>

Inheritance diagram for corsika::proposal::ContinuousProcess< TOutput >:

Public Member Functions

template<typename TEnvironment , typename... TOutputArgs>
 ContinuousProcess (TEnvironment const &, TOutputArgs &&...)
 Produces the continuous loss calculator for leptons based on nuclear compositions and stochastic description limited by the particle cut.
 
template<typename TParticle >
void scatter (Step< TParticle > &, HEPEnergyType const &, GrammageType const &)
 Multiple Scattering of the lepton. Stochastic deflection is not yet taken into account. Displacment of the track due to multiple scattering is not possible because of the constant referernce. The final direction will be updated anyway.
 
template<typename TParticle >
ProcessReturn doContinuous (Step< TParticle > &, bool const limitFlag)
 Produces the loss and deflection after given distance for the particle. If the particle if below the given energy threshold where it will be considered stochastically, it will be absorbed. More...
 
template<typename TParticle , typename TTrack >
LengthType getMaxStepLength (TParticle const &, TTrack const &)
 Calculates maximal step length of process.
 
YAML::Node getConfig () const
 Provide the config as YAML object to be stored on disk as output.
 

Additional Inherited Members

- Public Types inherited from corsika::BaseProcess< proposal::ContinuousProcess< TOutput > >
using process_type = proposal::ContinuousProcess< TOutput >
 Base processor type for use in other template classes.
 
- Static Public Attributes inherited from corsika::BaseProcess< proposal::ContinuousProcess< TOutput > >
static bool const is_process_sequence
 
static bool const is_switch_process_sequence
 
- Protected Types inherited from corsika::proposal::ProposalProcessBase
using calc_key_t = std::pair< std::size_t, Code >
 
- Protected Member Functions inherited from corsika::BaseProcess< proposal::ContinuousProcess< TOutput > >
proposal::ContinuousProcess< TOutput > & getRef ()
 
const proposal::ContinuousProcess< TOutput > & getRef () const
 
- 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::BaseProcess< proposal::ContinuousProcess< TOutput > >
friend TDerived
 
- 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<typename TOutput = WriterOff>
class corsika::proposal::ContinuousProcess< TOutput >

Electro-magnetic and photon continous 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.

Definition at line 35 of file ContinuousProcess.hpp.

Member Function Documentation

◆ doContinuous()

template<typename TOutput = WriterOff>
template<typename TParticle >
ProcessReturn corsika::proposal::ContinuousProcess< TOutput >::doContinuous ( Step< TParticle > &  ,
bool const  limitFlag 
)

Produces the loss and deflection after given distance for the particle. If the particle if below the given energy threshold where it will be considered stochastically, it will be absorbed.

Parameters
limitFlagis true, if the track was actually limited by proposal::ContinuousProcess::getMaxStepLength

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