Template Struct ParticleSimulator

Struct Documentation

template<typename propagator_t, typename physics_list_t, typename hit_surface_selector_t>
struct ActsFatras::ParticleSimulator

Single particle simulator with a fixed propagator and physics list.

Template Parameters
  • propagator_t: is the type of the underlying propagator

  • physics_list_t: is the type of the simulated physics list

  • hit_surface_selector_t: is the type that selects hit surfaces

Public Functions

ParticleSimulator(propagator_t &&propagator_, Acts::Logging::Level lvl)

Construct the simulator with the underlying propagator.

const Acts::Logger &logger() const

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

template<typename generator_t>
Acts::Result<InteractorResult> simulate(const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, generator_t &generator, const Particle &particle) const

Simulate a single particle without secondaries.

Return

the result of the corresponding Interactor propagator action.

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

Template Parameters
  • generator_t: is the type of the random number generator

Public Members

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

Local logger for debug output.

physics_list_t physics

What should be simulated. Will be copied to the per-call interactor.

propagator_t propagator

How and within which geometry to propagate the particle.

hit_surface_selector_t selectHitSurface

Where hits are registiered. Will be copied to the per-call interactor.