|
ACTS
Experiment-independent tracking
|
Actor that applies random energy loss and multiple scattering in material. More...
#include <detray/test/utils/random_scatterer.hpp>
Classes | |
| struct | kernel |
| Material store visitor. More... | |
| struct | state |
| Per-propagation state for random scattering and energy loss. More... | |
Public Types | |
| using | interaction_type = interaction<scalar_type> |
| Material interaction calculator type. | |
| using | scalar_type = dscalar<algebra_t> |
| Scalar type used for the simulation quantities. | |
| using | transform3_type = dtransform3D<algebra_t> |
| 3D transform type. | |
| using | vector3_type = dvector3D<algebra_t> |
| 3D vector type used for directions. | |
Public Member Functions | |
| template<typename generator_t> | |
| scalar_type | attenuate (const scalar_type mpv, const scalar_type sigma, const scalar_type m0, const scalar_type p0, generator_t &generator) const |
| Get the new momentum from the landau distribution. | |
| template<typename propagator_state_t> | |
| void | operator() (state &simulator_state, propagator_state_t &prop_state, parameter_transporter_result< algebra_t > &res) const |
| Apply the sampled material effects to the transported parameters. | |
| template<typename generator_t> | |
| vector3_type | scatter (const vector3_type &dir, const scalar_type projected_scattering_angle, generator_t &generator) const |
| Scatter the direction with projected scattering angle. | |
Actor that applies random energy loss and multiple scattering in material.
| scalar_type detray::actor::random_scatterer< algebra_t >::attenuate | ( | const scalar_type | mpv, |
| const scalar_type | sigma, | ||
| const scalar_type | m0, | ||
| const scalar_type | p0, | ||
| generator_t & | generator ) const |
Get the new momentum from the landau distribution.
| mpv | Most probable energy loss. |
| sigma | Energy loss scale. |
| m0 | Particle mass. |
| p0 | Initial momentum magnitude. |
| generator | Random number generator. |
| void detray::actor::random_scatterer< algebra_t >::operator() | ( | state & | simulator_state, |
| propagator_state_t & | prop_state, | ||
| parameter_transporter_result< algebra_t > & | res ) const |
Apply the sampled material effects to the transported parameters.
| simulator_state | Actor state with material effects and RNG. |
| prop_state | Propagator state. |
| res | Parameter transport result to update. |
| vector3_type detray::actor::random_scatterer< algebra_t >::scatter | ( | const vector3_type & | dir, |
| const scalar_type | projected_scattering_angle, | ||
| generator_t & | generator ) const |
Scatter the direction with projected scattering angle.
| dir | input direction |
| projected_scattering_angle | projected scattering angle |
| generator | random generator |