OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Member Functions | List of all members
LF2< FieldFunction, Arguments > Class Template Reference

Leap-Frog 2nd order. More...

#include <LF2.h>

Inheritance diagram for LF2< FieldFunction, Arguments >:
Inheritance graph
[legend]
Collaboration diagram for LF2< FieldFunction, Arguments >:
Collaboration graph
[legend]

Public Member Functions

 LF2 (const FieldFunction &fieldfunc)
 
- Public Member Functions inherited from Stepper< FieldFunction, Arguments...>
 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 ()
 

Private Member Functions

bool doAdvance_m (PartBunchBase< double, 3 > *bunch, const size_t &i, const double &t, const double dt, Arguments &...args) const
 
void push_m (Vector_t &R, const Vector_t &P, const double &h) const
 
bool kick_m (PartBunchBase< double, 3 > *bunch, const size_t &i, const double &t, const double &h, Arguments &...args) const
 

Additional Inherited Members

- Protected Attributes inherited from Stepper< FieldFunction, Arguments...>
const FieldFunction & fieldfunc_m
 

Detailed Description

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

Leap-Frog 2nd order.

Definition at line 9 of file LF2.h.

Constructor & Destructor Documentation

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

Definition at line 13 of file LF2.h.

Member Function Documentation

template<typename FieldFunction , typename... Arguments>
bool LF2< FieldFunction, Arguments >::doAdvance_m ( PartBunchBase< double, 3 > *  bunch,
const size_t &  i,
const double &  t,
const double  dt,
Arguments &...  args 
) const
privatevirtual
template<typename FieldFunction , typename... Arguments>
bool LF2< FieldFunction, Arguments >::kick_m ( PartBunchBase< double, 3 > *  bunch,
const size_t &  i,
const double &  t,
const double &  h,
Arguments &...  args 
) const
private

Definition at line 36 of file LF2.hpp.

References BorisPusher::kick(), PartBunchBase< T, Dim >::M, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::Q, Physics::q_e, and PartBunchBase< T, Dim >::R.

Here is the call graph for this function:

template<typename FieldFunction , typename... Arguments>
void LF2< FieldFunction, Arguments >::push_m ( Vector_t R,
const Vector_t P,
const double &  h 
) const
private

Definition at line 25 of file LF2.hpp.

References Physics::c, dot(), and sqrt().

Here is the call graph for this function:


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