OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Stepper< FieldFunction, Arguments > Class Template Referenceabstract

#include <Stepper.h>

Inheritance diagram for Stepper< FieldFunction, Arguments >:
Collaboration diagram for Stepper< FieldFunction, Arguments >:

Public Member Functions

 Stepper (const FieldFunction &fieldfunc)
virtual bool advance (PartBunchBase< double, 3 > *bunch, const size_t &i, const double &t, const double dt, Arguments &... args) const
virtual ~Stepper ()

Protected Attributes

const FieldFunction & fieldfunc_m

Private Member Functions

virtual bool doAdvance_m (PartBunchBase< double, 3 > *bunch, const size_t &i, const double &t, const double dt, Arguments &... args) const =0

Detailed Description

template<typename FieldFunction, typename ... Arguments>
class Stepper< FieldFunction, Arguments >

@precondition The field function has to return a boolean and take at least the following arguments in that order:

  • double specifying the time

  • int specifying the i-th particle

  • Vector_t specifying the electric field

  • Vector_t specifying the magnetic field

Definition at line 36 of file Stepper.h.

Constructor & Destructor Documentation

◆ Stepper()

template<typename FieldFunction, typename ... Arguments>
Stepper< FieldFunction, Arguments >::Stepper ( const FieldFunction & fieldfunc)
inline

Definition at line 40 of file Stepper.h.

References fieldfunc_m.

◆ ~Stepper()

template<typename FieldFunction, typename ... Arguments>
virtual Stepper< FieldFunction, Arguments >::~Stepper ( )
inlinevirtual

Definition at line 67 of file Stepper.h.

Member Function Documentation

◆ advance()

template<typename FieldFunction, typename ... Arguments>
virtual bool Stepper< FieldFunction, Arguments >::advance ( PartBunchBase< double, 3 > * bunch,
const size_t & i,
const double & t,
const double dt,
Arguments &... args ) const
inlinevirtual

Definition at line 42 of file Stepper.h.

References PartBunchBase< T, Dim >::Bin, doAdvance_m(), PartBunchBase< T, Dim >::P, and PartBunchBase< T, Dim >::R.

Here is the call graph for this function:

◆ doAdvance_m()

template<typename FieldFunction, typename ... Arguments>
virtual bool Stepper< FieldFunction, Arguments >::doAdvance_m ( PartBunchBase< double, 3 > * bunch,
const size_t & i,
const double & t,
const double dt,
Arguments &... args ) const
privatepure virtual

Member Data Documentation

◆ fieldfunc_m

template<typename FieldFunction, typename ... Arguments>
const FieldFunction& Stepper< FieldFunction, Arguments >::fieldfunc_m
protected

Definition at line 70 of file Stepper.h.

Referenced by Stepper().


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