#include <PRot.H>
|
| | PRot (amrex::ParticleReal phi_in, amrex::ParticleReal phi_out, std::optional< std::string > name=std::nullopt) |
| |
| void | compute_constants (RefPart const &refpart) |
| |
| template<typename T_Real = amrex::ParticleReal, typename T_IdCpu = uint64_t> |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (T_Real &AMREX_RESTRICT x, T_Real &AMREX_RESTRICT y, T_Real &AMREX_RESTRICT t, T_Real &AMREX_RESTRICT px, T_Real &AMREX_RESTRICT py, T_Real &AMREX_RESTRICT pt, T_IdCpu &AMREX_RESTRICT idcpu, RefPart const &AMREX_RESTRICT refpart) const |
| |
| AMREX_GPU_HOST AMREX_FORCE_INLINE Map6x6 | transport_map (RefPart const &AMREX_RESTRICT refpart) const |
| |
| AMREX_GPU_HOST void | set_name (std::string const &new_name) |
| |
| AMREX_GPU_HOST | Named (std::optional< std::string > name) |
| |
| AMREX_GPU_HOST_DEVICE | ~Named () |
| |
| AMREX_GPU_HOST | Named (Named const &other) |
| |
| AMREX_GPU_HOST Named & | operator= (Named const &other) |
| |
| AMREX_GPU_HOST_DEVICE | Named (Named &&other) noexcept |
| |
| AMREX_GPU_HOST_DEVICE Named & | operator= (Named &&other) noexcept |
| |
| AMREX_FORCE_INLINE std::string | name () const |
| |
| AMREX_FORCE_INLINE bool | has_name () const |
| |
| void | operator() (ImpactXParticleContainer &pc, int step, int period) |
| |
| void | operator() (ImpactXParticleContainer::iterator &pti, RefPart &AMREX_RESTRICT ref_part) |
| |
| | LinearTransport ()=default |
| |
| | LinearTransport (LinearTransport const &)=default |
| |
| | LinearTransport (LinearTransport &&)=default |
| |
| LinearTransport & | operator= (LinearTransport const &)=default |
| |
| LinearTransport & | operator= (LinearTransport &&rhs)=default |
| |
| | ~LinearTransport ()=default |
| |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void | operator() (Map6x6 &AMREX_RESTRICT cm, RefPart const &AMREX_RESTRICT ref) const |
| |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (RefPart &AMREX_RESTRICT refpart) const |
| |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int | nslice () const |
| |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal | ds () const |
| |
| void | finalize () |
| |
|
| amrex::ParticleReal | m_phi_in |
| |
| amrex::ParticleReal | m_phi_out |
| | normalized (max) RF voltage drop.
|
| |
◆ PType
◆ PRot()
| impactx::elements::PRot::PRot |
( |
amrex::ParticleReal | phi_in, |
|
|
amrex::ParticleReal | phi_out, |
|
|
std::optional< std::string > | name = std::nullopt ) |
|
inline |
An exact pole face rotation in the x-z plane, from a frame in which the reference orbit has angle phi_in with the z-axis, to a frame in which the reference orbit has angle phi_out with the z-axis. The net rotation angle is phi_out - phi_in.
- Parameters
-
| phi_in | Initial angle of reference trajectory w/r/t z (degrees) |
| phi_out | Final angle of reference trajectory w/r/t/ z (degrees) |
| name | a user defined and not necessarily unique name of the element |
◆ compute_constants()
| void impactx::elements::PRot::compute_constants |
( |
RefPart const & | refpart | ) |
|
|
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.
- Parameters
-
| refpart | reference particle |
◆ operator()()
template<typename T_Real = amrex::ParticleReal, typename T_IdCpu = uint64_t>
This is a prot functor, so that a variable of this type can be used like a prot function.
The
- See also
- compute_constants method must be called before pushing particles through this operator.
- Parameters
-
| 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 |
| idcpu | particle global index (unused) |
| refpart | reference particle (unused) |
◆ transport_map()
This function returns the linear transport map.
- Parameters
-
| [in] | refpart | reference particle |
- Returns
- 6x6 transport matrix
◆ degree2rad
◆ m_cos_phi_in
| amrex::ParticleReal impactx::elements::PRot::m_cos_phi_in |
|
private |
◆ m_cos_theta
| amrex::ParticleReal impactx::elements::PRot::m_cos_theta |
|
private |
◆ m_inv_beta
| amrex::ParticleReal impactx::elements::PRot::m_inv_beta |
|
private |
◆ m_phi_in
| amrex::ParticleReal impactx::elements::PRot::m_phi_in |
◆ m_phi_out
| amrex::ParticleReal impactx::elements::PRot::m_phi_out |
normalized (max) RF voltage drop.
◆ m_sin_phi_in
| amrex::ParticleReal impactx::elements::PRot::m_sin_phi_in |
|
private |
◆ m_sin_theta
| amrex::ParticleReal impactx::elements::PRot::m_sin_theta |
|
private |
◆ type
| auto impactx::elements::PRot::type = "PRot" |
|
staticconstexpr |
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/impactx/checkouts/1182/src/elements/PRot.H