#ifndef PDF_CTEQ_CTEQ6_Fortran_Interface_H #define PDF_CTEQ_CTEQ6_Fortran_Interface_H #include "PDF/Main/PDF_Base.H" #include "ATOOLS/Phys/Flavour.H" namespace PDF { class CTEQ6_Fortran_Interface : public PDF_Base { private: int m_anti, m_nf; double m_f[11], m_x, m_Q; bool m_calculated[11]; public: CTEQ6_Fortran_Interface(const ATOOLS::Flavour,std::string,int); PDF_Base * GetCopy(); void CalculateSpec(const double&, const double&); double GetXPDF(const ATOOLS::Flavour&); double GetXPDF(const kf_code&, bool); static void Error(); }; /*! \class CTEQ6_Fortran_Interface \brief An interface to the cteq6 PDF package. */ /*! \var std::string CTEQ6_Fortran_Interface::m_path The path from where the initial pdfs and grids are to be loaded in. This will be handed over to the corresponding Fortran subroutine as a char*. */ /*! \var std::string CTEQ6_Fortran_Interface::m_set The name of the set to be used. Available are : 1 CTEQ6M Standard MSbar scheme cteq6m.tbl 2 CTEQ6D Standard DIS scheme cteq6d.tbl 3 CTEQ6L Leading Order cteq6l.tbl 4 CTEQ6L1 Leading Order cteq6l1.tbl */ /*! \var int CTEQ6_Fortran_Interface::m_member */ /*! \var double CTEQ6_Fortran_Interface::m_f[13] The array of the 13 pdfs. */ /*! void CTEQ6_Fortran_Interface::Calculate(const double, const double) Calculates the initialized set at a given energy fraction and a scale. Note that within the SHERPA package usually scales are handled as squares of scales, whereas within the CTEQ6 package the scales come without squaring. */ } #endif