Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SHRIMPS_Cross_Sections_Cross_Sections_H
0002 #define SHRIMPS_Cross_Sections_Cross_Sections_H
0003 
0004 #include "SHRiMPS/Cross_Sections/Sigma_Inelastic.H"
0005 #include "SHRiMPS/Cross_Sections/Sigma_Elastic.H"
0006 #include "SHRiMPS/Cross_Sections/Sigma_SD.H"
0007 //#include "SHRiMPS/Cross_Sections/Sigma_DD.H"
0008 #include "SHRiMPS/Eikonals/Omega_ik.H"
0009 #include <list>
0010 #include <map>
0011 
0012 namespace SHRIMPS {
0013   class Cross_Sections {
0014   private:
0015     Omega_ik      * p_selected;       
0016     double          m_xstot, m_slope, m_xsinel, m_xsel, m_xsSD[2], m_xsDD;
0017     Sigma_Inelastic m_sigma_inelastic;
0018     Sigma_Elastic   m_sigma_elastic;
0019     Sigma_SD        m_sigma_SD;
0020     std::map<run_mode::code,double> m_modemap;
0021   public:
0022     Cross_Sections();
0023     ~Cross_Sections();
0024     
0025     void CalculateCrossSections();
0026     void Test(const std::string & dirname);
0027     //run_mode::code SelectCollisionMode();
0028 
0029     //std::list<Omega_ik *> * GetEikonals() { return p_eikonals; }    
0030 
0031     Sigma_Inelastic * GetSigmaInelastic() { return (&m_sigma_inelastic); }
0032     Sigma_Elastic   * GetSigmaElastic()   { return (&m_sigma_elastic); }
0033     Sigma_SD        * GetSigmaSD()        { return (&m_sigma_SD); }
0034 
0035     const double & SigmaTot()        const { return m_xstot; }
0036     const double & SigmaSD(size_t i) const { return m_xsSD[i]; }
0037     const double & SigmaDD()         const { return m_xsDD; }
0038     const double & SigmaEl()         const { return m_xsel; }
0039     const double & SigmaInel()       const { return m_xsinel; }
0040     const double & ElasticSlope()    const { return m_slope; }
0041   };
0042 }
0043 #endif