Template Struct SingleParticleSimulation

Struct Documentation

template<typename propagator_t, typename interactions_t, typename hit_surface_selector_t, typename decay_t>
struct ActsFatras::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

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

Alternatively construct the simulator with an external logger.

const Acts::Logger &logger() const

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

template<typename generator_t>
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.

Return

Simulated particle state, hits, and generated particles.

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

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.