|
ACTS
Experiment-independent tracking
|
A continuous simulation process based on a physics model plus selectors. More...
#include <ActsFatras/Kernel/ContinuousProcess.hpp>
Public Member Functions | |
| template<typename generator_t> | |
| bool | operator() (generator_t &generator, const Acts::MaterialSlab &slab, Particle &particle, std::vector< Particle > &generated) const |
| Execute the physics process considering the configured selectors. | |
Public Attributes | |
| physics_t | physics |
| The physics interactions implementation. | |
| child_particle_selector_t | selectChildParticle |
| Child selection: if a generated child particle should be kept. | |
| input_particle_selector_t | selectInputParticle |
| Input selection: if this process applies to this particle. | |
| output_particle_selector_t | selectOutputParticle |
| Output selection: if the particle is still valid after the interaction. | |
A continuous simulation process based on a physics model plus selectors.
| physics_t | is the physics model type |
| input_particle_selector_t | is the input particle selector |
| output_particle_selector_t | is the output particle selector |
| child_particle_selector_t | is the child particle selector |
The physics model type must provide a call operator with the following signature
<Particle Container>
operator()(
generator_t& generator,
const Acts::MaterialSlab& slab,
Particle& particle) const
The return type can be any Container with Particle elements.
The input selector defines whether the process is applied while the output selector defines a break condition, i.e. whether to continue simulating the particle propagation. The child selector is used to filter the generated child particles.
| bool ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::operator() | ( | generator_t & | generator, |
| const Acts::MaterialSlab & | slab, | ||
| Particle & | particle, | ||
| std::vector< Particle > & | generated ) const |
Execute the physics process considering the configured selectors.
| [in] | generator | is the random number generator |
| [in] | slab | is the passed material |
| [in,out] | particle | is the particle being updated |
| [out] | generated | is the container of generated particles |
| generator_t | must be a RandomNumberEngine |
| physics_t ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::physics |
The physics interactions implementation.
| child_particle_selector_t ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectChildParticle |
Child selection: if a generated child particle should be kept.
| input_particle_selector_t ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectInputParticle |
Input selection: if this process applies to this particle.
| output_particle_selector_t ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectOutputParticle |
Output selection: if the particle is still valid after the interaction.