WarpX
Public Member Functions | Private Attributes | List of all members
QuantumSynchrotronPhotonEmission Class Reference

#include <QuantumSyncEngineWrapper.H>

Public Member Functions

 QuantumSynchrotronPhotonEmission ()
 
 QuantumSynchrotronPhotonEmission (const QS_phot_em_table_view table_view)
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE bool operator() (amrex::Real &ux, amrex::Real &uy, amrex::Real &uz, const amrex::Real ex, const amrex::Real ey, const amrex::Real ez, const amrex::Real bx, const amrex::Real by, const amrex::Real bz, amrex::Real &g_ux, amrex::Real &g_uy, amrex::Real &g_uz) const noexcept
 

Private Attributes

QS_phot_em_table_view m_table_view
 

Detailed Description

Functor to generate a photon via the Quantum Synchrotron process and to update momentum accordingly

Constructor & Destructor Documentation

◆ QuantumSynchrotronPhotonEmission() [1/2]

QuantumSynchrotronPhotonEmission::QuantumSynchrotronPhotonEmission ( )
inline

Default constructor: it leaves the functor in a non-initialized state.

◆ QuantumSynchrotronPhotonEmission() [2/2]

QuantumSynchrotronPhotonEmission::QuantumSynchrotronPhotonEmission ( const QS_phot_em_table_view  table_view)
inline

Constructor acquires pointers to control parameters and lookup tables data. lookup_table uses non-owning vectors under the hood. So no new data allocations should be triggered on GPU

Parameters
[in]table_viewa view of a QS_phot_em_table lookup table

Member Function Documentation

◆ operator()()

AMREX_GPU_DEVICE AMREX_FORCE_INLINE bool QuantumSynchrotronPhotonEmission::operator() ( amrex::Real &  ux,
amrex::Real &  uy,
amrex::Real &  uz,
const amrex::Real  ex,
const amrex::Real  ey,
const amrex::Real  ez,
const amrex::Real  bx,
const amrex::Real  by,
const amrex::Real  bz,
amrex::Real &  g_ux,
amrex::Real &  g_uy,
amrex::Real &  g_uz 
) const
inlinenoexcept

Generates photons according to Quantum Synchrotron process. It can be used on GPU.

Parameters
[in,out]ux,uy,uzgamma*v components of the lepton. They are modified (SI units)
[in]ex,ey,ezelectric field components (SI units)
[in]bx,by,bzmagnetic field components (SI units)
[out]g_ux,g_uy,g_uzgamma*v components of the generated photon (SI units)
Returns
a flag which is 1 if chi_photon was out of table

Member Data Documentation

◆ m_table_view

QS_phot_em_table_view QuantumSynchrotronPhotonEmission::m_table_view
private

The documentation for this class was generated from the following file: