lhapdf is hosted by Hepforge, IPPP Durham
LHAPDF  6.5.4
LHAGlue.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // This file is part of LHAPDF
4 // Copyright (C) 2012-2023 The LHAPDF collaboration (see AUTHORS for details)
5 //
6 #pragma once
7 #ifndef LHAPDF_LHAGlue_H
8 #define LHAPDF_LHAGlue_H
9 
12 
13 #include "LHAPDF/Version.h"
14 #if LHAPDF_LHA5CXX
15 
17 std::string lhaglue_get_current_pdf(int nset=1);
18 
19 // Compatibility preprocessor-based aliasing of deprecated "M" function names
20 #define initPDFSetM initPDFSet
21 #define initPDFSetByNameM initPDFSetByName
22 #define initPDFM initPDF
23 #define initPDFByNameM initPDFByName
24 #define getDescriptionM getDescription
25 #define xfxM xfx
26 #define xfxpM xfxp
27 #define xfxaM xfxa
28 #define xfxphotonM xfxphoton
29 #define numberPDFM numberPDF
30 #define alphasPDFM alphasPDF
31 #define getOrderPDFM getOrderPDF
32 #define getOrderAlphaSM getOrderAlphaS
33 #define getQMassM getQMass
34 #define getThresholdM getThreshold
35 #define getNfM getNf
36 #define getLam4M getLam4
37 #define getLam5M getLam5
38 #define getXminM getXmin
39 #define getXmaxM getXmax
40 #define getQ2minM getQ2min
41 #define getQ2maxM getQ2max
42 
43 namespace LHAPDF {
44 
45 
51  enum SetType {
52  EVOLVE = 0, LHPDF = 0,
53  INTERPOLATE = 1, LHGRID = 1
54  };
55 
57  enum Verbosity { SILENT=0, LOWKEY=1, DEFAULT=2 };
58 
60  inline std::string getVersion() {
61  return version();
62  }
63 
65  inline int getMaxNumSets() { return 1000; }
66 
68  inline void initLHAPDF() {}
69 
72  // This form commented due to unused variable warnings, until this can actually have an effect
73  // inline void extrapolate(bool extrapolate=true) {}
74  inline void extrapolate(bool) {}
75  inline void extrapolate() {}
76 
78  void setVerbosity(Verbosity noiselevel);
79 
81  inline void setParameter(const std::string&) {
82  std::cerr << "LHAPDF::setParameter() has no effect in LHAPDF6: "
83  << "please update your code to use the native C++ interface" << std::endl;
84  }
85 
87  bool hasPhoton();
88 
90  void setPDFPath(const string& path);
91  std::string pdfsetsPath();
92 
93 
96  void initPDFSetByName(const std::string& filename);
97  void initPDFSetByName(const std::string& filename, SetType type);
98 
101  void initPDFSetByName(int nset, const std::string& filename);
102  void initPDFSetByName(int nset, const std::string& filename, SetType type);
103 
104 
107  int numberPDF();
108 
111  int numberPDF(int nset);
112 
115  void initPDF(int memset);
116 
119  void initPDF(int nset, int memset);
120 
121 
127  double xfx(double x, double Q, int fl);
128 
134  double xfx(int nset, double x, double Q, int fl);
135 
142  void xfx(double x, double Q, double* results);
143 
150  void xfx(int nset, double x, double Q, double* results);
151 
157  std::vector<double> xfx(double x, double Q);
158 
164  std::vector<double> xfx(int nset, double x, double Q);
165 
166 
175  std::vector<double> xfxphoton(double x, double Q);
176 
183  std::vector<double> xfxphoton(int nset, double x, double Q);
184 
194  void xfxphoton(double x, double Q, double* results);
195 
205  void xfxphoton(int nset, double x, double Q, double* results);
206 
216  double xfxphoton(double x, double Q, int fl);
217 
225  double xfxphoton(int nset, double x, double Q, int fl);
226 
227 
230  void getDescription();
231 
234  void getDescription(int nset);
235 
236 
239  int getOrderAlphaS();
240 
243  int getOrderAlphaS(int nset);
244 
245 
248  int getOrderPDF();
249 
252  int getOrderPDF(int nset);
253 
254 
257  int getNf(int nset);
258 
261  int getNf();
262 
263 
266  double getLam4(int nset);
267 
270  double getLam4(int nset, int nmem);
271 
272 
275  double getLam5(int nset);
276 
279  double getLam5(int nset, int nmem);
280 
281 
284  double getXmin(int nmem);
285 
288  double getXmin(int nset, int nmem);
289 
292  double getXmax(int nset, int nmem);
293 
296  double getXmax(int nmem);
297 
298 
301  double getQ2min(int nset, int nmem);
302 
305  double getQ2min(int nmem);
306 
309  double getQ2max(int nset, int nmem);
310 
313  double getQ2max(int nmem);
314 
315 
318  double getQMass(int nset, int nf);
319 
322  double getQMass(int nf);
323 
324 
327  double getThreshold(int nset, int nf);
328 
331  double getThreshold(int nf);
332 
333 
336  double alphasPDF(double Q);
337 
340  double alphasPDF(int nset, double Q);
341 
345  void usePDFMember(int member);
346 
350  void usePDFMember(int nset, int member);
351 
354  void initPDFSet(const std::string& name, int member=0);
355  void initPDFSet(int nset ,const std::string& name, int nmem=0);
356  void initPDFSet(int setid, int member=0);
357  void initPDFSet(int nset , int setid, int nmem=0);
359  void initPDFSet(const std::string& name, SetType type, int member=0);
361  void initPDFSet(int nset, const std::string& name, SetType type, int member=0);
362 
363 }
364 
365 #endif
366 #endif
std::string version()
Get the LHAPDF library version code (as a string)
Definition: Version.h:33
void setVerbosity(int v)
Definition: Config.h:65