lhapdf
is hosted by
Hepforge
,
IPPP Durham
LHAPDF
6.5.4
Main page
PDF sets
Class hierarchy
Functions
Examples
More...
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Groups
Pages
include
LHAPDF
Factories.h
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_Factories_H
8
#define LHAPDF_Factories_H
9
10
#include <string>
11
12
namespace
LHAPDF {
13
14
15
// Forward declarations to avoid circular dependencies
16
class
PDF;
17
class
Info;
18
class
PDFSet;
19
class
PDFInfo;
20
class
Config;
21
class
Interpolator;
22
class
Extrapolator;
23
class
AlphaS;
24
25
28
31
36
PDF*
mkPDF
(
const
std::string& setname,
size_t
member);
37
42
PDF*
mkPDF
(
int
lhaid);
43
55
PDF*
mkPDF
(
const
std::string& setname_nmem);
56
58
59
62
78
PDFSet&
getPDFSet
(
const
std::string& setname);
79
81
void
mkPDFs
(
const
std::string& setname, std::vector<PDF*>& pdfs);
82
84
std::vector<PDF*>
mkPDFs
(
const
std::string& setname);
85
89
template
<
typename
PTR>
90
void
mkPDFs
(
const
std::string& setname, std::vector<PTR>& pdfs) {
91
std::vector<PDF*> rawptrs;
92
mkPDFs
(setname, rawptrs);
93
pdfs.clear();
94
pdfs.reserve(rawptrs.size());
95
// for (const PDF* p : rawptrs) pdfs.push_back(PTR(p)); //< Reinstate when C++11 is guaranteed, without flags
96
for
(
size_t
i = 0; i < rawptrs.size(); ++i) pdfs.push_back(PTR(rawptrs[i]));
97
}
98
100
101
104
114
// Config& getConfig();
115
Info&
getConfig
();
116
121
PDFInfo*
mkPDFInfo
(
const
std::string& setname,
size_t
member);
122
127
PDFInfo*
mkPDFInfo
(
int
lhaid);
128
140
PDFInfo*
mkPDFInfo
(
const
std::string& setname_nmem);
141
143
144
147
152
Interpolator*
mkInterpolator
(
const
std::string& name);
153
154
159
Extrapolator*
mkExtrapolator
(
const
std::string& name);
160
162
163
166
174
AlphaS*
mkAlphaS
(
const
Info& info);
175
183
AlphaS*
mkAlphaS
(
const
std::string& setname,
size_t
member);
184
192
AlphaS*
mkAlphaS
(
int
lhaid);
193
209
AlphaS*
mkAlphaS
(
const
std::string& setname_nmem);
210
211
217
AlphaS*
mkBareAlphaS
(
const
std::string& type);
218
220
222
223
}
224
#endif
LHAPDF::getPDFSet
PDFSet & getPDFSet(const std::string &setname)
LHAPDF::mkPDF
PDF * mkPDF(const std::string &setname, size_t member)
LHAPDF::getConfig
Info & getConfig()
LHAPDF::mkExtrapolator
Extrapolator * mkExtrapolator(const std::string &name)
LHAPDF::mkPDFInfo
PDFInfo * mkPDFInfo(const std::string &setname, size_t member)
LHAPDF::mkAlphaS
AlphaS * mkAlphaS(const Info &info)
Make an AlphaS object from an Info object.
LHAPDF::mkPDFs
void mkPDFs(const std::string &setname, std::vector< PDF * > &pdfs)
Get all PDFs in a named set (return by filling the supplied vector).
LHAPDF::mkInterpolator
Interpolator * mkInterpolator(const std::string &name)
LHAPDF::mkBareAlphaS
AlphaS * mkBareAlphaS(const std::string &type)
Make an AlphaS object of the requested type without a PDF reference.
Generated by
1.8.5