13 #ifndef CD_ItoKMCPhotoReactionImplem_H
14 #define CD_ItoKMCPhotoReactionImplem_H
17 #include <CD_NamespaceHeader.H>
19 using namespace Physics::ItoKMC;
22 const std::list<size_t> a_targets,
23 const Real a_efficiency) noexcept
25 this->define(a_source, a_targets, a_efficiency);
35 m_targets = a_targets;
36 m_efficiency = a_efficiency;
38 const std::string baseError =
"CD_ItoKMCPhotoReactionImplem.H in function ";
39 if (m_efficiency < 0.0) {
40 const std::string derivError =
"'ItoKMCPhotoReaction::define' - efficiency must be >= 0.0";
42 MayDay::Error((baseError + derivError).c_str());
52 inline const std::list<size_t>&
64 #include <CD_NamespaceFooter.H>
Declaration of a class for holding photoionization reaction types in ito_plasma physics.
const Real & getEfficiency() const noexcept
Get reaction efficiency.
Definition: CD_ItoKMCPhotoReactionImplem.H:59
void define(const size_t a_source, const std::list< size_t > a_targets, const Real a_efficiency=1.0) noexcept
Define function.
Definition: CD_ItoKMCPhotoReactionImplem.H:32
const size_t & getSourcePhoton() const noexcept
Get the photon source.
Definition: CD_ItoKMCPhotoReactionImplem.H:47
virtual ~ItoKMCPhotoReaction() noexcept
Destructor.
Definition: CD_ItoKMCPhotoReactionImplem.H:28
size_t m_source
Source photon index.
Definition: CD_ItoKMCPhotoReaction.H:86
std::list< size_t > m_targets
Plasma product indices.
Definition: CD_ItoKMCPhotoReaction.H:91
Real m_efficiency
Reaction efficiency.
Definition: CD_ItoKMCPhotoReaction.H:96
const std::list< size_t > & getTargetSpecies() const noexcept
Get the photon target products.
Definition: CD_ItoKMCPhotoReactionImplem.H:53
ItoKMCPhotoReaction()=default
Allowed, but you need to call the define function afterwards.