ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t > Struct Template Reference

Single particle simulation with fixed propagator, interactions, and decay. More...

#include <ActsFatras/Kernel/Simulation.hpp>

Collaboration diagram for ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >:
[legend]

Public Member Functions

 SingleParticleSimulation (propagator_t &&propagator_, std::unique_ptr< const Acts::Logger > _logger)
 Alternatively construct the simulator with an external logger.
template<typename generator_t>
Acts::Result< SimulationResultsimulate (const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, generator_t &generator, const Particle &particle) const
 Simulate a single particle without secondaries.

Public Attributes

decay_t decay
 Decay module.
interactions_t interactions
 Interaction list containing the simulated interactions.
std::unique_ptr< const Acts::Loggerlogger
 Logger for debug output.
double maxStepSize = std::numeric_limits<double>::max()
 Absolute maximum step size.
double pathLimit = std::numeric_limits<double>::max()
 Absolute maximum path length.
propagator_t propagator
 How and within which geometry to propagate the particle.
hit_surface_selector_t selectHitSurface
 Selector for surfaces that should generate hits.

Detailed Description

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
struct ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >

Single particle simulation with fixed propagator, interactions, and decay.

Template Parameters
generator_trandom number generator
interactions_tinteraction list
hit_surface_selector_tselector for hit surfaces
decay_tdecay module

Constructor & Destructor Documentation

◆ SingleParticleSimulation()

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::SingleParticleSimulation ( propagator_t && propagator_,
std::unique_ptr< const Acts::Logger > _logger )

Alternatively construct the simulator with an external logger.

Parameters
propagator_Propagator to use for particle simulation
_loggerLogger instance for debug output

Member Function Documentation

◆ simulate()

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
template<typename generator_t>
Acts::Result< SimulationResult > ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::simulate ( const Acts::GeometryContext & geoCtx,
const Acts::MagneticFieldContext & magCtx,
generator_t & generator,
const Particle & particle ) const

Simulate a single particle without secondaries.

Template Parameters
generator_tis the type of the random number generator
Parameters
geoCtxis the geometry context to access surface geometries
magCtxis the magnetic field context to access field values
generatoris the random number generator
particleis the initial particle state
Returns
Simulated particle state, hits, and generated particles.

Member Data Documentation

◆ decay

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
decay_t ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::decay

Decay module.

◆ interactions

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
interactions_t ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::interactions

Interaction list containing the simulated interactions.

◆ logger

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
std::unique_ptr<const Acts::Logger> ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::logger

Logger for debug output.

◆ maxStepSize

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
double ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::maxStepSize = std::numeric_limits<double>::max()

Absolute maximum step size.

◆ pathLimit

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
double ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::pathLimit = std::numeric_limits<double>::max()

Absolute maximum path length.

◆ propagator

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
propagator_t ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::propagator

How and within which geometry to propagate the particle.

◆ selectHitSurface

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
hit_surface_selector_t ActsFatras::SingleParticleSimulation< propagator_t, interactions_t, hit_surface_selector_t, decay_t >::selectHitSurface

Selector for surfaces that should generate hits.