Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t > Struct Template Reference

#include <acts-fatras/blob/master/Core/include/Fatras/Kernel/Interactor.hpp>

Classes

struct  this_result
 

Public Types

using PhysicsList_t = physics_list_t
 
typedef this_result result_type
 

Public Member Functions

template<typename propagator_state_t , typename stepper_t >
void operator() (propagator_state_t &state, stepper_t &stepper, result_type &result) const
 
template<typename propagator_state_t , typename stepper_t >
void operator() (propagator_state_t &, stepper_t &) const
 

Public Attributes

generator_t * generator = nullptr
 The random generator to be spawnper event.
 
sensitive_selector_t sensitiveSelector
 The slector for sensitive surfaces.
 
physics_list_t physicsList
 The physics list provided for this call.
 
particle_t initialParticle
 Simple result struct to be returned.
 
hit_creator_t hitCreator
 The hit creator helper class.
 

Detailed Description

template<typename generator_t, typename particle_t, typename hit_t, typename hit_creator_t, typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
struct Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >

The Fatras Interactor

This is the Fatras plugin to the ACTS Propagator, it replaces the MaterialInteractor of the reconstruction

Template Parameters
generator_tType of the random generator
particle_tis Type of the particle
hit_tType of the simulated hit
hit_creator_tType of the hit creator (does thruth association)
sensitive_selector_tThe Selector type to identify sensitive surfaces
physics_list_tType of Extendable physics list that is called
decay_list_tType of Extendable decay list that is called

The physics list plays a central role in this DetectorInteractor it is called on each process that is defined at compile time if a process triggers an abort, this will be forwarded to the propagation cache.

Definition at line 51 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 51 of file Interactor.hpp

Member Typedef Documentation

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
using Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::PhysicsList_t = physics_list_t

Definition at line 52 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 52 of file Interactor.hpp

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
typedef this_result Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::result_type

Definition at line 86 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 86 of file Interactor.hpp

Member Function Documentation

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
template<typename propagator_state_t , typename stepper_t >
void Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::operator() ( propagator_state_t &  state,
stepper_t &  stepper,
result_type result 
) const
inline

Interaction with detector material for the ActionList of the Propagator

It checks if the cache has a current surface, in which case the action is performed according to the physics list content.

Eventual particles produced in electromagnetic or hadronic interactions are stored in the result struct and can thus be retrieved by the caller

Template Parameters
propagator_state_tis the type of Propagtor state
stepper_tthe type of the Stepper for the access to the state
Parameters
stateis the mutable propagator state object
stepperis the propagation stepper object
resultis the mutable result cache object

return value is void as it is a standard actor in the propagation

< todo calculate from delta time

Definition at line 106 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 106 of file Interactor.hpp

References Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::generator, Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::hitCreator, Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::this_result::initialized, Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::initialParticle, testing::internal::move(), Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::this_result::outgoing, merge_hashes::p, Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::this_result::particle, Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::physicsList, position, Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::sensitiveSelector, and Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::this_result::simulatedHits.

+ Here is the call graph for this function:

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
template<typename propagator_state_t , typename stepper_t >
void Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::operator() ( propagator_state_t &  ,
stepper_t &   
) const
inline

Pure observer interface This does not apply to the Fatras simulator

Definition at line 168 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 168 of file Interactor.hpp

Member Data Documentation

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
generator_t* Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::generator = nullptr

The random generator to be spawnper event.

Definition at line 55 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 55 of file Interactor.hpp

Referenced by Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::operator()().

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
hit_creator_t Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::hitCreator

The hit creator helper class.

Definition at line 67 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 67 of file Interactor.hpp

Referenced by Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::operator()().

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
particle_t Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::initialParticle

Simple result struct to be returned.

Definition at line 64 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 64 of file Interactor.hpp

Referenced by Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::operator()().

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
physics_list_t Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::physicsList

The physics list provided for this call.

Definition at line 61 of file Interactor.hpp.

View newest version in sPHENIX GitHub at line 61 of file Interactor.hpp

Referenced by Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::operator()().

template<typename generator_t , typename particle_t , typename hit_t , typename hit_creator_t , typename sensitive_selector_t = VoidSelector, typename physics_list_t = PhysicsList<>>
sensitive_selector_t Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::sensitiveSelector

The slector for sensitive surfaces.

Definition at line 58 of file Interactor.hpp.

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

Referenced by Fatras::Interactor< generator_t, particle_t, hit_t, hit_creator_t, sensitive_selector_t, physics_list_t >::operator()().


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