16 #include "Framework/Conventions/GBuild.h"
20 #ifdef __GENIE_LHAPDF5_ENABLED__
21 #include "LHAPDF/LHAPDF.h"
24 using namespace genie;
48 #ifdef __GENIE_LHAPDF5_ENABLED__
49 bool lhapath_ok =
true;
50 const char * lhapath = gSystem->Getenv(
"LHAPATH");
51 if(!lhapath) lhapath_ok =
false;
53 void *dirp = gSystem->OpenDirectory(lhapath);
54 if (dirp) gSystem->FreeDirectory(dirp);
55 else lhapath_ok =
false;
60 <<
"** LHAPDF won't be able to read-in the PDF data. \n"
61 <<
"** The LHAPATH env. variable is not properly (or at all) defined. \n"
62 <<
"** Please, set LHAPATH to <lhapdf_top_dir>/PDFsets/ \n"
63 <<
"** See http://projects.hepforge.org/lhapdf/ for more details. \n\n";
75 #ifdef __GENIE_LHAPDF5_ENABLED__
82 this->
GetParam(
"memset_lhapdf", memset);
84 LHAPDF::SetType stype = (type==0) ? LHAPDF::LHPDF : LHAPDF::LHGRID;
86 LHAPDF::initPDFByName(name, stype, memset);
87 LHAPDF::extrapolate(
false);
137 #ifdef __GENIE_LHAPDF5_ENABLED__
146 #ifdef __GENIE_LHAPDF5_ENABLED__
148 double Q = TMath::Sqrt( TMath::Abs(
Q2) );
150 vector<double> pdfs = LHAPDF::xfx(x, Q);
151 pdf.uval = pdfs[8] - pdfs[4];
152 pdf.dval = pdfs[7] - pdfs[5];
double Gluon(double x, double Q2) const
double Q2(const Interaction *const i)
double Charm(double x, double Q2) const
void Initialize(void) const
double Bottom(double x, double Q2) const
double DownSea(double x, double Q2) const
Pure abstract base class. Defines the PDFModelI interface to be implemented by wrapper classes to exi...
virtual const Registry & GetConfig(void) const
void SetPDFSetFromConfig(void) const
double UpSea(double x, double Q2) const
double Top(double x, double Q2) const
double DownValence(double x, double Q2) const
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
virtual void Configure(const Registry &config)
void Configure(const Registry &config)
A struct to hold PDF set data.
A registry. Provides the container for algorithm configuration parameters.
double UpValence(double x, double Q2) const
double Strange(double x, double Q2) const
PDF_t AllPDFs(double x, double Q2) const
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const