|
ImpactX
|
#include <pipeaperture.H>
Public Member Functions | |
| PipeAperture (amrex::ParticleReal aperture_x, amrex::ParticleReal aperture_y) | |
| PipeAperture ()=default | |
| PipeAperture (PipeAperture const &)=default | |
| PipeAperture & | operator= (PipeAperture const &)=default |
| PipeAperture (PipeAperture &&)=default | |
| PipeAperture & | operator= (PipeAperture &&rhs)=default |
| ~PipeAperture ()=default | |
| template<typename T_Real = amrex::ParticleReal, typename T_IdCpu = uint64_t> | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | apply_aperture (T_Real &AMREX_RESTRICT x, T_Real &AMREX_RESTRICT y, T_IdCpu &AMREX_RESTRICT idcpu) const |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal | aperture_x () const |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal | aperture_y () const |
Public Attributes | |
| amrex::ParticleReal | m_inv_aperture_x = 0 |
| amrex::ParticleReal | m_inv_aperture_y = 0 |
| inverse of the horizontal aperture size [1/m] | |
This is a helper class for applying a transverse aperture restriction to thick lattice elements
|
inline |
A finite-length element with a constant elliptical aperture over s.
| aperture_x | horizontal half-aperture size [m] |
| aperture_y | vertical half-aperture size [m] |
|
default |
|
default |
|
default |
|
default |
|
inline |
Horizontal aperture size
|
inline |
Vertical aperture size
|
inline |
Apply the transverse aperture
| [in,out] | x | horizontal position relative to reference particle |
| [in,out] | y | vertical position relative to reference particle |
| idcpu | particle global index |
|
default |
|
default |
| amrex::ParticleReal impactx::elements::mixin::PipeAperture::m_inv_aperture_x = 0 |
| amrex::ParticleReal impactx::elements::mixin::PipeAperture::m_inv_aperture_y = 0 |
inverse of the horizontal aperture size [1/m]