File indexing completed on 2025-04-19 09:10:16
0001 #ifndef SHRIMPS_Main_Quasi_Elastic_Event_Generator_H
0002 #define SHRIMPS_Main_Quasi_Elastic_Event_Generator_H
0003
0004 #include "SHRiMPS/Event_Generation/Event_Generator_Base.H"
0005 #include "SHRiMPS/Event_Generation/Elastic_Event_Generator.H"
0006 #include "SHRiMPS/Event_Generation/Single_Diffractive_Event_Generator.H"
0007 #include "SHRiMPS/Event_Generation/Double_Diffractive_Event_Generator.H"
0008 #include "ATOOLS/Phys/Blob_List.H"
0009 #include "ATOOLS/Math/Function_Base.H"
0010 #include "ATOOLS/Org/CXXFLAGS.H"
0011 #include <vector>
0012
0013 namespace SHRIMPS {
0014 class Quasi_Elastic_Event_Generator : public Event_Generator_Base , public ATOOLS::Function_Base {
0015 private:
0016 Elastic_Event_Generator * p_elastic;
0017 Single_Diffractive_Event_Generator * p_singdiff;
0018 Double_Diffractive_Event_Generator * p_doubdiff;
0019 double m_el, m_sd, m_dd, m_stot;
0020 public:
0021 Quasi_Elastic_Event_Generator(Sigma_Base * sigma) {}
0022 Quasi_Elastic_Event_Generator(Elastic_Event_Generator * elastic,
0023 Single_Diffractive_Event_Generator * sdiff,
0024 Double_Diffractive_Event_Generator * ddiff);
0025
0026 bool QuasiElasticEvent(ATOOLS::Blob_List * blobs,const double & xsec=0.);
0027 };
0028 }
0029 #endif