Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:15

0001 #ifndef SHRIMPS_Main_Double_Diffractive_Event_Generator_H
0002 #define SHRIMPS_Main_Double_Diffractive_Event_Generator_H
0003 
0004 #include "SHRiMPS/Event_Generation/Event_Generator_Base.H"
0005 #include "SHRiMPS/Beam_Remnants/Beam_Remnant_Handler.H"
0006 #include "SHRiMPS/Cross_Sections/Sigma_DD.H"
0007 #include "ATOOLS/Phys/Blob_List.H"
0008 #include "ATOOLS/Math/Function_Base.H"
0009 #include "ATOOLS/Org/CXXFLAGS.H"
0010 #include "ATOOLS/Math/Histogram.H"
0011 #include <vector>
0012 #include <map>
0013 
0014 namespace SHRIMPS {
0015   class Double_Diffractive_Event_Generator : public Event_Generator_Base {
0016   private:
0017     Sigma_DD             * p_sigma;
0018     Beam_Remnant_Handler * p_beams;
0019     ATOOLS::Flavour        m_beam1, m_beam2, m_out1, m_out2;                 
0020     ATOOLS::Vec4D          m_p1, m_p2, m_p1out, m_p2out;
0021     double                 m_pl12, m_pl22, m_sign1;
0022     bool                   m_needsboost;
0023     double                 m_accu;
0024     int                    m_test;
0025 
0026     std::map<std::string, ATOOLS::Histogram * > m_histomap;
0027 
0028     void   FixKinematics();
0029   public:
0030     Double_Diffractive_Event_Generator();
0031     Double_Diffractive_Event_Generator(Sigma_DD * sigma,
0032                        Beam_Remnant_Handler * beams,
0033                        const int & test=0);
0034     ~Double_Diffractive_Event_Generator();
0035 
0036     bool DoubleDiffractiveEvent(ATOOLS::Blob_List * blobs,
0037                 const double & xsec=0.);
0038     Omega_ik * GetEikonal() const { return NULL; }
0039     double Smin()   const { return 0.; }
0040   };
0041 }
0042 #endif