BioCMAMC-ST
Simulation::KernelInline::CycleFunctor< M > Struct Template Reference

#include <model_kernel.hpp>

Collaboration diagram for Simulation::KernelInline::CycleFunctor< M >:
[legend]

Public Types

using TeamPolicy = Kokkos::TeamPolicy<ComputeSpace>
using TeamMember = TeamPolicy::member_type
using value_type = CycleReduceType

Public Member Functions

 CycleFunctor ()=default
KOKKOS_INLINE_FUNCTION CycleFunctor (MC::ParticlesContainer< M > _particles, MC::pool_type _random_pool, MC::KernelConcentrationType &&_concentrations, MC::ContributionView _contribs_scatter, MC::EventContainer _event)
void update (double _d_t, MC::ParticlesContainer< M > _particles)
KOKKOS_INLINE_FUNCTION void operator() (const TagContribution _tag, const std::size_t idx) const
KOKKOS_INLINE_FUNCTION void operator() (TagCycle _tag, const Kokkos::TeamPolicy< ComputeSpace >::member_type &team, value_type &reduce_val) const
KOKKOS_INLINE_FUNCTION void operator() (const TagCycle _tag, const std::size_t idx, value_type &reduce_val) const
KOKKOS_INLINE_FUNCTION void exec_per_particle (const std::size_t idx, value_type &reduce_val) const

Public Attributes

M::FloatType d_t
MC::ParticlesContainer< M > particles
MC::pool_type random_pool
MC::KernelConcentrationType concentrations
MC::ContributionView contribs_scatter
MC::KernelConcentrationType limitation_factor
MC::EventContainer events

Member Typedef Documentation

◆ TeamMember

template<ModelType M>
using Simulation::KernelInline::CycleFunctor< M >::TeamMember = TeamPolicy::member_type

◆ TeamPolicy

template<ModelType M>
using Simulation::KernelInline::CycleFunctor< M >::TeamPolicy = Kokkos::TeamPolicy<ComputeSpace>

◆ value_type

Constructor & Destructor Documentation

◆ CycleFunctor() [1/2]

template<ModelType M>
Simulation::KernelInline::CycleFunctor< M >::CycleFunctor ( )
default

◆ CycleFunctor() [2/2]

template<ModelType M>
KOKKOS_INLINE_FUNCTION Simulation::KernelInline::CycleFunctor< M >::CycleFunctor ( MC::ParticlesContainer< M > _particles,
MC::pool_type _random_pool,
MC::KernelConcentrationType && _concentrations,
MC::ContributionView _contribs_scatter,
MC::EventContainer _event )
inline

Member Function Documentation

◆ exec_per_particle()

template<ModelType M>
KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::CycleFunctor< M >::exec_per_particle ( const std::size_t idx,
value_type & reduce_val ) const
inline
Here is the caller graph for this function:

◆ operator()() [1/3]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::CycleFunctor< M >::operator() ( const TagContribution _tag,
const std::size_t idx ) const
inline

◆ operator()() [2/3]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::CycleFunctor< M >::operator() ( const TagCycle _tag,
const std::size_t idx,
value_type & reduce_val ) const
inline

◆ operator()() [3/3]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::CycleFunctor< M >::operator() ( TagCycle _tag,
const Kokkos::TeamPolicy< ComputeSpace >::member_type & team,
value_type & reduce_val ) const
inline

◆ update()

template<ModelType M>
void Simulation::KernelInline::CycleFunctor< M >::update ( double _d_t,
MC::ParticlesContainer< M > _particles )
inline

Member Data Documentation

◆ concentrations

◆ contribs_scatter

◆ d_t

template<ModelType M>
M::FloatType Simulation::KernelInline::CycleFunctor< M >::d_t

◆ events

◆ limitation_factor

◆ particles

◆ random_pool


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