Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t > Struct Template Reference

#include <acts/blob/sPHENIX/Fatras/include/ActsFatras/Kernel/ContinuousProcess.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_particle_selector_t selectInputParticle
 Input selection: if this process applies to this 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_particle_selector_t, typename output_particle_selector_t, typename child_particle_selector_t = output_particle_selector_t>
struct ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >

A continuous simulation process based on a physics model plus selectors.

Template Parameters
physics_tis the physics model type
input_particle_selector_tis the input particle selector
output_particle_selector_tis the output particle selector
child_particle_selector_tis the child particle selector

The physics model type must provide a call operator with the following signature

<Particle Container>
operator()(
    generator_t& generator,
    const Acts::MaterialSlab& slab,
    Particle& particle) const

The return type can be any Container with Particle elements.

The input selector defines whether the process 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 44 of file ContinuousProcess.hpp.

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

Member Function Documentation

template<typename physics_t, typename input_particle_selector_t, typename output_particle_selector_t, typename child_particle_selector_t = output_particle_selector_t>
template<typename generator_t >
bool ActsFatras::ContinuousProcess< physics_t, input_particle_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 64 of file ContinuousProcess.hpp.

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

References parse_cmake_options::begin, end, ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::physics, ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectChildParticle, ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectInputParticle, and ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectOutputParticle.

Member Data Documentation

template<typename physics_t, typename input_particle_selector_t, typename output_particle_selector_t, typename child_particle_selector_t = output_particle_selector_t>
physics_t ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::physics

The physics interactions implementation.

Definition at line 46 of file ContinuousProcess.hpp.

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

Referenced by ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::operator()().

template<typename physics_t, typename input_particle_selector_t, typename output_particle_selector_t, typename child_particle_selector_t = output_particle_selector_t>
child_particle_selector_t ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectChildParticle

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

Definition at line 52 of file ContinuousProcess.hpp.

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

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

template<typename physics_t, typename input_particle_selector_t, typename output_particle_selector_t, typename child_particle_selector_t = output_particle_selector_t>
input_particle_selector_t ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectInputParticle

Input selection: if this process applies to this particle.

Definition at line 48 of file ContinuousProcess.hpp.

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

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

template<typename physics_t, typename input_particle_selector_t, typename output_particle_selector_t, typename child_particle_selector_t = output_particle_selector_t>
output_particle_selector_t ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectOutputParticle

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