lhapdf
is hosted by
Hepforge
,
IPPP Durham
LHAPDF
6.5.4
Loading...
Searching...
No Matches
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::AlphaS
Calculator interface for computing alpha_s(Q2) in various ways.
Definition
AlphaS.h:24
LHAPDF::Extrapolator
The general interface for extrapolating beyond grid boundaries.
Definition
Extrapolator.h:20
LHAPDF::Info
Metadata base class for PDFs, PDF sets, or global configuration.
Definition
Info.h:29
LHAPDF::Interpolator
The general interface for interpolating between grid points.
Definition
Interpolator.h:21
LHAPDF::PDFInfo
Metadata class for PDF members.
Definition
PDFInfo.h:18
LHAPDF::PDFSet
Class for PDF-set metadata and manipulation.
Definition
PDFSet.h:105
LHAPDF::PDF
PDF is the general interface for access to parton density information.
Definition
PDF.h:40
LHAPDF::mkBareAlphaS
AlphaS * mkBareAlphaS(const std::string &type)
Make an AlphaS object of the requested type without a PDF reference.
LHAPDF::mkAlphaS
AlphaS * mkAlphaS(const Info &info)
Make an AlphaS object from an Info object.
LHAPDF::mkPDFInfo
PDFInfo * mkPDFInfo(const std::string &setname, size_t member)
LHAPDF::getConfig
Info & getConfig()
LHAPDF::mkExtrapolator
Extrapolator * mkExtrapolator(const std::string &name)
LHAPDF::mkInterpolator
Interpolator * mkInterpolator(const std::string &name)
LHAPDF::mkPDF
PDF * mkPDF(const std::string &setname, size_t member)
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::getPDFSet
PDFSet & getPDFSet(const std::string &setname)
LHAPDF
Namespace for all LHAPDF functions and classes.
Definition
AlphaS.h:14
Generated on Thu Sep 26 2024 15:19:26 for LHAPDF by
1.12.0