EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t > Struct Template Reference

#include <acts/blob/sPHENIX/Fatras/include/ActsFatras/Kernel/Simulator.hpp>

Public Member Functions

 ParticleSimulator (propagator_t &&propagator_, Acts::Logging::Level lvl)
 Construct the simulator with the underlying propagator.
 
const Acts::Loggerlogger () const
 Provide access to the local logger instance, e.g. for logging macros.
 
template<typename generator_t >
Acts::Result< SimulationResultsimulate (const Acts::GeometryContext &geoCtx, const Acts::MagneticFieldContext &magCtx, generator_t &generator, const Particle &particle) const
 

Public Attributes

propagator_t propagator
 How and within which geometry to propagate the particle.
 
physics_list_t physics
 What should be simulated. Will be copied to the per-call interactor.
 
hit_surface_selector_t selectHitSurface
 Where hits are registiered. Will be copied to the per-call interactor.
 
std::shared_ptr< const
Acts::Logger
localLogger = nullptr
 Local logger for debug output.
 

Detailed Description

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

Single particle simulator with a fixed propagator and physics list.

Template Parameters
propagator_tis the type of the underlying propagator
physics_list_tis the type of the simulated physics list
hit_surface_selector_tis the type that selects hit surfaces

Definition at line 42 of file Simulator.hpp.

View newest version in sPHENIX GitHub at line 42 of file Simulator.hpp

Constructor & Destructor Documentation

template<typename propagator_t, typename physics_list_t, typename hit_surface_selector_t>
ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::ParticleSimulator ( propagator_t &&  propagator_,
Acts::Logging::Level  lvl 
)
inline

Construct the simulator with the underlying propagator.

Definition at line 53 of file Simulator.hpp.

View newest version in sPHENIX GitHub at line 53 of file Simulator.hpp

Member Function Documentation

template<typename propagator_t, typename physics_list_t, typename hit_surface_selector_t>
const Acts::Logger& ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::logger ( ) const
inline

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

Definition at line 58 of file Simulator.hpp.

View newest version in sPHENIX GitHub at line 58 of file Simulator.hpp

References ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::localLogger.

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

Simulate a single particle without secondaries.

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
the result of the corresponding Interactor propagator action.
Template Parameters
generator_tis the type of the random number generator

Definition at line 70 of file Simulator.hpp.

View newest version in sPHENIX GitHub at line 70 of file Simulator.hpp

References ActsFatras::Particle::absMomentum(), ActsFatras::Particle::charge(), Acts::Test::generator(), ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::localLogger, ActsFatras::Particle::mass(), eicpy.build::options, particle, ActsFatras::Particle::pdg(), ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::physics, ActsFatras::Particle::position4(), ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::propagator, ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::selectHitSurface, start(), and ActsFatras::Particle::unitDirection().

+ Here is the call graph for this function:

Member Data Documentation

template<typename propagator_t, typename physics_list_t, typename hit_surface_selector_t>
std::shared_ptr<const Acts::Logger> ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::localLogger = nullptr
template<typename propagator_t, typename physics_list_t, typename hit_surface_selector_t>
physics_list_t ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::physics

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

Definition at line 46 of file Simulator.hpp.

View newest version in sPHENIX GitHub at line 46 of file Simulator.hpp

Referenced by ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::simulate().

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

How and within which geometry to propagate the particle.

Definition at line 44 of file Simulator.hpp.

View newest version in sPHENIX GitHub at line 44 of file Simulator.hpp

Referenced by ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::simulate().

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

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

Definition at line 48 of file Simulator.hpp.

View newest version in sPHENIX GitHub at line 48 of file Simulator.hpp

Referenced by ActsFatras::ParticleSimulator< propagator_t, physics_list_t, hit_surface_selector_t >::simulate().


The documentation for this struct was generated from the following file: