|
ImpactX
|
#include <Drift.H>
Public Types | |
| using | PType = ImpactXParticleContainer::ParticleType |
Public Member Functions | |
| Drift (amrex::ParticleReal const ds, int const nslice) | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (PType &AMREX_RESTRICT p, amrex::ParticleReal &AMREX_RESTRICT px, amrex::ParticleReal &AMREX_RESTRICT py, amrex::ParticleReal &AMREX_RESTRICT pt, RefPart const &refpart) const |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (RefPart &AMREX_RESTRICT refpart) const |
Public Member Functions inherited from impactx::elements::BeamOptic< Drift > | |
| void | operator() (ImpactXParticleContainer &pc, int step) |
| void | operator() (ImpactXParticleContainer::iterator &pti, RefPart &AMREX_RESTRICT ref_part) |
Public Member Functions inherited from impactx::elements::Thick | |
| Thick (amrex::ParticleReal const ds, int const nslice) | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int | nslice () const |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal | ds () const |
Public Member Functions inherited from impactx::elements::NoFinalize | |
| void | finalize () |
Static Public Attributes | |
| static constexpr auto | name = "Drift" |
Additional Inherited Members | |
Protected Attributes inherited from impactx::elements::Thick | |
| amrex::ParticleReal | m_ds |
| int | m_nslice |
| segment length in m More... | |
|
inline |
A drift
| ds | Segment length in m |
| nslice | number of slices used for the application of space charge |
|
inline |
This is a drift functor, so that a variable of this type can be used like a drift function.
| p | Particle AoS data for positions and cpu/id |
| px | particle momentum in x |
| py | particle momentum in y |
| pt | particle momentum in t |
| refpart | reference particle |
|
inline |
This pushes the reference particle.
| [in,out] | refpart | reference particle |
|
staticconstexpr |