ARTEMIS
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
MCCProcess Class Reference

#include <MCCProcess.H>

Classes

struct  Executor
 

Public Member Functions

 MCCProcess (const std::string &scattering_process, const std::string &cross_section_file, const amrex::ParticleReal energy)
 
template<typename InputVector >
 MCCProcess (const std::string &scattering_process, const InputVector &&energies, const InputVector &&sigmas, const amrex::ParticleReal energy)
 
 MCCProcess (MCCProcess const &)=delete
 
MCCProcessoperator= (MCCProcess const &)=delete
 
 MCCProcess (MCCProcess &&)=default
 
MCCProcessoperator= (MCCProcess &&)=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
 
MCCProcessType 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, const amrex::ParticleReal energy)
 

Static Private Member Functions

static MCCProcessType 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

◆ MCCProcess() [1/4]

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

◆ MCCProcess() [2/4]

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

◆ MCCProcess() [3/4]

MCCProcess::MCCProcess ( MCCProcess const &  )
delete

◆ MCCProcess() [4/4]

MCCProcess::MCCProcess ( MCCProcess &&  )
default

Member Function Documentation

◆ executor()

Executor const& MCCProcess::executor ( ) const
inline

◆ getCrossSection()

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

◆ getEnergyInputStep()

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

◆ getEnergyPenalty()

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

◆ getMaxEnergyInput()

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

◆ getMinEnergyInput()

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

◆ init()

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

◆ operator=() [1/2]

MCCProcess& MCCProcess::operator= ( MCCProcess &&  )
default

◆ operator=() [2/2]

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

◆ parseProcessType()

MCCProcessType MCCProcess::parseProcessType ( const std::string &  process)
staticprivate

◆ readCrossSectionFile()

void MCCProcess::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 MCCProcess::sanityCheckEnergyGrid ( const amrex::Vector< amrex::ParticleReal > &  energies,
amrex::ParticleReal  dE 
)
static

◆ type()

MCCProcessType MCCProcess::type ( ) const
inline

Member Data Documentation

◆ m_energies

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

◆ m_exe_h

Executor MCCProcess::m_exe_h
private

◆ m_grid_size

int MCCProcess::m_grid_size
private

◆ m_sigmas_h

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

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