13#ifndef CD_ITOKMCSURFACEREACTIONSETIMPLEM_H
14#define CD_ITOKMCSURFACEREACTIONSETIMPLEM_H
18#include <CD_NamespaceHeader.H>
20using namespace Physics::ItoKMC;
31 if (a_surface == Surface::Dielectric) {
32 if (a_speciesType == Species::Plasma) {
33 m_dielectricPlasmaReactions[a_speciesIndex].add(a_reaction);
35 else if (a_speciesType == Species::Photon) {
36 m_dielectricPhotonReactions[a_speciesIndex].add(a_reaction);
39 MayDay::Error(
"ItoKMCSurfaceReaction::add - logic bust 1");
42 else if (a_surface == Surface::Electrode) {
43 if (a_speciesType == Species::Plasma) {
44 m_electrodePlasmaReactions[a_speciesIndex].add(a_reaction);
46 else if (a_speciesType == Species::Photon) {
47 m_electrodePhotonReactions[a_speciesIndex].add(a_reaction);
50 MayDay::Error(
"ItoKMCSurfaceReaction::add - logic bust 2");
54 MayDay::Error(
"ItoKMCSurfaceReaction::add - logic bust 3");
58inline const std::map<size_t, ItoKMCSurfaceReactions>&
64inline const std::map<size_t, ItoKMCSurfaceReactions>&
70inline const std::map<size_t, ItoKMCSurfaceReactions>&
76inline const std::map<size_t, ItoKMCSurfaceReactions>&
82#include <CD_NamespaceFooter.H>
Declaration of a class that encapsulates a set of secondary emission reactions.
std::map< size_t, ItoKMCSurfaceReactions > m_dielectricPlasmaReactions
Dielectric reaction set where outgoing species is a plasma species.
Definition CD_ItoKMCSurfaceReactionSet.H:101
Species
Local enum for specifying species type.
Definition CD_ItoKMCSurfaceReactionSet.H:42
virtual ~ItoKMCSurfaceReactionSet() noexcept
Destructor.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:22
std::map< size_t, ItoKMCSurfaceReactions > m_dielectricPhotonReactions
Dielectric reaction set where outgoing species is a photon species.
Definition CD_ItoKMCSurfaceReactionSet.H:106
void add(const size_t a_speciesIndex, const ItoKMCSurfaceReaction &a_reaction, const ItoKMCSurfaceReactionSet::Surface a_surface, const ItoKMCSurfaceReactionSet::Species a_speciesType) noexcept
Add a surface reaction to the set.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:26
std::map< size_t, ItoKMCSurfaceReactions > m_electrodePlasmaReactions
Electrode reaction set where outgoing species is a plasma species.
Definition CD_ItoKMCSurfaceReactionSet.H:111
Surface
Local enum for specifying surface type.
Definition CD_ItoKMCSurfaceReactionSet.H:33
const std::map< size_t, ItoKMCSurfaceReactions > & getElectrodePhotonReactions() const noexcept
Get the electrode surface reactions where the outgoing species is a photon species.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:77
const std::map< size_t, ItoKMCSurfaceReactions > & getDielectricPlasmaReactions() const noexcept
Get the dielectric surface reactions where the outgoing species is a plasma species.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:59
std::map< size_t, ItoKMCSurfaceReactions > m_electrodePhotonReactions
Electrode reaction set where outgoing species is a photon species.
Definition CD_ItoKMCSurfaceReactionSet.H:116
const std::map< size_t, ItoKMCSurfaceReactions > & getDielectricPhotonReactions() const noexcept
Get the dielectric surface reactions where the outgoing species is a photon species.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:65
const std::map< size_t, ItoKMCSurfaceReactions > & getElectrodePlasmaReactions() const noexcept
Get the electrode surface reactions where the outgoing species is a plasma species.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:71
Reaction class for describing secondary emissions due to a single outgoing particle in ItoKMCPhysics.
Definition CD_ItoKMCSurfaceReaction.H:34