Function elem::effectiveDaughters

Function Documentation

auto elem::effectiveDaughters(const IsotopeData &parent, const IsotopeList &skippedIsotopes) -> std::vector<IsotopeDecayData>

An isotope’s decay daughters, with skipped (instantly decaying) isotopes resolved into their own descendants.

Parameters:
  • parent – The isotope whose daughters to resolve

  • skippedIsotopes – Isotopes treated as decaying instantly – see DecayChain::DecayChain()’s own comment

Returns:

One entry per decay path from parent to its first descendant not in skippedIsotopes: parent.daughters() itself, except that each daughter found in skippedIsotopes (by (Z, A)) is replaced, recursively, by that daughter’s own resolved daughters, with branching ratios multiplied along the path. Every path ends at a non-skipped isotope, since every decay chain ends in a stable nucleus and stable nuclei are never skipped. The same descendant can appear more than once, via different paths; callers sum such entries, as they already do for an isotope listing the same daughter more than once.