12 #ifndef CD_ItoKMCSurfaceReactionSetImplem_H
13 #define CD_ItoKMCSurfaceReactionSetImplem_H
17 #include <CD_NamespaceHeader.H>
19 using namespace Physics::ItoKMC;
30 if (a_surface == Surface::Dielectric) {
31 if (a_speciesType == Species::Plasma) {
32 m_dielectricPlasmaReactions[a_speciesIndex].add(a_reaction);
34 else if (a_speciesType == Species::Photon) {
35 m_dielectricPhotonReactions[a_speciesIndex].add(a_reaction);
38 MayDay::Error(
"ItoKMCSurfaceReaction::add - logic bust 1");
41 else if (a_surface == Surface::Electrode) {
42 if (a_speciesType == Species::Plasma) {
43 m_electrodePlasmaReactions[a_speciesIndex].add(a_reaction);
45 else if (a_speciesType == Species::Photon) {
46 m_electrodePhotonReactions[a_speciesIndex].add(a_reaction);
49 MayDay::Error(
"ItoKMCSurfaceReaction::add - logic bust 2");
53 MayDay::Error(
"ItoKMCSurfaceReaction::add - logic bust 3");
57 inline const std::map<size_t, ItoKMCSurfaceReactions>&
63 inline const std::map<size_t, ItoKMCSurfaceReactions>&
69 inline const std::map<size_t, ItoKMCSurfaceReactions>&
75 inline const std::map<size_t, ItoKMCSurfaceReactions>&
81 #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:96
Species
Local enum for specifying species type.
Definition: CD_ItoKMCSurfaceReactionSet.H:41
virtual ~ItoKMCSurfaceReactionSet() noexcept
Destructor.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:21
std::map< size_t, ItoKMCSurfaceReactions > m_dielectricPhotonReactions
Dielectric reaction set where outgoing species is a photon species.
Definition: CD_ItoKMCSurfaceReactionSet.H:101
void add(const size_t a_speciesIndex, const ItoKMCSurfaceReaction &a_reaction, const ItoKMCSurfaceReactionSet::Surface a_surface, const ItoKMCSurfaceReactionSet::Species a_speciesType) noexcept
Add a reaction @πaram[in] a_speciesIndex Species index.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:25
std::map< size_t, ItoKMCSurfaceReactions > m_electrodePlasmaReactions
Electrode reaction set where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSet.H:106
Surface
Local enum for specifying surface type.
Definition: CD_ItoKMCSurfaceReactionSet.H:32
const std::map< size_t, ItoKMCSurfaceReactions > & getElectrodePhotonReactions() const noexcept
Get the electrode surface reactions where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:76
const std::map< size_t, ItoKMCSurfaceReactions > & getDielectricPlasmaReactions() const noexcept
Get the dielectric surface reactions where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:58
std::map< size_t, ItoKMCSurfaceReactions > m_electrodePhotonReactions
Electrode reaction set where outgoing species is a photon species.
Definition: CD_ItoKMCSurfaceReactionSet.H:111
const std::map< size_t, ItoKMCSurfaceReactions > & getDielectricPhotonReactions() const noexcept
Get the dielectric surface reactions where outgoing species is a photon species.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:64
const std::map< size_t, ItoKMCSurfaceReactions > & getElectrodePlasmaReactions() const noexcept
Get the electrode surface reactions where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:70
Reaction class for describing secondary emissions due to a single outgoing particle in ItoKMCPhysics.
Definition: CD_ItoKMCSurfaceReaction.H:32