#include <Semigaussian.H>
|
| Semigaussian (amrex::ParticleReal lambdax, amrex::ParticleReal lambday, amrex::ParticleReal lambdat, amrex::ParticleReal lambdapx, amrex::ParticleReal lambdapy, amrex::ParticleReal lambdapt, amrex::ParticleReal muxpx=0.0, amrex::ParticleReal muypy=0.0, amrex::ParticleReal mutpt=0.0) |
|
void | initialize ([[maybe_unused]] amrex::ParticleReal bunch_charge, [[maybe_unused]] RefPart const &ref) |
|
void | finalize () |
|
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (amrex::ParticleReal &AMREX_RESTRICT x, amrex::ParticleReal &AMREX_RESTRICT y, amrex::ParticleReal &AMREX_RESTRICT t, amrex::ParticleReal &AMREX_RESTRICT px, amrex::ParticleReal &AMREX_RESTRICT py, amrex::ParticleReal &AMREX_RESTRICT pt, amrex::RandomEngine const &engine) const |
|
◆ Semigaussian()
impactx::distribution::Semigaussian::Semigaussian |
( |
amrex::ParticleReal |
lambdax, |
|
|
amrex::ParticleReal |
lambday, |
|
|
amrex::ParticleReal |
lambdat, |
|
|
amrex::ParticleReal |
lambdapx, |
|
|
amrex::ParticleReal |
lambdapy, |
|
|
amrex::ParticleReal |
lambdapt, |
|
|
amrex::ParticleReal |
muxpx = 0.0 , |
|
|
amrex::ParticleReal |
muypy = 0.0 , |
|
|
amrex::ParticleReal |
mutpt = 0.0 |
|
) |
| |
|
inline |
A Semi-Gaussian distribution
Return sampling from a 6D Semi-Gaussian distribution (uniform in position, Gaussian in momentum).
- Parameters
-
lambdax,lambday,lambdat | for zero correlation, these are the related RMS sizes (in meters) |
lambdapx,lambdapy,lambdapt | RMS momentum |
muxpx,muypy,mutpt | correlation length-momentum |
◆ finalize()
void impactx::distribution::Semigaussian::finalize |
( |
| ) |
|
|
inline |
Close and deallocate all data and handles.
Nothing to do here.
◆ initialize()
void impactx::distribution::Semigaussian::initialize |
( |
[[maybe_unused] ] amrex::ParticleReal |
bunch_charge, |
|
|
[[maybe_unused] ] RefPart const & |
ref |
|
) |
| |
|
inline |
Initialize the distribution.
Nothing to do here.
- Parameters
-
bunch_charge | charge of the beam in C |
ref | the reference particle |
◆ operator()()
Return 1 6D particle coordinate
- 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 |
engine | a random number engine (with associated state) |
◆ m_lambdaPt
amrex::ParticleReal impactx::distribution::Semigaussian::m_lambdaPt |
|
private |
◆ m_lambdaPx
amrex::ParticleReal impactx::distribution::Semigaussian::m_lambdaPx |
|
private |
related position axis intercepts (length) of the phase space ellipse
◆ m_lambdaPy
amrex::ParticleReal impactx::distribution::Semigaussian::m_lambdaPy |
|
private |
◆ m_lambdaT
amrex::ParticleReal impactx::distribution::Semigaussian::m_lambdaT |
|
private |
◆ m_lambdaX
amrex::ParticleReal impactx::distribution::Semigaussian::m_lambdaX |
|
private |
◆ m_lambdaY
amrex::ParticleReal impactx::distribution::Semigaussian::m_lambdaY |
|
private |
◆ m_mutpt
amrex::ParticleReal impactx::distribution::Semigaussian::m_mutpt |
|
private |
◆ m_muxpx
amrex::ParticleReal impactx::distribution::Semigaussian::m_muxpx |
|
private |
related momentum axis intercepts of the phase space ellipse
◆ m_muypy
amrex::ParticleReal impactx::distribution::Semigaussian::m_muypy |
|
private |
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/impactx/checkouts/stable/src/particles/distribution/Semigaussian.H