CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::DecayProcess< TDerived > Struct Template Reference

Process decribing the decay of particles. More...

#include <DecayProcess.hpp>

Inheritance diagram for corsika::DecayProcess< TDerived >:

Public Member Functions

template<typename TParticle >
InverseTimeType getInverseLifetime (TParticle const &particle)
 

Additional Inherited Members

- Public Types inherited from corsika::BaseProcess< TDerived >
using process_type = TDerived
 Base processor type for use in other template classes.
 
- Static Public Attributes inherited from corsika::BaseProcess< TDerived >
static bool const is_process_sequence = false
 
static bool const is_switch_process_sequence = false
 
- Protected Member Functions inherited from corsika::BaseProcess< TDerived >
TDerived & getRef ()
 
const TDerived & getRef () const
 
- Protected Attributes inherited from corsika::BaseProcess< TDerived >
friend TDerived
 

Detailed Description

template<typename TDerived>
struct corsika::DecayProcess< TDerived >

Process decribing the decay of particles.

Create a new DecayProcess, e.g. for XYModel, via

class XYModel : public DecayProcess<XYModel> {};

and provide the two necessary interface methods

template <typename TSecondaryView>
void XYModel::doDecay(TSecondaryView&);
template <typename TParticle>
TimeType getLifetime(TParticle const&)

Where, of course, SecondaryView and Particle are the valid classes to access particles on the Stack. In user code those two methods do not need to be templated, they could use the types e.g. corsika::setup::Stack::particle_type – but by the cost of loosing all flexibility otherwise provided.

SecondaryView allows to retrieve the properties of the projectile particles, AND to store new particles (secondaries) which then subsequently can be processes by SecondariesProcess. This is how the output of decays can be studied right away.

Definition at line 51 of file DecayProcess.hpp.


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