Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SHRIMPS_Cross_Sections_Sigma_Base_H
0002 #define SHRIMPS_Cross_Sections_Sigma_Base_H
0003 #include "SHRiMPS/Eikonals/Omega_ik.H"
0004 #include "SHRiMPS/Tools/MinBias_Parameters.H"
0005 #include "ATOOLS/Phys/Flavour.H"
0006 #include "ATOOLS/Org/CXXFLAGS.H"
0007 #include <list>
0008 
0009 namespace SHRIMPS {
0010   class Sigma_Base : public ATOOLS::Function_Base {
0011   protected:
0012     std::vector<std::vector<Omega_ik *> > * p_eikonals;
0013     Omega_ik              * p_eikonal;
0014     double                  m_originalY, m_cutoffY, m_Y, m_E;
0015     double                  m_accu;
0016     double                  m_sigma;
0017   public:
0018     Sigma_Base() : p_eikonals(MBpars.GetEikonals()), m_sigma(0.) { }
0019 
0020     virtual void   SetEikonal(Omega_ik * eikonal)    { p_eikonal = eikonal; }
0021     virtual void   SetSigma(const double & sigma=-1) { m_sigma = sigma; }
0022     virtual const double & XSec() const              { return m_sigma; }
0023 
0024     virtual double Calculate(Omega_ik * eikonal=NULL);
0025     virtual double operator()(double B);
0026 
0027     virtual double GetValue(const double & B)         = 0;
0028     virtual double GetCombinedValue(const double & B) = 0;
0029   };
0030 }
0031 #endif