|
CORSIKA
@c8_version@
The framework to simulate particle cascades for astroparticle physics
|
#include <InteractionLengthModifier.hpp>

Public Types | |
| using | functor_signature = GrammageType(GrammageType, corsika::Code, HEPEnergyType) |
| The signature of the modifying functor. Arguments are original int. length, PID, energy. | |
Public Types inherited from corsika::BaseProcess< InteractionLengthModifier< TUnderlyingProcess > > | |
| using | process_type = InteractionLengthModifier< TUnderlyingProcess > |
| Base processor type for use in other template classes. | |
Public Member Functions | |
| InteractionLengthModifier (TUnderlyingProcess &&process, std::function< functor_signature > modifier) | |
| Create wrapper around InteractionProcess. More... | |
| template<typename TSecondaryView > | |
| void | doInteraction (TSecondaryView &view) |
| wrapper around internal process doInteraction | |
| template<typename TParticle > | |
| GrammageType | getInteractionLength (TParticle const &particle) |
| ! returns underlying process getInteractionLength modified | |
| TUnderlyingProcess const & | getProcess () const |
| ! obtain reference to wrapped process | |
| TUnderlyingProcess & | getProcess () |
Additional Inherited Members | |
Static Public Attributes inherited from corsika::BaseProcess< InteractionLengthModifier< TUnderlyingProcess > > | |
| static bool const | is_process_sequence |
| static bool const | is_switch_process_sequence |
Protected Member Functions inherited from corsika::BaseProcess< InteractionLengthModifier< TUnderlyingProcess > > | |
| InteractionLengthModifier< TUnderlyingProcess > & | getRef () |
| const InteractionLengthModifier< TUnderlyingProcess > & | getRef () const |
Protected Attributes inherited from corsika::BaseProcess< InteractionLengthModifier< TUnderlyingProcess > > | |
| friend | TDerived |
Wrapper around an InteractionProcess that allows modifying the interaction length returned by the underlying process in a user-defined way. *
Definition at line 26 of file InteractionLengthModifier.hpp.
| corsika::InteractionLengthModifier< TUnderlyingProcess >::InteractionLengthModifier | ( | TUnderlyingProcess && | process, |
| std::function< functor_signature > | modifier | ||
| ) |
Create wrapper around InteractionProcess.
Note that the passed process object itself may no longer be used, only through this class.