lhapdf is hosted by Hepforge, IPPP Durham
LHAPDF 6.5.1
LHAGlue.h
Go to the documentation of this file.
1// -*- C++ -*-
2//
3// This file is part of LHAPDF
4// Copyright (C) 2012-2022 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
17std::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
43namespace 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
void setVerbosity(int v)
Definition: Config.h:61
Namespace for all LHAPDF functions and classes.
Definition: AlphaS.h:14
std::string version()
Get the LHAPDF library version code (as a string)
Definition: Version.h:33