Struct ActsFatras::SingleParticleSimulation

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

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

Template Parameters
  • generator_t – random number generator

  • interactions_t – interaction list

  • hit_surface_selector_t – selector for hit surfaces

  • decay_t – decay module

Public Functions

inline SingleParticleSimulation(propagator_t &&propagator_, std::shared_ptr<const Acts::Logger> localLogger_)

Alternatively construct the simulator with an external logger.

inline const Acts::Logger &logger() const

Provide access to the local logger instance, e.g. for logging macros.

template<typename generator_t>
inline Acts::Result<SimulationResult> 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_t – is the type of the random number generator

Parameters
  • geoCtx – is the geometry context to access surface geometries

  • magCtx – is the magnetic field context to access field values

  • generator – is the random number generator

  • particle – is the initial particle state

Returns

Simulated particle state, hits, and generated particles.

Public Members

decay_t decay

Decay module.

interactions_t interactions

Interaction list containing the simulated interactions.

std::shared_ptr<const Acts::Logger> localLogger = nullptr

Local logger for debug output.

Acts::LoggerWrapper loggerWrapper = Acts::getDummyLogger()

Wrapped logger for debug output.

propagator_t propagator

How and within which geometry to propagate the particle.

hit_surface_selector_t selectHitSurface

Selector for surfaces that should generate hits.