Celeritas  0.5.0-86+4a8eea4
Static Public Member Functions | Public Attributes | List of all members
celeritas::MscStep Struct Reference

Step lengths and properties needed to apply multiple scattering. More...

#include <Interaction.hh>

Static Public Member Functions

static CELER_CONSTEXPR_FUNCTION real_type small_step_alpha ()
 Use a small step approximation for the path length correction.
 

Public Attributes

bool is_displaced {true}
 Flag for the lateral displacement.
 
real_type true_path {}
 True path length due to the msc [len].
 
real_type geom_path {}
 Geometrical path length [len].
 
real_type alpha = small_step_alpha()
 Scaled MFP slope [1/len].
 

Detailed Description

Step lengths and properties needed to apply multiple scattering.

Todo:
Document and/or refactor into a class that hides details
  • alpha == small_step_alpha() ? "true path is very small" (true path scaling changes)
  • is_displaced == false ? limit_min is unchanged and alpha == small_step_alpha()
  • true_step >= geom_path

The value \( \alpha \) is used in the approximation of the MSC transport cross section as a linear function over the current step. It is the negative slope of the transport MFP from start to stop, divided by the starting MFP. (Since the transport cross section generally decreases monotonically with increasing energy over the step, alpha will usually be positive or zero for the step. Some known errors in the cross sections for positrons result in negative alpha around a discontinuity at 10 MeV.)


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