Skip to content

Commit

Permalink
Add additional alpha reactions.
Browse files Browse the repository at this point in the history
Added X(α,nγ), X(α,pγ), and X(α,α'γ) reactions from Giles and Peisach (1975), compiled by Michael Enghauser (SNL) and David Mercer (LANL).
Added capability to bring "remark" attributes of reactions out to the mouse-over info displayed on the spectrum.
  • Loading branch information
wcjohns committed Jun 18, 2024
1 parent 1a01e22 commit 2582344
Show file tree
Hide file tree
Showing 11 changed files with 785 additions and 21 deletions.
2 changes: 1 addition & 1 deletion InterSpec/IsotopeSearchByEnergyModel.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ class IsotopeSearchByEnergyModel : public Wt::WAbstractItemModel
const SandiaDecay::EnergyIntensityPair *m_xray;

const ReactionGamma::Reaction *m_reaction;
ReactionGamma::EnergyAbundance m_reactionEnergy;
ReactionGamma::Reaction::EnergyYield m_reactionEnergy;

Wt::WString m_displayData[NumColumns];
};//struct IsotopeMatch
Expand Down
15 changes: 14 additions & 1 deletion InterSpec/ReactionGamma.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ enum ReactionType
AlphaProton, //gammas produced by alpha,p sources; X(a,p). ex. N14 + alpha -> O17 + proton + gammas
NeutronCapture, //neutron capture reactions; X(a,n). nucleus + neutron -> (nucleus+1n) + gammas
NeutronInelasticScatter, //inelastic scatters; X(a,n). nucleus + neutron -> nucleus + neutron + gammas
AlphaInelasticScatter, //inelastic scatters; X(a,a). nucleus + alpha -> nucleus + alpha + gammas
AnnihilationReaction,
NumReactionType
};//enum ReactionType
Expand Down Expand Up @@ -121,7 +122,17 @@ class ReactionGamma
std::string name() const;

ReactionType type;
std::vector<EnergyAbundance> gammas; //sorted by energy

std::string remark;

struct EnergyYield
{
float energy;
float abundance;
std::string remark; //will be empty if not given
};//struct EnergyYield

std::vector<EnergyYield> gammas; //sorted by energy
const SandiaDecay::Nuclide *targetNuclide; //may be null if rates given for natural abundance
const SandiaDecay::Element *targetElement; //may be null if rate is given for individual nuclide
const SandiaDecay::Nuclide *productNuclide; //may be null if targetNuclide is null
Expand All @@ -139,6 +150,7 @@ class ReactionGamma
const Reaction *reaction; //only valid as long as the ReactionGamma object
// used to create this is; not owned by this
// ReactionPhotopeak
std::string remark;
};//struct ReactionPhotopeak

//ReactionGamma(...): will throw exception on mis-formed XML or invalid
Expand All @@ -162,6 +174,7 @@ class ReactionGamma
//(a,p) is alphaproton : N14, Al27
//(n,g) is neutroncapture : Al27, Be9, Bi, Ca, C, Cl, Cr, Cu, Fe, Ge, H, Mg, N, Ni, O, Pb, Si, Ta,
//(n,n') is neutroninelasticscatter : Al27, Fe
//(a,a') is alphainelasticscatter
std::string gammas( const std::string &name,
std::vector<ReactionPhotopeak> &answer ) const;

Expand Down
3 changes: 2 additions & 1 deletion InterSpec_resources/app_text/RelActManualGui.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<message id="mrend-X(a,p)">Alphas on {1} creating protons</message>
<message id="mrend-X(n,g)">Slow neutrons on {1} being captured</message>
<message id="mrend-X(n,n)">Fast neutrons inelastically scattering off {1}</message>
<message id="mrend-X(a,a)">Inelastic alpha scattering off {1}</message>
<message id="mrend-annih">Annihilation gammas</message>
<message id="mrend-unknown-rxctn">Unknown reaction</message>
<message id="mrend-X(,)"></message>
Expand Down Expand Up @@ -94,4 +95,4 @@
<message id="ramg-consider-add-uncert-u">You may want to consider adding "Add. Uncert" for Uranium problems.</message>
<message id="ramg-you-using-add-uncert-u">You are adding "Add. Uncert" - interpret computed uncertainties with care.</message>
<message id="ramg-you-using-add-uncert-non-u">You are currently adding "Add. Uncert", which will cause computed uncertainties to not be correct.</message>
</messages>
</messages>
Loading

0 comments on commit 2582344

Please sign in to comment.