#include <ChrQuad.H>
|
| ChrQuad (amrex::ParticleReal const ds, amrex::ParticleReal const k, int const unit, 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 |
|
void | operator() (ImpactXParticleContainer &pc, int step) |
|
void | operator() (ImpactXParticleContainer::iterator &pti, RefPart &AMREX_RESTRICT ref_part) |
|
| 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 |
|
void | finalize () |
|
|
static constexpr auto | name = "ChrQuad" |
|
◆ PType
◆ ChrQuad()
impactx::ChrQuad::ChrQuad |
( |
amrex::ParticleReal const |
ds, |
|
|
amrex::ParticleReal const |
k, |
|
|
int const |
unit, |
|
|
int const |
nslice |
|
) |
| |
|
inline |
A Quadrupole magnet with chromatic focusing
The Hamiltonian is expanded through second order in the transverse variables (x,px,y,py), with the exact pt dependence retained.
- Parameters
-
ds | Segment length in m. |
k | Quadrupole strength in m^(-2) (MADX convention) = (gradient in T/m) / (rigidity in T-m) OR Quadrupole strength in T/m (MaryLie convention) k > 0 horizontal focusing k < 0 horizontal defocusing |
unit | Unit specification unit = 0 MADX convention (default) unit = 1 MaryLie convention |
nslice | number of slices used for the application of space charge |
◆ operator()() [1/2]
This is a chrquad functor, so that a variable of this type can be used like a chrquad function.
- Parameters
-
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 |
◆ operator()() [2/2]
This pushes the reference particle.
- Parameters
-
[in,out] | refpart | reference particle |
◆ m_k
amrex::ParticleReal impactx::ChrQuad::m_k |
|
private |
◆ m_unit
int impactx::ChrQuad::m_unit |
|
private |
quadrupole strength in 1/m^2 (or T/m)
◆ name
constexpr auto impactx::ChrQuad::name = "ChrQuad" |
|
staticconstexpr |
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/impactx/checkouts/23.07/src/particles/elements/ChrQuad.H