Skip to content

Decay classes

Oliver Kirsebom requested to merge tripledecay_class into release

This merge request provides a number of changes/improvements to sim3a:

  • A new, purely virtual, Decay class
  • Three new derived classes, TripleAlphaDecay, TripleAlphaDecayBetaRecoil and TripleAlphaDecayInterference
  • Minor changes to the interfaces of DecayWeight, BalamuthWeight and BalamuthMultiWeight (formerly, BalamuthMultiWaveWeight)

Previously, sim3a only had a single decay class called TripleDecay. I think the new approach provides a cleaner and improved separation of this class into smaller classes each with a more well-defined scope.

Note the two different use-case scenarios:

  1. If you know the mixing ratios and relative phases, you can use BalamuthMultiWeight combined with TripleAlphaDecay to simulate a triple-alpha decay with two (or more) L values, saving the weight returned by the Generate() method to the output ROOT file.

  2. If the mixing ratio and relative phase are unknown (e.g. you want to constrain them via a Dalitz fit), you use instead BalamuthWeight combined with TripleAlphaDecayInterference and save the four values returned by the GetFactors() method to the output ROOT file.

(We can perhaps think of renaming the GetFactors() method to something a bit more informative...)

Edited by Oliver Kirsebom

Merge request reports