Warning, file /include/SHERPA-MC/PDF/NNPDF/NNPDFDriver.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #pragma once
0029
0030 #include <iostream>
0031 #include <vector>
0032 #include <string>
0033 using std::string;
0034 using std::vector;
0035
0036 class NNPDFDriver {
0037
0038 private:
0039
0040
0041 static const int fM = 4;
0042 static const int fN = 4;
0043
0044 int fNFL;
0045 int fNFlavors;
0046 int fNX;
0047 vector<int> fNQ2;
0048 int fMem;
0049 int fRep;
0050 double fAlphas;
0051 double *fXGrid;
0052 double *fLogXGrid;
0053 vector<double*> fQ2Grid;
0054 vector<double*> fLogQ2Grid;
0055 vector<double****> fPDFGrid;
0056 bool fHasPhoton;
0057 bool fSingleMem;
0058
0059 double *fXpdf;
0060
0061 double fxmin;
0062 double fxmax;
0063 double fQmin;
0064 double fQmax;
0065 double fMz;
0066 int forder;
0067
0068 double fMDown;
0069 double fMUp;
0070 double fMStrange;
0071 double fMCharm;
0072 double fMBottom;
0073 double fMTop;
0074
0075
0076 public:
0077
0078 NNPDFDriver(string const& gridfilename = "", int const& rep = -1);
0079
0080 ~NNPDFDriver();
0081
0082
0083 void initPDF(int irep);
0084
0085
0086
0087 double xfx(double const& X, double const& Q2_glob, int const& ID);
0088
0089
0090 int GetNFL() { return fNFL; }
0091 int GetNFlavors() { return fNFlavors; }
0092
0093
0094 double GetAlphaSMz() { return fAlphas; }
0095
0096
0097 double GetXMin() {return fxmin; }
0098
0099
0100 double GetXMax() {return fxmax; }
0101
0102
0103 double GetQMin() {return fQmin; }
0104
0105
0106 double GetQMax() {return fQmax; }
0107
0108
0109 double GetMz() { return fMz; }
0110
0111
0112 double GetMDown() { return fMDown;}
0113 double GetMUp() { return fMUp;}
0114 double GetMStrange() { return fMStrange;}
0115 double GetMCharm() { return fMCharm;}
0116 double GetMBottom() { return fMBottom;}
0117 double GetMTop() { return fMTop;}
0118
0119
0120 int GetOrderAlphaS() { return forder; }
0121
0122
0123 bool hasPhoton() { return fHasPhoton; }
0124
0125
0126 int GetMembers() { return fMem+1; }
0127
0128 private:
0129
0130 void readPDFSet(string const&, int const&);
0131
0132
0133 void lh_polin2(double[],double[],double[][fN],
0134 double,double,double&,double&);
0135
0136 void lh_polint(double[],double[],int,double,double&,double&);
0137 };