#include "SHRiMPS/Event_Generation/Quasi_Elastic_Event_Generator.H" #include "ATOOLS/Org/Run_Parameter.H" #include "ATOOLS/Org/Message.H" #include "ATOOLS/Math/Random.H" using namespace SHRIMPS; Quasi_Elastic_Event_Generator:: Quasi_Elastic_Event_Generator(Elastic_Event_Generator * elastic, Single_Diffractive_Event_Generator * singdiff, Double_Diffractive_Event_Generator * doubdiff) : p_elastic(elastic), p_singdiff(singdiff),p_doubdiff(doubdiff), m_el(p_elastic->XSec()), m_sd(p_singdiff->XSec()), m_dd(p_doubdiff->XSec()), m_stot(m_el+m_sd+m_dd) { msg_Tracking()<Get()); disc -= m_dd; if (disc<=0.) return p_doubdiff->DoubleDiffractiveEvent(blobs,m_stot); disc -= m_sd; if (disc<=0.) return p_singdiff->SingleDiffractiveEvent(blobs,m_stot); disc -= m_el; if (disc>0.) msg_Error()<<"Potential error in "<ElasticEvent(blobs,m_stot); }