8#ifndef LINEAR_BREIT_WHEELER_CROSS_SECTION_H
9#define LINEAR_BREIT_WHEELER_CROSS_SECTION_H
31 using namespace amrex::literals;
36 if (E_star < me*c_sq) {
return 0._prt;}
38 constexpr auto one_half_pr = amrex::ParticleReal(1./2.);
41 auto constexpr pow2 = [](
auto const x) {
return x*x; };
42 auto constexpr pow4 = [](
auto const x) {
return x*x*x*x; };
44 const amrex::ParticleReal s = pow2(E_star/(me * c_sq));
45 const amrex::ParticleReal beta = std::sqrt(1._prt-1._prt/s);
47 const amrex::ParticleReal term1 = (3._prt-pow4(beta))*std::log((1._prt+beta)/(1._prt-beta));
48 const amrex::ParticleReal term2 = 2._prt*beta*(pow2(beta)-2._prt);
49 const amrex::ParticleReal cross_section = one_half_pr*pi*re2*(1._prt-pow2(beta))*(term1+term2);
#define AMREX_GPU_HOST_DEVICE
AMREX_GPU_HOST_DEVICE AMREX_INLINE amrex::ParticleReal LinearBreitWheelerCrossSection(const amrex::ParticleReal &E_star)
Computes the linear Breit-Wheeler cross section (refer to, for example, [Gould and Schreder Phys....
Definition LinearBreitWheelerCrossSection.H:29
static constexpr auto r_e
classical electron radius = 1./(4*pi*ep0) * q_e*q_e/(m_e*c*c) [m]
Definition constant.H:67
static constexpr auto c
vacuum speed of light [m/s]
Definition constant.H:44
static constexpr auto m_e
electron mass [kg]
Definition constant.H:54
static constexpr amrex::Real pi
ratio of a circle's circumference to its diameter
Definition constant.H:23