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

#include <BreitWheelerEngineWrapper.H>

Public Member Functions

 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
 

Private Attributes

BW_pair_prod_table_view m_table_view
 

Detailed Description

Functor to generate a pair via the Breit-Wheeler process

Constructor & Destructor Documentation

◆ BreitWheelerGeneratePairs() [1/2]

BreitWheelerGeneratePairs::BreitWheelerGeneratePairs ( )
inline

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

◆ BreitWheelerGeneratePairs() [2/2]

BreitWheelerGeneratePairs::BreitWheelerGeneratePairs ( const BW_pair_prod_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 BW_pair_prod_table_view

Member Function Documentation

◆ 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,uzgamma*v components of the photon (SI units)
[in]ex,ey,ezelectric field components (SI units)
[in]bx,by,bzmagnetic field components (SI units)
[out]e_ux,e_uy,e_uzgamma*v components of generated electron (SI units)
[out]p_ux,p_uy,p_uzgamma*v components of generated positron (SI units)
Returns
a flag which is 1 if chi_photon was out of table

Member Data Documentation

◆ m_table_view

BW_pair_prod_table_view BreitWheelerGeneratePairs::m_table_view
private

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