Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SHRIMPS_EVENT_GENERATOR_BASE_H
0002 #define SHRIMPS_EVENT_GENERATOR_BASE_H
0003 
0004 #include "SHRiMPS/Cross_Sections/Sigma_Base.H"
0005 #include "SHRiMPS/Eikonals/Omega_ik.H"
0006 #include "ATOOLS/Phys/Blob_List.H"
0007 
0008 namespace SHRIMPS {
0009   class Remnant_Handler;
0010   class Cluster_Algorithm;
0011   
0012   class Event_Generator_Base {
0013   protected:
0014     Omega_ik * p_eikonal;
0015     double     m_xsec, m_smin;
0016   public:
0017     Event_Generator_Base(Sigma_Base * sigma):
0018       p_eikonal(NULL), m_xsec(sigma->XSec()), m_smin(0.) {} 
0019     ~Event_Generator_Base()   {};
0020     virtual void Reset()      {}
0021     virtual void Initialise(Remnant_Handler * remnants=NULL,
0022                 Cluster_Algorithm * cluster=NULL) {}
0023     virtual int          InitEvent(ATOOLS::Blob_List * blobs) = 0;
0024     virtual ATOOLS::Blob * GenerateEvent() = 0;
0025     virtual Omega_ik   * GetEikonal()      const { return p_eikonal;}
0026     virtual const double XSec()            const { return m_xsec; }
0027     virtual const double Smin()            const { return m_smin;}
0028     virtual const bool   IsLastRescatter() const { return false; }
0029     virtual const bool   IsMinBias()       const { return true; }
0030     virtual const double TMax()            const { return 0.; }
0031     virtual const int    NLadders()        const { return 1; }
0032     virtual const double Yhat()            const { return 0.; }
0033     virtual const double Ymax()            const { return 0.; }
0034     virtual const double KT2min()          const { return 0.; }
0035     virtual const double B()               const { return 0.; }
0036   };
0037 }
0038 #endif