WarpX
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ScatteringProcess Class Reference

#include <ScatteringProcess.H>

Classes

struct  Executor
 

Public Member Functions

 ScatteringProcess (const std::string &scattering_process, const std::string &cross_section_file, amrex::ParticleReal energy)
 
template<typename InputVector >
 ScatteringProcess (const std::string &scattering_process, const InputVector &&energies, const InputVector &&sigmas, amrex::ParticleReal energy)
 
 ~ScatteringProcess ()=default
 
 ScatteringProcess (ScatteringProcess const &)=delete
 
ScatteringProcessoperator= (ScatteringProcess const &)=delete
 
 ScatteringProcess (ScatteringProcess &&)=default
 
ScatteringProcessoperator= (ScatteringProcess &&)=default
 
Executor const & executor () const
 
amrex::ParticleReal getCrossSection (amrex::ParticleReal E_coll) const
 
amrex::ParticleReal getEnergyPenalty () const
 
amrex::ParticleReal getMinEnergyInput () const
 
amrex::ParticleReal getMaxEnergyInput () const
 
amrex::ParticleReal getEnergyInputStep () const
 
ScatteringProcessType type () const
 

Static Public Member Functions

static void readCrossSectionFile (const std::string &cross_section_file, amrex::Vector< amrex::ParticleReal > &energies, amrex::Gpu::HostVector< amrex::ParticleReal > &sigmas)
 
static void sanityCheckEnergyGrid (const amrex::Vector< amrex::ParticleReal > &energies, amrex::ParticleReal dE)
 

Private Member Functions

void init (const std::string &scattering_process, amrex::ParticleReal energy)
 

Static Private Member Functions

static ScatteringProcessType parseProcessType (const std::string &process)
 

Private Attributes

amrex::Vector< amrex::ParticleReal > m_energies
 
amrex::Gpu::HostVector< amrex::ParticleReal > m_sigmas_h
 
Executor m_exe_h
 
int m_grid_size
 

Constructor & Destructor Documentation

◆ ScatteringProcess() [1/4]

ScatteringProcess::ScatteringProcess ( const std::string &  scattering_process,
const std::string &  cross_section_file,
amrex::ParticleReal  energy 
)

◆ ScatteringProcess() [2/4]

template<typename InputVector >
ScatteringProcess::ScatteringProcess ( const std::string &  scattering_process,
const InputVector &&  energies,
const InputVector &&  sigmas,
amrex::ParticleReal  energy 
)

◆ ~ScatteringProcess()

ScatteringProcess::~ScatteringProcess ( )
default

◆ ScatteringProcess() [3/4]

ScatteringProcess::ScatteringProcess ( ScatteringProcess const &  )
delete

◆ ScatteringProcess() [4/4]

ScatteringProcess::ScatteringProcess ( ScatteringProcess &&  )
default

Member Function Documentation

◆ executor()

Executor const& ScatteringProcess::executor ( ) const
inline

◆ getCrossSection()

amrex::ParticleReal ScatteringProcess::getCrossSection ( amrex::ParticleReal  E_coll) const
inline

◆ getEnergyInputStep()

amrex::ParticleReal ScatteringProcess::getEnergyInputStep ( ) const
inline

◆ getEnergyPenalty()

amrex::ParticleReal ScatteringProcess::getEnergyPenalty ( ) const
inline

◆ getMaxEnergyInput()

amrex::ParticleReal ScatteringProcess::getMaxEnergyInput ( ) const
inline

◆ getMinEnergyInput()

amrex::ParticleReal ScatteringProcess::getMinEnergyInput ( ) const
inline

◆ init()

void ScatteringProcess::init ( const std::string &  scattering_process,
amrex::ParticleReal  energy 
)
private

◆ operator=() [1/2]

ScatteringProcess& ScatteringProcess::operator= ( ScatteringProcess &&  )
default

◆ operator=() [2/2]

ScatteringProcess& ScatteringProcess::operator= ( ScatteringProcess const &  )
delete

◆ parseProcessType()

ScatteringProcessType ScatteringProcess::parseProcessType ( const std::string &  process)
staticprivate

◆ readCrossSectionFile()

void ScatteringProcess::readCrossSectionFile ( const std::string &  cross_section_file,
amrex::Vector< amrex::ParticleReal > &  energies,
amrex::Gpu::HostVector< amrex::ParticleReal > &  sigmas 
)
static

Read the given cross-section data file to memory.

Parameters
cross_section_filethe path to the file containing the cross- section data
energiesvector storing energy values in eV
sigmasvector storing cross-section values

◆ sanityCheckEnergyGrid()

void ScatteringProcess::sanityCheckEnergyGrid ( const amrex::Vector< amrex::ParticleReal > &  energies,
amrex::ParticleReal  dE 
)
static

◆ type()

ScatteringProcessType ScatteringProcess::type ( ) const
inline

Member Data Documentation

◆ m_energies

amrex::Vector<amrex::ParticleReal> ScatteringProcess::m_energies
private

◆ m_exe_h

Executor ScatteringProcess::m_exe_h
private

◆ m_grid_size

int ScatteringProcess::m_grid_size
private

◆ m_sigmas_h

amrex::Gpu::HostVector<amrex::ParticleReal> ScatteringProcess::m_sigmas_h
private

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