thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDF
LHAPDF6.h
1
// -*- C++ -*-
2
//
3
// LHAPDF6.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 2014-2019 Leif Lonnblad, David Grellscheid
5
//
6
// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef THEPEG_LHAPDF6_H
10
#define THEPEG_LHAPDF6_H
11
//
12
// This is the declaration of the LHAPDF class.
13
//
14
15
#include "ThePEG/PDF/PDFBase.h"
16
17
namespace
LHAPDF {
18
class
PDF;
19
}
20
21
namespace
ThePEG
{
22
37
class
LHAPDF
:
public
PDFBase
{
38
39
public
:
40
46
LHAPDF
();
47
51
LHAPDF
(
const
LHAPDF
&);
53
54
public
:
55
62
virtual
bool
canHandleParticle
(
tcPDPtr
particle)
const
;
63
68
virtual
cPDVector
partons
(
tcPDPtr
particle)
const
;
69
76
virtual
double
xfx
(
tcPDPtr
particle,
tcPDPtr
parton,
Energy2
partonScale,
77
double
x,
double
eps = 0.0,
78
Energy2
particleScale =
ZERO
)
const
;
79
88
virtual
double
xfvl
(
tcPDPtr
particle,
tcPDPtr
parton,
Energy2
partonScale,
89
double
l,
Energy2
particleScale =
ZERO
)
const
;
90
99
virtual
double
xfvx
(
tcPDPtr
particle,
tcPDPtr
parton,
Energy2
partonScale,
100
double
x,
double
eps = 0.0,
101
Energy2
particleScale =
ZERO
)
const
;
102
112
virtual
double
xfsx
(
tcPDPtr
particle,
tcPDPtr
parton,
Energy2
partonScale,
113
double
x,
double
eps = 0.0,
114
Energy2
particleScale =
ZERO
)
const
;
116
117
124
const
string
&
PDFName
()
const
{
return
thePDFName
; }
125
129
int
member
()
const
{
return
theMember
; }
130
136
int
maxFlav
()
const
{
return
theMaxFlav
; }
138
139
protected
:
140
147
void
initPDFptr
();
148
152
void
setPDFName
(
string
name
);
153
157
void
setPDFMember
(
int
n);
158
162
string
doTest
(
string
input);
164
165
public
:
166
173
void
persistentOutput
(
PersistentOStream
& os)
const
;
174
180
void
persistentInput
(
PersistentIStream
& is,
int
version);
182
189
static
void
Init
();
190
191
protected
:
192
199
virtual
IBPtr
clone
()
const
;
200
205
virtual
IBPtr
fullclone
()
const
;
207
208
public
:
209
212
class
NotInstalled:
public
InterfaceException {};
213
216
// If needed, insert declarations of virtual function defined in the
217
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
218
219
protected
:
220
228
virtual
void
doinit
();
229
234
virtual
void
doinitrun
();
235
240
virtual
void
dofinish
();
242
243
private
:
244
248
::LHAPDF::PDF *
thePDF
;
249
253
string
thePDFName
;
254
258
int
theMember
;
259
265
int
theMaxFlav
;
266
270
double
xMin
;
271
275
double
xMax
;
276
280
Energy2
Q2Min
;
281
285
Energy2
Q2Max
;
286
287
private
:
288
293
LHAPDF
&
operator=
(
const
LHAPDF
&) =
delete
;
294
295
};
296
297
}
298
299
#endif
/* THEPEG_LHAPDF6_H */
ThePEG::InterfacedBase::name
string name() const
Returns the name of this object, without the path.
Definition:
InterfacedBase.h:88
ThePEG::LHAPDF
The LHAPDF class inherits from PDFBase and implements an interface to the LHAPDF library of parton de...
Definition:
LHAPDF6.h:37
ThePEG::LHAPDF::partons
virtual cPDVector partons(tcPDPtr particle) const
Return the partons which this PDF may extract from the given particle.
ThePEG::LHAPDF::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::LHAPDF::operator=
LHAPDF & operator=(const LHAPDF &)=delete
The assignment operator is private and must never be called.
ThePEG::LHAPDF::PDFName
const string & PDFName() const
The name if the PDF set to be used.
Definition:
LHAPDF6.h:124
ThePEG::LHAPDF::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::LHAPDF::thePDFName
string thePDFName
The name of the selected PDF set.
Definition:
LHAPDF6.h:253
ThePEG::LHAPDF::canHandleParticle
virtual bool canHandleParticle(tcPDPtr particle) const
Return true if this PDF can handle the extraction of partons from the given particle.
ThePEG::LHAPDF::theMember
int theMember
The chosen member of the selected PDF set.
Definition:
LHAPDF6.h:258
ThePEG::LHAPDF::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::LHAPDF::thePDF
::LHAPDF::PDF * thePDF
LHAPDF member object.
Definition:
LHAPDF6.h:248
ThePEG::LHAPDF::dofinish
virtual void dofinish()
Finalize this object.
ThePEG::LHAPDF::xMax
double xMax
The maximum -value for the current PDF set.
Definition:
LHAPDF6.h:275
ThePEG::LHAPDF::xfsx
virtual double xfsx(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const
The sea density.
ThePEG::LHAPDF::Q2Min
Energy2 Q2Min
The minimum -value for the current PDF set.
Definition:
LHAPDF6.h:280
ThePEG::LHAPDF::xfvl
virtual double xfvl(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const
The valence density.
ThePEG::LHAPDF::setPDFName
void setPDFName(string name)
Used by the interface to select a set according to a file name.
ThePEG::LHAPDF::member
int member() const
The chosen member of the selected PDF set.
Definition:
LHAPDF6.h:129
ThePEG::LHAPDF::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::LHAPDF::xfx
virtual double xfx(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const
The density.
ThePEG::LHAPDF::Q2Max
Energy2 Q2Max
The maximum -value for the current PDF set.
Definition:
LHAPDF6.h:285
ThePEG::LHAPDF::doinitrun
virtual void doinitrun()
Initialize this object.
ThePEG::LHAPDF::initPDFptr
void initPDFptr()
Initialize the LHAPDF library for the chosen PDF set if it has not been done before.
ThePEG::LHAPDF::xMin
double xMin
The minimum -value for the current PDF set.
Definition:
LHAPDF6.h:270
ThePEG::LHAPDF::maxFlav
int maxFlav() const
The maximum number of flavours for which non-zero densities are reported.
Definition:
LHAPDF6.h:136
ThePEG::LHAPDF::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::LHAPDF::xfvx
virtual double xfvx(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const
The valence density.
ThePEG::LHAPDF::doTest
string doTest(string input)
Interface for simple tests.
ThePEG::LHAPDF::theMaxFlav
int theMaxFlav
The maximum number of flavours for which non-zero densities are reported.
Definition:
LHAPDF6.h:265
ThePEG::LHAPDF::LHAPDF
LHAPDF(const LHAPDF &)
The copy constructor.
ThePEG::LHAPDF::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::LHAPDF::LHAPDF
LHAPDF()
The default constructor.
ThePEG::LHAPDF::setPDFMember
void setPDFMember(int n)
Used by the interface to select a member in the current set.
ThePEG::PDFBase
PDFBase is the base class for implementing parton density functions for particles with sub-structure.
Definition:
PDFBase.h:40
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::Qty< 0, 2, 0 >
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::ZERO
constexpr ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
Definition:
PhysicalQty.h:35
ThePEG::cPDVector
vector< cPDPtr > cPDVector
A vector of pointers to const ParticleData objects.
Definition:
Containers.h:36
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6