#include <BreitWheelerEngineWrapper.H>
|
| | BreitWheelerGeneratePairs () |
| |
| | BreitWheelerGeneratePairs (const BW_pair_prod_table_view table_view) |
| |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE int | operator() (const amrex::Real ux, const amrex::Real uy, const 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 &e_ux, amrex::Real &e_uy, amrex::Real &e_uz, amrex::Real &p_ux, amrex::Real &p_uy, amrex::Real &p_uz) const noexcept |
| |
Functor to generate a pair via the Breit-Wheeler process
◆ BreitWheelerGeneratePairs() [1/2]
| BreitWheelerGeneratePairs::BreitWheelerGeneratePairs |
( |
| ) |
|
|
inline |
Default constructor: it leaves the functor in a non-initialized state.
◆ BreitWheelerGeneratePairs() [2/2]
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_view | a BW_pair_prod_table_view |
◆ operator()()
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE int BreitWheelerGeneratePairs::operator() |
( |
const amrex::Real |
ux, |
|
|
const amrex::Real |
uy, |
|
|
const 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 & |
e_ux, |
|
|
amrex::Real & |
e_uy, |
|
|
amrex::Real & |
e_uz, |
|
|
amrex::Real & |
p_ux, |
|
|
amrex::Real & |
p_uy, |
|
|
amrex::Real & |
p_uz |
|
) |
| const |
|
inlinenoexcept |
Generates pairs according to Breit Wheeler process. It can be used on GPU. Warning: the energy of the photon must be > 2mec^2, but it is not checked in this method.
- Parameters
-
| [in] | ux,uy,uz | gamma*v components of the photon (SI units) |
| [in] | ex,ey,ez | electric field components (SI units) |
| [in] | bx,by,bz | magnetic field components (SI units) |
| [out] | e_ux,e_uy,e_uz | gamma*v components of generated electron (SI units) |
| [out] | p_ux,p_uy,p_uz | gamma*v components of generated positron (SI units) |
- Returns
- a flag which is 1 if chi_photon was out of table
◆ m_table_view
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/20.10/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H