10#ifndef IMPACTX_ELEMENTS_MIXIN_ALIGNMENT_H
11#define IMPACTX_ELEMENTS_MIXIN_ALIGNMENT_H
37 amrex::ParticleReal
dx,
38 amrex::ParticleReal
dy,
39 amrex::ParticleReal rotation_degree
76 template<
typename T_Real>
86 T_Real
const xc = x -
m_dx;
87 T_Real
const yc = y -
m_dy;
92 T_Real
const pxc = px;
93 T_Real
const pyc = py;
107 template<
typename T_Real>
125 T_Real
const pxc = px;
126 T_Real
const pyc = py;
136 amrex::ParticleReal
dx ()
const
146 amrex::ParticleReal
dy ()
const
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
static constexpr amrex::Real pi
__host__ __device__ std::pair< double, double > sincos(double x)
Definition alignment.H:23
Definition ReferenceParticle.H:31
amrex::ParticleReal m_dy
horizontal translation error [m]
Definition alignment.H:162
Alignment(Alignment &&)=default
amrex::ParticleReal m_sin_rotation
rotation error in the transverse plane [rad]
Definition alignment.H:168
amrex::ParticleReal m_cos_rotation
std::sin(m_rotation)
Definition alignment.H:169
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void shift_out(T_Real &AMREX_RESTRICT x, T_Real &AMREX_RESTRICT y, T_Real &AMREX_RESTRICT px, T_Real &AMREX_RESTRICT py) const
Definition alignment.H:109
void compute_constants(RefPart const &refpart)
Definition alignment.H:60
amrex::ParticleReal m_rotation
vertical translation error [m]
Definition alignment.H:163
static constexpr amrex::ParticleReal degree2rad
Definition alignment.H:28
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal dy() const
Definition alignment.H:146
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal rotation() const
Definition alignment.H:156
amrex::ParticleReal m_dx
Definition alignment.H:161
Alignment(Alignment const &)=default
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal dx() const
Definition alignment.H:136
Alignment(amrex::ParticleReal dx, amrex::ParticleReal dy, amrex::ParticleReal rotation_degree)
Definition alignment.H:36
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void shift_in(T_Real &AMREX_RESTRICT x, T_Real &AMREX_RESTRICT y, T_Real &AMREX_RESTRICT px, T_Real &AMREX_RESTRICT py) const
Definition alignment.H:78
Alignment & operator=(Alignment const &)=default