WarpX
Loading...
Searching...
No Matches
ScatteringProcess::Executor Struct Reference

#include <ScatteringProcess.H>

Public Member Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal getCrossSection (amrex::ParticleReal E_coll) const

Public Attributes

amrex::ParticleRealm_sigmas_data = nullptr
amrex::ParticleReal m_energy_lo
amrex::ParticleReal m_energy_hi
amrex::ParticleReal m_sigma_lo
amrex::ParticleReal m_sigma_hi
amrex::ParticleReal m_dE
amrex::ParticleReal m_energy_penalty
ScatteringProcessType m_type
bool m_produces_products = false

Member Function Documentation

◆ getCrossSection()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal ScatteringProcess::Executor::getCrossSection ( amrex::ParticleReal E_coll) const
inlinenodiscard

Get the collision cross-section using a simple linear interpolator. If the energy value is lower (higher) than the given energy range the first (last) cross-section value is used.

Parameters
E_collcollision energy in eV

Member Data Documentation

◆ m_dE

amrex::ParticleReal ScatteringProcess::Executor::m_dE

◆ m_energy_hi

amrex::ParticleReal ScatteringProcess::Executor::m_energy_hi

◆ m_energy_lo

amrex::ParticleReal ScatteringProcess::Executor::m_energy_lo

◆ m_energy_penalty

amrex::ParticleReal ScatteringProcess::Executor::m_energy_penalty

◆ m_produces_products

bool ScatteringProcess::Executor::m_produces_products = false

True if this process creates new product particles (ionization, charge exchange, two-product reaction); false for purely scattering processes (elastic, excitation).

◆ m_sigma_hi

amrex::ParticleReal ScatteringProcess::Executor::m_sigma_hi

◆ m_sigma_lo

amrex::ParticleReal ScatteringProcess::Executor::m_sigma_lo

◆ m_sigmas_data

amrex::ParticleReal* ScatteringProcess::Executor::m_sigmas_data = nullptr

◆ m_type

ScatteringProcessType ScatteringProcess::Executor::m_type

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