ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ActionList< actors_t > Struct Template Reference

ActionList implementation to be used with the propagator. More...

#include <acts/blob/master/Core/include/Acts/Propagator/ActionList.hpp>

+ Inheritance diagram for Acts::ActionList< actors_t >:
+ Collaboration diagram for Acts::ActionList< actors_t >:

Public Types

template<template< typename...> class R>
using result_type = typename decltype(hana::unpack(detail::type_collector_t< detail::result_type_extractor, actors_t...>, hana::template_< R >))::type
 

Public Member Functions

 ActionList ()=default
 Default constructor.
 
 ActionList (const ActionList< actors_t...> &actors)=default
 
 ActionList (ActionList< actors_t...> &&actors)=default
 
ActionList< actors_t...> & operator= (const ActionList< actors_t...> &actors)=default
 
ActionList< actors_t...> & operator= (ActionList< actors_t...> &&actors)=default
 
template<typename propagator_state_t , typename stepper_t , typename result_t >
void operator() (propagator_state_t &state, const stepper_t &stepper, result_t &result) const
 
- Public Member Functions inherited from Acts::detail::Extendable< actors_t...>
 Extendable ()=default
 Default constructor.
 
 Extendable (const Extendable< extensions_t...> &extendable)=default
 Default copy constructor.
 
 Extendable (Extendable< extensions_t...> &&extendable)=default
 
 Extendable (const std::tuple< extensions_t...> &extensions)
 
 Extendable (std::tuple< extensions_t...> &&extensions)
 
Extendable< extensions_t...> & operator= (const Extendable< extensions_t...> &extendable)=default
 
Extendable< extensions_t...> & operator= (Extendable< extensions_t...> &&extendable)=default
 
Extendable< extensions_t...,
appendices_t...> 
append (appendices_t...aps) const
 
const extension_t & get () const
 
extension_t & get ()
 
const std::tuple
< extensions_t...> & 
tuple () const
 
std::tuple< extensions_t...> & tuple ()
 

Detailed Description

template<typename... actors_t>
struct Acts::ActionList< actors_t >

ActionList implementation to be used with the propagator.

This is the ActionList struct that is used in the propagator to define a list of different actors_t that are eacch executed during the stepping procedure

Definition at line 31 of file ActionList.hpp.

View newest version in sPHENIX GitHub at line 31 of file ActionList.hpp

Member Typedef Documentation

template<typename... actors_t>
template<template< typename...> class R>
using Acts::ActionList< actors_t >::result_type = typename decltype(hana::unpack( detail::type_collector_t<detail::result_type_extractor, actors_t...>, hana::template_<R>))::type

Definition at line 43 of file ActionList.hpp.

View newest version in sPHENIX GitHub at line 43 of file ActionList.hpp

Constructor & Destructor Documentation

template<typename... actors_t>
Acts::ActionList< actors_t >::ActionList ( )
default

Default constructor.

template<typename... actors_t>
Acts::ActionList< actors_t >::ActionList ( const ActionList< actors_t...> &  actors)
default

Default copy constructor

Parameters
actorsThe source action list
template<typename... actors_t>
Acts::ActionList< actors_t >::ActionList ( ActionList< actors_t...> &&  actors)
default

Default move constructor

Parameters
actorsThe source action list

Member Function Documentation

template<typename... actors_t>
template<typename propagator_state_t , typename stepper_t , typename result_t >
void Acts::ActionList< actors_t >::operator() ( propagator_state_t &  state,
const stepper_t &  stepper,
result_t &  result 
) const
inline

Call operator that is that broadcasts the call to the tuple() members of the list

Template Parameters
propagator_state_tis the state type of the propagator
stepper_tType of the stepper used for the propagation
result_tis the result type from actions
Parameters
[in,out]propis the propagator state object
[in]stepperThe stepper in use
[in,out]resultis the result object from actions
Returns
bool type indiciating if the step size can be released

Definition at line 85 of file ActionList.hpp.

View newest version in sPHENIX GitHub at line 85 of file ActionList.hpp

References Acts::detail::action_signature_check_v, Acts::detail::all_of_v, and Acts::detail::Extendable< actors_t...>::tuple().

+ Here is the call graph for this function:

template<typename... actors_t>
ActionList<actors_t...>& Acts::ActionList< actors_t >::operator= ( const ActionList< actors_t...> &  actors)
default

Default move assignment operator

Parameters
actorsThe source action list
template<typename... actors_t>
ActionList<actors_t...>& Acts::ActionList< actors_t >::operator= ( ActionList< actors_t...> &&  actors)
default

Default move assignment operator

Parameters
actorsThe source action list

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