diff --git a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h index c5ea7705b41416d1c2aa3e7eb5c7ec6c2c869a9a..745f107e69ceaa3f6efac242b3badd9cbbc32e36 100644 --- a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h +++ b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h @@ -59,6 +59,9 @@ namespace ISF { inline HepMC::ConstGenParticlePtr getGenerationZeroTruthParticle() const; inline void setGenerationZeroTruthParticle(HepMC::GenParticlePtr p); + /** Create a TruthBinding for a child particle */ + inline TruthBinding* childTruthBinding(HepMC::GenParticlePtr childP) const; + private: HepMC::GenParticlePtr m_truthParticle{}; //!< pointer to particle in MC truth HepMC::GenParticlePtr m_primaryTruthParticle{}; //!< pointer to corresponding primary (generator) particle diff --git a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.icc b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.icc index a8fe524692c22ebff5a15add341f5bd441900083..36e1a3e046c11e4e5d1142822e564731775b4a4c 100644 --- a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.icc +++ b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.icc @@ -88,4 +88,9 @@ namespace ISF { HepMC::ConstGenParticlePtr TruthBinding::getGenerationZeroTruthParticle() const { return m_generationZeroTruthParticle; } void TruthBinding::setGenerationZeroTruthParticle(HepMC::GenParticlePtr p) { m_generationZeroTruthParticle = p; } + /** Create a TruthBinding for a child particle */ + TruthBinding* TruthBinding::childTruthBinding(HepMC::GenParticlePtr childP) const { + return new TruthBinding(childP, m_primaryTruthParticle, childP); + } + } // end ISF namespace