|
ACTS
Experiment-independent tracking
|
A point like simulation process based on a physics model plus selectors. More...
#include <ActsFatras/Kernel/PointLikeProcess.hpp>
Public Member Functions | |
| template<class generator_t> | |
| std::pair< double, double > | generatePathLimits (generator_t &generator, const Particle &particle) const |
| Generate path limits for the process. | |
| template<class generator_t> | |
| bool | run (generator_t &rng, Particle &particle, std::vector< Particle > &generatedParticles) const |
| Run the process. | |
A point like 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 two member functions
// generate X0/L0 limits
template <typename generator_t>
std::pair<Scalar, Scalar>
generatePathLimits(
generator& rng,
const Particle& particle) const
// run the process simulation
template <typename generator_t>
bool
run(
generator_t& rng,
Particle& particle,
std::vector<Particle>& generatedParticles) const
The return type of generatePathLimits() 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.
| std::pair< double, double > ActsFatras::PointLikeProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::generatePathLimits | ( | generator_t & | generator, |
| const Particle & | particle ) const |
Generate path limits for the process.
| generator | Random number generator |
| particle | Input particle |
| bool ActsFatras::PointLikeProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::run | ( | generator_t & | rng, |
| Particle & | particle, | ||
| std::vector< Particle > & | generatedParticles ) const |
Run the process.
| rng | Random number generator |
| particle | Input particle |
| generatedParticles | Output vector of generated particles |