Struct MaterialInteractor¶
Defined in File MaterialInteractor.hpp
Nested Relationships¶
Nested Types¶
Struct Documentation¶
-
struct
Acts
::
MaterialInteractor
¶ Material interactor propagator action.
Apply material interactions at a surface and update the track state.
Public Functions
-
template<typename
propagator_state_t
, typenamestepper_t
>
voidoperator()
(propagator_state_t &state, const stepper_t &stepper, result_type &result) const¶ Interaction with detector material for the ActionList of the Propagator.
It checks if the state has a current surface, in which case the action is performed: the covariance is transported to the position, multiple scattering and energy loss is applied according to the configuration.
- Template Parameters
propagator_state_t
: is the type of Propagagor statestepper_t
: Type of the stepper of the propagation
- Parameters
state
: is the mutable propagator state objectstepper
: The stepper in useresult
: is the mutable result state object
-
template<typename
propagator_state_t
>
voidoperator()
(propagator_state_t&) const¶ Material interaction has no pure observer.
Public Members
-
bool
energyLoss
= true¶ Whether to consider energy loss.
-
bool
multipleScattering
= true¶ Whether to consider multiple scattering.
-
bool
recordInteractions
= false¶ Whether to record all material interactions.
-
struct
Result
¶ Simple result struct to be returned It mainly acts as an internal state which is created for every propagation/extrapolation step.
Public Members
-
double
materialInL0
= 0.¶ The accumulated materialInL0.
-
std::vector<MaterialInteraction>
materialInteractions
¶ This one is only filled when recordInteractions is switched on.
-
double
materialInX0
= 0.¶
-
double
-
template<typename