#include "SHRiMPS/Cross_Sections/Cross_Sections.H" #include "SHRiMPS/Cross_Sections/Sigma_Total.H" #include "SHRiMPS/Tools/MinBias_Parameters.H" #include "ATOOLS/Phys/Flavour.H" #include "ATOOLS/Org/Message.H" #include "ATOOLS/Math/Random.H" using namespace SHRIMPS; using namespace ATOOLS; Cross_Sections::Cross_Sections() : p_selected(NULL), m_xstot(0.), m_slope(0.), m_xsinel(0.), m_xsel(0.), m_sigma_inelastic(Sigma_Inelastic()), m_sigma_elastic(Sigma_Elastic()), m_sigma_SD(Sigma_SD()) { } Cross_Sections::~Cross_Sections() { } void Cross_Sections::CalculateCrossSections() { Sigma_Tot sigma_tot; m_xstot = sigma_tot.Calculate(); Elastic_Slope slope(m_xstot); m_slope = slope.Calculate(); m_xsinel = m_sigma_inelastic.Calculate(); m_xsel = m_sigma_elastic.Calculate(); m_sigma_elastic.FillGrids(); m_sigma_SD.FillGrids(&m_sigma_elastic); for (size_t i=0;i<2;i++) m_xsSD[i] = m_sigma_SD.GetXSec(i); m_xsDD = m_sigma_SD.GetXSec(2); msg_Info()<<"===========================================================\n" <<" sigma_tot = "<Get()); // for (std::map::iterator miter=m_modemap.begin(); // miter!=m_modemap.end();miter++) { // random -= miter->second; // if (random<=0) return miter->first; // } // return run_mode::unknown; //}