|
ImpactX
|
#include <ShortRF.H>
Public Types | |
| using | PType = ImpactXParticleContainer::ParticleType |
Public Attributes | |
| amrex::ParticleReal | m_V |
| amrex::ParticleReal | m_freq |
| normalized (max) RF voltage drop. | |
| amrex::ParticleReal | m_phase |
| RF frequency in Hz. | |
| 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 = "ShortRF" |
| static constexpr amrex::ParticleReal | DEFAULT_phase = -90 |
| 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< ShortRF > | |
| 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_k |
| reference RF phase in degrees. | |
| amrex::ParticleReal | m_phi |
| amrex::ParticleReal | m_V_cos_phi |
| amrex::ParticleReal | m_bgi |
| amrex::ParticleReal | m_bgf |
|
inline |
A short RF cavity element
| V | Normalized RF voltage V = maximum energy gain/(m*c^2) |
| freq | RF frequency in Hz |
| phase | RF synchronous phase of the reference particle in deg phi = 0: maximum energy gain (on-crest) phi = -90 deg: zero-crossing for bunching phi = 90 deg: zero-crossing for debunching |
| 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 |
|
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 pushes the reference particle.
| [in,out] | refpart | reference particle |
|
inline |
This is a shortrf functor, so that a variable of this type can be used like a shortrf function.
The
| x | particle position in x (unused) |
| y | particle position in y (unused) |
| t | particle position in t |
| px | particle momentum in x |
| py | particle momentum in y |
| pt | particle momentum in t |
| idcpu | particle global index (unused) |
| refpart | reference particle (unused) |
|
inline |
Reverse the element (negate V)
|
inline |
This function returns the linear transport map.
| [in] | refpart | reference particle |
|
staticconstexpr |
|
private |
|
private |
| amrex::ParticleReal impactx::elements::ShortRF::m_freq |
normalized (max) RF voltage drop.
|
private |
reference RF phase in degrees.
| amrex::ParticleReal impactx::elements::ShortRF::m_phase |
RF frequency in Hz.
|
private |
| amrex::ParticleReal impactx::elements::ShortRF::m_V |
|
private |
|
staticconstexpr |