21 #include "Conventions/GBuild.h" 25 #ifdef __GENIE_LHAPDF_ENABLED__ 29 #include "LHAPDF/LHAPDF.h" 41 using namespace genie;
65 #ifdef __GENIE_LHAPDF_ENABLED__ 69 bool lhapath_ok =
true;
70 const char * lhapath = gSystem->Getenv(
"LHAPATH");
71 if(!lhapath) lhapath_ok =
false;
73 void *dirp = gSystem->OpenDirectory(lhapath);
74 if (dirp) gSystem->FreeDirectory(dirp);
75 else lhapath_ok =
false;
80 <<
"** LHAPDF won't be able to read-in the PDF data. \n" 81 <<
"** The LHAPATH env. variable is not properly (or at all) defined. \n" 82 <<
"** Please, set LHAPATH to <lhapdf_top_dir>/PDFsets/ \n" 83 <<
"** See http://projects.hepforge.org/lhapdf/ for more details. \n\n";
106 #ifdef __GENIE_LHAPDF_ENABLED__ 118 LHAPDF::SetType stype = (type==0) ? LHAPDF::LHPDF : LHAPDF::LHGRID;
120 LHAPDF::initPDFByName(name, stype, memset);
121 LHAPDF::extrapolate(
false);
201 #ifdef __GENIE_LHAPDF_ENABLED__ 207 double Q = TMath::Sqrt( TMath::Abs(Q2) );
209 vector<double> pdfs = LHAPDF::xfx(x, Q);
210 pdf.uval = pdfs[8] - pdfs[4];
211 pdf.dval = pdfs[7] - pdfs[5];
PDF_t AllPDFs(double x, double Q2) const
#include "Numerical/GSFunc.h"
void SetPDFSetFromConfig(void) const
double Q2(const Interaction *const i)
double Bottom(double x, double Q2) const
double Charm(double x, double Q2) const
Pure abstract base class. Defines the PDFModelI interface to be implemented by any algorithmic class ...
void Configure(const Registry &config)
Configure the algorithm.
double Strange(double x, double Q2) const
void Get(RgKey key, const RegistryItemI *&item) const
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
double DownValence(double x, double Q2) const
virtual void Configure(const Registry &config)
Configure the algorithm.
A struct to hold PDF set data.
A registry. Provides the container for algorithm configuration parameters.
double UpSea(double x, double Q2) const
double Top(double x, double Q2) const
double Gluon(double x, double Q2) const
Registry * fConfig
config. (either owned or pointing to config pool)
double UpValence(double x, double Q2) const
double DownSea(double x, double Q2) const
void Initialize(void) const