thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDF
GRVBase.h
1
// -*- C++ -*-
2
//
3
// GRVBase.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
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_GRVBase_H
10
#define ThePEG_GRVBase_H
11
// This is the declaration of the GRVBase class.
12
13
#include "ThePEG/PDF/PDFBase.h"
14
15
namespace
ThePEG
{
16
24
class
GRVBase
:
public
PDFBase
{
25
26
public
:
27
33
GRVBase
();
34
38
virtual
~GRVBase
();
40
41
public
:
42
49
virtual
bool
canHandleParticle
(
tcPDPtr
particle)
const
;
50
55
virtual
cPDVector
partons
(
tcPDPtr
p)
const
;
56
62
virtual
double
xfl
(
tcPDPtr
particle,
tcPDPtr
parton,
Energy2
partonScale,
63
double
l,
Energy2
particleScale)
const
;
64
70
virtual
double
xfvl
(
tcPDPtr
particle,
tcPDPtr
parton,
Energy2
partonScale,
71
double
l,
Energy2
particleScale)
const
;
73
74
public
:
75
82
double
S
()
const
{
return
theS
; }
83
88
double
S2
()
const
{
return
theS2
; }
89
94
double
S3
()
const
{
return
theS3
; }
95
100
double
rootS
()
const
{
return
theRootS
; }
101
105
double
x
()
const
{
return
thex
; }
106
111
double
lx
()
const
{
return
theLx
; }
112
116
double
eps
()
const
{
return
theEps
; }
117
122
double
rootx
()
const
{
return
theRootx
; }
123
125
126
protected
:
127
132
virtual
void
setup
(
double
l,
Energy2
scale)
const
= 0;
133
138
void
setup
(
double
l,
Energy2
scale,
Energy2
mu2,
Energy2
lam2)
const
;
139
143
double
valens
(
double
N,
double
ak,
double
bk,
144
double
a,
double
b,
double
c,
double
d)
const
;
145
150
double
lightsea
(
double
al,
double
be,
double
ak,
double
bk,
double
a,
151
double
b,
double
c,
double
d,
double
e,
double
es)
const
;
152
156
double
heavysea
(
double
sth,
double
al,
double
be,
double
ak,
double
ag,
157
double
b,
double
d,
double
e,
double
es)
const
;
158
163
virtual
double
uv
()
const
= 0;
164
169
virtual
double
dv
()
const
= 0;
170
175
virtual
double
del
()
const
= 0;
176
181
virtual
double
udb
()
const
= 0;
182
187
virtual
double
sb
()
const
= 0;
188
193
virtual
double
cb
()
const
= 0;
194
199
virtual
double
bb
()
const
= 0;
200
205
virtual
double
gl
()
const
= 0;
206
211
double
fuv
()
const
{
return
uvSave
>= 0.0?
uvSave
: (
uvSave
=
uv
() ); }
212
217
double
fdv
()
const
{
return
dvSave
>= 0.0?
dvSave
: (
dvSave
=
dv
() ); }
218
223
double
fdel
()
const
{
return
delSave
>= 0.0?
delSave
: (
delSave
=
del
() ); }
224
229
double
fudb
()
const
{
return
udbSave
>= 0.0?
udbSave
: (
udbSave
=
udb
() ); }
230
235
double
fsb
()
const
{
return
sbSave
>= 0.0?
sbSave
: (
sbSave
=
sb
() ); }
236
241
double
fcb
()
const
{
return
cbSave
>= 0.0?
cbSave
: (
cbSave
=
cb
() ); }
242
247
double
fbb
()
const
{
return
bbSave
>= 0.0?
bbSave
: (
bbSave
=
bb
() ); }
248
253
double
fgl
()
const
{
return
glSave
>= 0.0?
glSave
: (
glSave
=
gl
() ); }
254
255
public
:
256
260
static
void
Init
();
261
262
private
:
263
268
mutable
double
theLx
;
269
273
mutable
double
thex
;
274
278
mutable
double
theEps
;
279
283
mutable
double
theRootx
;
284
288
mutable
Energy2
Q2
;
289
293
mutable
Energy2
theLam2
;
294
298
mutable
Energy2
theMu2
;
299
304
mutable
double
theS
;
305
309
mutable
double
theS2
;
310
314
mutable
double
theS3
;
315
319
mutable
double
theRootS
;
320
324
mutable
double
uvSave
;
325
329
mutable
double
dvSave
;
330
334
mutable
double
delSave
;
335
339
mutable
double
udbSave
;
340
344
mutable
double
sbSave
;
345
349
mutable
double
cbSave
;
350
354
mutable
double
bbSave
;
355
359
mutable
double
glSave
;
360
361
private
:
362
366
GRVBase
&
operator=
(
const
GRVBase
&) =
delete
;
367
368
};
369
370
}
371
372
#endif
/* ThePEG_GRVBase_H */
ThePEG::GRVBase
GRVBase inherits from PDFBase and is used as a base class for all GRV parton densities.
Definition:
GRVBase.h:24
ThePEG::GRVBase::theRootS
double theRootS
Return last selected .
Definition:
GRVBase.h:319
ThePEG::GRVBase::cb
virtual double cb() const =0
Return the value of the c density for the values previously given by setup().
ThePEG::GRVBase::setup
virtual void setup(double l, Energy2 scale) const =0
Setup the l and scale to be used in the following call to uv(), dv)=, etc.
ThePEG::GRVBase::thex
double thex
THe last selected momentum fraction, .
Definition:
GRVBase.h:273
ThePEG::GRVBase::fgl
double fgl() const
fgl() returns the saved values from the gl() functions if present.
Definition:
GRVBase.h:253
ThePEG::GRVBase::theMu2
Energy2 theMu2
The last used .
Definition:
GRVBase.h:298
ThePEG::GRVBase::theS3
double theS3
Return last selected .
Definition:
GRVBase.h:314
ThePEG::GRVBase::del
virtual double del() const =0
Return the value of the difference between the u and d sea densities for the values previously given ...
ThePEG::GRVBase::bb
virtual double bb() const =0
Return the value of the b density for the values previously given by setup().
ThePEG::GRVBase::S3
double S3() const
Return last selected .
Definition:
GRVBase.h:94
ThePEG::GRVBase::fdv
double fdv() const
fdv() returns the saved values from the dv() functions if present.
Definition:
GRVBase.h:217
ThePEG::GRVBase::x
double x() const
Return last selected momentum fraction, .
Definition:
GRVBase.h:105
ThePEG::GRVBase::delSave
double delSave
Saved values from the different functions.
Definition:
GRVBase.h:334
ThePEG::GRVBase::fudb
double fudb() const
fudb() returns the saved values from the udb() functions if present.
Definition:
GRVBase.h:229
ThePEG::GRVBase::theLam2
Energy2 theLam2
The last used .
Definition:
GRVBase.h:293
ThePEG::GRVBase::S
double S() const
Return last selected .
Definition:
GRVBase.h:82
ThePEG::GRVBase::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::GRVBase::dv
virtual double dv() const =0
Return the value of the d valens density for the values previously given by setup().
ThePEG::GRVBase::theEps
double theEps
One minus the last selected momentum fraction, eps .
Definition:
GRVBase.h:278
ThePEG::GRVBase::xfl
virtual double xfl(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale) const
Return the value of the density of parton at the given a scale and log fractional momentum l (the opt...
ThePEG::GRVBase::theS
double theS
The last selected .
Definition:
GRVBase.h:304
ThePEG::GRVBase::bbSave
double bbSave
Saved values from the different functions.
Definition:
GRVBase.h:354
ThePEG::GRVBase::theRootx
double theRootx
The square root of the last selected momentum fraction, .
Definition:
GRVBase.h:283
ThePEG::GRVBase::setup
void setup(double l, Energy2 scale, Energy2 mu2, Energy2 lam2) const
Setup the l and scale to be used in the following call to uv(), dv)=, etc.
ThePEG::GRVBase::fdel
double fdel() const
fdel() returns the saved values from the del() functions if present.
Definition:
GRVBase.h:223
ThePEG::GRVBase::theLx
double theLx
The last selected logarithmic momentum fraction .
Definition:
GRVBase.h:268
ThePEG::GRVBase::cbSave
double cbSave
Saved values from the different functions.
Definition:
GRVBase.h:349
ThePEG::GRVBase::gl
virtual double gl() const =0
Return the value of the gluon densities for the values previously given by setup().
ThePEG::GRVBase::dvSave
double dvSave
Saved values from the different functions.
Definition:
GRVBase.h:329
ThePEG::GRVBase::xfvl
virtual double xfvl(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale) const
Return the valaens partof the density of parton at the given a scale and log fractional momentum l (t...
ThePEG::GRVBase::operator=
GRVBase & operator=(const GRVBase &)=delete
Private and non-existent assignment operator.
ThePEG::GRVBase::~GRVBase
virtual ~GRVBase()
Destructor.
ThePEG::GRVBase::uv
virtual double uv() const =0
Return the value of the u valens density for the values previously given by setup().
ThePEG::GRVBase::rootx
double rootx() const
Return the square root of the last selected momentum fraction, .
Definition:
GRVBase.h:122
ThePEG::GRVBase::fuv
double fuv() const
fuv() returns the saved values from the quv() functions if present.
Definition:
GRVBase.h:211
ThePEG::GRVBase::sb
virtual double sb() const =0
Return the value of the s density for the values previously given by setup().
ThePEG::GRVBase::Q2
Energy2 Q2
The last selected scale.
Definition:
GRVBase.h:288
ThePEG::GRVBase::lightsea
double lightsea(double al, double be, double ak, double bk, double a, double b, double c, double d, double e, double es) const
The form of the light sea and gluon density functions.
ThePEG::GRVBase::S2
double S2() const
Return last selected .
Definition:
GRVBase.h:88
ThePEG::GRVBase::canHandleParticle
virtual bool canHandleParticle(tcPDPtr particle) const
Return true if this PDF can handle the extraction of parton from the given particle,...
ThePEG::GRVBase::GRVBase
GRVBase()
Default constructor.
ThePEG::GRVBase::glSave
double glSave
Saved values from the different functions.
Definition:
GRVBase.h:359
ThePEG::GRVBase::fcb
double fcb() const
fcb() returns the saved values from the cb() functions if present.
Definition:
GRVBase.h:241
ThePEG::GRVBase::lx
double lx() const
Return last selected logarithmic momentum fraction .
Definition:
GRVBase.h:111
ThePEG::GRVBase::fbb
double fbb() const
fbb() returns the saved values from the bb() functions if present.
Definition:
GRVBase.h:247
ThePEG::GRVBase::valens
double valens(double N, double ak, double bk, double a, double b, double c, double d) const
The form of the valens density functions.
ThePEG::GRVBase::theS2
double theS2
Return last selected .
Definition:
GRVBase.h:309
ThePEG::GRVBase::eps
double eps() const
Return one minus the last selected momentum fraction, eps .
Definition:
GRVBase.h:116
ThePEG::GRVBase::heavysea
double heavysea(double sth, double al, double be, double ak, double ag, double b, double d, double e, double es) const
The form of the heavy sea density functions.
ThePEG::GRVBase::uvSave
double uvSave
Saved values from the different functions.
Definition:
GRVBase.h:324
ThePEG::GRVBase::udb
virtual double udb() const =0
Return the value of the average u and d sea densities for the values previously given by setup().
ThePEG::GRVBase::udbSave
double udbSave
Saved values from the different functions.
Definition:
GRVBase.h:339
ThePEG::GRVBase::rootS
double rootS() const
Return last selected .
Definition:
GRVBase.h:100
ThePEG::GRVBase::partons
virtual cPDVector partons(tcPDPtr p) const
Return the parton types which are described by these parton densities.
ThePEG::GRVBase::fsb
double fsb() const
fsb() returns the saved values from the sb() functions if present.
Definition:
GRVBase.h:235
ThePEG::GRVBase::sbSave
double sbSave
Saved values from the different functions.
Definition:
GRVBase.h:344
ThePEG::PDFBase
PDFBase is the base class for implementing parton density functions for particles with sub-structure.
Definition:
PDFBase.h:40
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::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