CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::EMThinning Class Reference

This process implements thinning for EM splitting processes (1 -> 2). More...

#include <EMThinning.hpp>

Inheritance diagram for corsika::EMThinning:

Public Member Functions

 EMThinning (HEPEnergyType threshold, double maxWeight, bool const eraseParticles=true)
 Construct a new EMThinning process. More...
 
template<typename TStackView >
void doSecondaries (TStackView &)
 Apply thinning to secondaries. More...
 

Additional Inherited Members

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

Detailed Description

This process implements thinning for EM splitting processes (1 -> 2).

Definition at line 23 of file EMThinning.hpp.

Constructor & Destructor Documentation

◆ EMThinning()

corsika::EMThinning::EMThinning ( HEPEnergyType  threshold,
double  maxWeight,
bool const  eraseParticles = true 
)

Construct a new EMThinning process.

Parameters
thresholdthinning applied below this energy
maxWeightmaximum allowed weight

Member Function Documentation

◆ doSecondaries()

template<typename TStackView >
void corsika::EMThinning::doSecondaries ( TStackView &  )

Apply thinning to secondaries.

Only EM primaries with two EM secondaries are considered.

If the maximum weight is still out of reach, Hillas thinning is applied (i.e. one of the two secondaries is kept, the other one discarded). If the acceptance probabilities would lead to a weight factor exceeding the maximum weight, we resort to statistical thinning (i.e. the secondaries are kept/discared randomly each on is own). In that case, acceptance probabilities can be assigned without constraints (sum does not need to be 1) and we increase the acceptance probability such that the maximum weight is not exceeded.


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