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

KOKKOS_INLINE_FUNCTION CycleFunctor (MC::ParticlesContainer< M > _particles, MC::KPRNG::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 TagFirstPass _tag, const std::size_t idx) const
KOKKOS_INLINE_FUNCTION void operator() (const TagSecondPass _tag, const TeamMember &team_handle, value_type &reduce_val) const

Public Attributes

M::FloatType d_t
MC::ParticlesContainer< M > particles
MC::KPRNG::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()

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

Member Function Documentation

◆ operator()() [1/2]

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

◆ operator()() [2/2]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::CycleFunctor< M >::operator() ( const TagSecondPass _tag,
const TeamMember & team_handle,
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: