10 #ifndef IMPACTX_REFERENCE_PARTICLE_H
11 #define IMPACTX_REFERENCE_PARTICLE_H
31 amrex::ParticleReal
s = 0.0;
32 amrex::ParticleReal
x = 0.0;
33 amrex::ParticleReal
y = 0.0;
34 amrex::ParticleReal
z = 0.0;
35 amrex::ParticleReal
t = 0.0;
36 amrex::ParticleReal
px = 0.0;
37 amrex::ParticleReal
py = 0.0;
38 amrex::ParticleReal
pz = 0.0;
39 amrex::ParticleReal
pt = 0.0;
40 amrex::ParticleReal
mass = 0.0;
43 amrex::ParticleReal
sedge = 0.0;
54 amrex::ParticleReal
const ref_gamma = -
pt;
66 using namespace amrex::literals;
68 amrex::ParticleReal
const ref_gamma = -
pt;
69 amrex::ParticleReal
const ref_beta =
sqrt(1.0_prt - 1.0_prt/
pow(ref_gamma,2));
81 using namespace amrex::literals;
83 amrex::ParticleReal
const ref_gamma = -
pt;
84 amrex::ParticleReal
const ref_betagamma =
sqrt(
pow(ref_gamma, 2) - 1.0_prt);
96 using namespace amrex::literals;
99 return amrex::ParticleReal(
mass * inv_MeV_invc2);
110 using namespace amrex::literals;
113 "set_mass_MeV: Mass cannot be zero!");
135 using namespace amrex::literals;
137 amrex::ParticleReal
const ref_gamma = -
pt;
138 amrex::ParticleReal
const ref_kin_energy =
mass_MeV() * (ref_gamma - 1.0_prt);
139 return ref_kin_energy;
150 using namespace amrex::literals;
153 "set_kin_energy_MeV: Set mass first!");
171 using namespace amrex::literals;
173 amrex::ParticleReal
const ref_gamma = -
pt;
174 amrex::ParticleReal
const ref_betagamma =
sqrt(
pow(ref_gamma, 2) - 1.0_prt);
188 using namespace amrex::literals;
191 return amrex::ParticleReal(
charge * inv_qe);
202 using namespace amrex::literals;
#define AMREX_ASSERT_WITH_MESSAGE(EX, MSG)
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
static constexpr auto MeV_invc2
static constexpr auto q_e
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE GpuComplex< T > pow(const GpuComplex< T > &a_z, const T &a_y) noexcept
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE GpuComplex< T > sqrt(const GpuComplex< T > &a_z) noexcept
Definition: ImpactX.cpp:36
Definition: ReferenceParticle.H:30
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal qm_qeeV() const
Definition: ReferenceParticle.H:215
amrex::ParticleReal px
momentum in x, normalized by mass*c
Definition: ReferenceParticle.H:36
amrex::ParticleReal y
vertical position y, in meters
Definition: ReferenceParticle.H:33
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal beta_gamma() const
Definition: ReferenceParticle.H:79
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal kin_energy_MeV() const
Definition: ReferenceParticle.H:133
amrex::ParticleReal pt
energy, normalized by rest energy
Definition: ReferenceParticle.H:39
amrex::ParticleReal py
momentum in y, normalized by mass*c
Definition: ReferenceParticle.H:37
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RefPart & set_mass_MeV(amrex::ParticleReal const massE)
Definition: ReferenceParticle.H:108
amrex::ParticleReal charge
reference charge, in C
Definition: ReferenceParticle.H:41
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal rigidity_Tm() const
Definition: ReferenceParticle.H:169
amrex::ParticleReal s
integrated orbit path length, in meters
Definition: ReferenceParticle.H:31
amrex::ParticleReal z
longitudinal position z, in meters
Definition: ReferenceParticle.H:34
amrex::Array2D< amrex::ParticleReal, 1, 6, 1, 6 > map
linearized map
Definition: ReferenceParticle.H:44
amrex::ParticleReal pz
momentum in z, normalized by mass*c
Definition: ReferenceParticle.H:38
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal mass_MeV() const
Definition: ReferenceParticle.H:94
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RefPart & set_charge_qe(amrex::ParticleReal const charge_qe)
Definition: ReferenceParticle.H:200
amrex::ParticleReal mass
reference rest mass, in kg
Definition: ReferenceParticle.H:40
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal charge_qe() const
Definition: ReferenceParticle.H:186
amrex::ParticleReal x
horizontal position x, in meters
Definition: ReferenceParticle.H:32
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal beta() const
Definition: ReferenceParticle.H:64
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal gamma() const
Definition: ReferenceParticle.H:52
amrex::ParticleReal t
clock time * c in meters
Definition: ReferenceParticle.H:35
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RefPart & set_kin_energy_MeV(amrex::ParticleReal const kin_energy)
Definition: ReferenceParticle.H:148
amrex::ParticleReal sedge
value of s at entrance of the current beamline element
Definition: ReferenceParticle.H:43