|
ImpactX
|
#include <QuadEdge.H>
Public Types | |
| using | PType = ImpactXParticleContainer::ParticleType |
Public Attributes | |
| amrex::ParticleReal | m_k |
| int | m_unit |
| quadrupole focusing strength | |
| Location | m_flag |
| unit specification for quad strength | |
| Public Attributes inherited from impactx::elements::mixin::Alignment | |
| amrex::ParticleReal | m_dx = 0 |
| amrex::ParticleReal | m_dy = 0 |
| horizontal translation error [m] | |
| amrex::ParticleReal | m_rotation = 0 |
| vertical translation error [m] | |
Static Public Attributes | |
| static constexpr auto | type = "QuadEdge" |
| static constexpr int | DEFAULT_unit = 0 |
| static constexpr Location | DEFAULT_flag = Location::entry |
| Static Public Attributes inherited from impactx::elements::mixin::Named | |
| static constexpr std::nullopt_t | DEFAULT_name = std::nullopt |
| Static Public Attributes inherited from impactx::elements::mixin::LinearTransport< QuadEdge > | |
| static constexpr bool | has_linear_transport |
| Static Public Attributes inherited from impactx::elements::mixin::Alignment | |
| static constexpr amrex::ParticleReal | degree2rad |
| static constexpr amrex::ParticleReal | DEFAULT_dx = 0 |
| static constexpr amrex::ParticleReal | DEFAULT_dy = 0 |
| static constexpr amrex::ParticleReal | DEFAULT_rotation_degree = 0 |
| Static Public Attributes inherited from amrex::simd::Vectorized< amrex::simd::native_simd_size_particlereal > | |
| static constexpr int | simd_width |
Private Attributes | |
| amrex::ParticleReal | m_g |
| +1 for entry, or -1 for exit | |
| amrex::ParticleReal | m_a |
| amrex::ParticleReal | m_beta |
|
inline |
Quadrupole entry or exit fringe field effects.
This is a third-order nonlinear symplectic map, representing model-independent terms that contribute in the hard-edge limit. Chromatic energy dependence is included. We use an explicit (symplectification) of the map generated by eq (28) of:
References: E. Forest and J. Milutinovic, Nucl. Instrum. and Methods in Phys. Res. A 269, 474-482 (1988), https://doi.org/10.1016/0168-9002(88)90123-4
| 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 |
| flag | Flag specifying entry or exit location |
| dx | horizontal translation error in m |
| dy | vertical translation error in m |
| rotation_degree | rotation error in the transverse plane [degrees] |
| name | a user defined and not necessarily unique name of the element |
| impactx::elements::QuadEdge::AMREX_ENUM_IN_CLASS | ( | Location | , |
| entry | = 1, | ||
| exit | = -1 ) |
| - | for leading (entry) fringe field |
|
inline |
Compute and cache the constants for the push.
In particular, used to pre-compute and cache variables that are independent of the individually tracked particle.
| refpart | reference particle |
|
inline |
This is a quadedge functor, so that a variable of this type can be used like a quadedge function.
The
| x | particle position in x |
| y | particle position in y |
| t | particle position in t |
| px | particle momentum in x |
| py | particle momentum in y |
| pt | particle momentum in t (unchanged) |
| idcpu | particle global index (unused) |
| refpart | reference particle (unused) |
|
inline |
Reverse the element (swap entry/exit)
|
inline |
This function returns the linear transport map.
| [in] | refpart | reference particle |
|
staticconstexpr |
|
staticconstexpr |
|
private |
|
private |
| Location impactx::elements::QuadEdge::m_flag |
unit specification for quad strength
|
private |
+1 for entry, or -1 for exit
| amrex::ParticleReal impactx::elements::QuadEdge::m_k |
| int impactx::elements::QuadEdge::m_unit |
quadrupole focusing strength
|
staticconstexpr |