EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t > Struct Template Reference

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

Public Member Functions

template<typename generator_t >
bool operator() (generator_t &generator, const Acts::MaterialSlab &slab, Particle &particle, std::vector< Particle > &generated) const
 

Public Attributes

physics_t physics
 The physics interactions implementation.
 
input_selector_t selectInput
 Input selection: if this process applies to material + particle.
 
output_particle_selector_t selectOutputParticle
 Output selection: if the particle is still valid after the interaction.
 
child_particle_selector_t selectChildParticle
 Child selection: if a generated child particle should be kept.
 

Detailed Description

template<typename physics_t, typename input_selector_t = EveryInput, typename output_particle_selector_t = EveryParticle, typename child_particle_selector_t = output_particle_selector_t>
struct ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >

A simulation process based on a physics interaction plus selectors.

Template Parameters
physics_tis the physics interaction type
input_selector_tis the input material + particle selector
output_particle_selector_tis the output particle selector
child_particle_selector_tis the child particle selector

The input selector defines whether the interaction is applied while the output selector defines a break condition, i.e. whether to continue simulating the particle propagation. The child selector is used to filter the generated child particles.

Note
The output and child particle selectors are identical unless the child particle selector is explicitely specified.

Definition at line 54 of file Process.hpp.

View newest version in sPHENIX GitHub at line 54 of file Process.hpp

Member Function Documentation

template<typename physics_t, typename input_selector_t = EveryInput, typename output_particle_selector_t = EveryParticle, typename child_particle_selector_t = output_particle_selector_t>
template<typename generator_t >
bool ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::operator() ( generator_t &  generator,
const Acts::MaterialSlab slab,
Particle particle,
std::vector< Particle > &  generated 
) const
inline

Execute the physics process considering the configured selectors.

Parameters
[in]generatoris the random number generator
[in]slabis the passed material
[in,out]particleis the particle being updated
[out]generatedis the container of generated particles
Returns
Break condition, i.e. whether this process stops the propagation
Template Parameters
generator_tmust be a RandomNumberEngine

Definition at line 74 of file Process.hpp.

View newest version in sPHENIX GitHub at line 74 of file Process.hpp

References ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::physics, ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::selectChildParticle, ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::selectInput, and ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::selectOutputParticle.

Member Data Documentation

template<typename physics_t, typename input_selector_t = EveryInput, typename output_particle_selector_t = EveryParticle, typename child_particle_selector_t = output_particle_selector_t>
physics_t ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::physics

The physics interactions implementation.

Definition at line 56 of file Process.hpp.

View newest version in sPHENIX GitHub at line 56 of file Process.hpp

Referenced by ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::operator()().

template<typename physics_t, typename input_selector_t = EveryInput, typename output_particle_selector_t = EveryParticle, typename child_particle_selector_t = output_particle_selector_t>
child_particle_selector_t ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::selectChildParticle

Child selection: if a generated child particle should be kept.

Definition at line 62 of file Process.hpp.

View newest version in sPHENIX GitHub at line 62 of file Process.hpp

Referenced by BOOST_AUTO_TEST_CASE(), and ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::operator()().

template<typename physics_t, typename input_selector_t = EveryInput, typename output_particle_selector_t = EveryParticle, typename child_particle_selector_t = output_particle_selector_t>
input_selector_t ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::selectInput

Input selection: if this process applies to material + particle.

Definition at line 58 of file Process.hpp.

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

Referenced by BOOST_AUTO_TEST_CASE(), and ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::operator()().

template<typename physics_t, typename input_selector_t = EveryInput, typename output_particle_selector_t = EveryParticle, typename child_particle_selector_t = output_particle_selector_t>
output_particle_selector_t ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::selectOutputParticle

Output selection: if the particle is still valid after the interaction.

Definition at line 60 of file Process.hpp.

View newest version in sPHENIX GitHub at line 60 of file Process.hpp

Referenced by BOOST_AUTO_TEST_CASE(), ActsFatras::makeChargedElectroMagneticPhysicsList(), and ActsFatras::Process< physics_t, input_selector_t, output_particle_selector_t, child_particle_selector_t >::operator()().


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