ImpactX
Loading...
Searching...
No Matches
impactx::elements::mixin::BeamOptic< T_Element > Struct Template Reference

#include <beamoptic.H>

Public Member Functions

void operator() (ImpactXParticleContainer &pc, int step, int period)
 
void operator() (ImpactXParticleContainer::iterator &pti, RefPart &AMREX_RESTRICT ref_part)
 

Detailed Description

template<typename T_Element>
struct impactx::elements::mixin::BeamOptic< T_Element >

Mixin class for a regular beam optics lattice element.

This element pushes particles relative to a reference particle. All particles are pushed independently with the same logic.

Member Function Documentation

◆ operator()() [1/2]

template<typename T_Element>
void impactx::elements::mixin::BeamOptic< T_Element >::operator() ( ImpactXParticleContainer & pc,
int step,
int period )
inline

Push first the reference particle, then all other particles

Parameters
[in,out]pccontainer of the particles to push
[in]stepglobal step for diagnostics
[in]periodfor periodic lattices, this is the current period (turn or cycle)

◆ operator()() [2/2]

template<typename T_Element>
void impactx::elements::mixin::BeamOptic< T_Element >::operator() ( ImpactXParticleContainer::iterator & pti,
RefPart &AMREX_RESTRICT ref_part )
inline

This pushes the particles on a particle iterator tile or box.

Particles are relative to the reference particle.

Parameters
[in]ptiparticle iterator for a current tile or box.
[in]ref_partreference particle

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