herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
PDF
PomeronFlux.h
1
// -*- C++ -*-
2
#ifndef Herwig_PomeronFlux_H
3
#define Herwig_PomeronFlux_H
4
//
5
// This is the declaration of the PomeronFlux class.
6
//
7
8
#include "ThePEG/PDF/PDFBase.h"
9
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
20
class
PomeronFlux
:
public
PDFBase
{
21
22
public
:
23
27
PomeronFlux
();
28
35
virtual
bool
canHandleParticle
(
tcPDPtr
particle)
const
;
36
41
virtual
cPDVector
partons
(
tcPDPtr
particle)
const
;
42
49
virtual
double
xfl
(
tcPDPtr
particle,
tcPDPtr
parton, Energy2 partonScale,
50
double
l, Energy2 particleScale =
ZERO
)
const
;
51
60
virtual
double
xfvl
(
tcPDPtr
particle,
tcPDPtr
parton, Energy2 partonScale,
61
double
l, Energy2 particleScale =
ZERO
)
const
;
62
75
virtual
double
flattenScale
(
tcPDPtr
particle,
tcPDPtr
parton,
76
const
PDFCuts
& cut,
double
l,
double
z,
77
double
& jacobian)
const
;
78
79
90
virtual
double
flattenL
(
tcPDPtr
particle,
tcPDPtr
parton,
const
PDFCuts
&cut,
91
double
z,
double
& jacobian)
const
;
93
94
public
:
95
102
void
persistentOutput
(
PersistentOStream
& os)
const
;
103
109
void
persistentInput
(
PersistentIStream
& is,
int
version);
111
118
static
void
Init
();
119
123
virtual
void
doinit
();
124
125
protected
:
126
133
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
134
139
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
141
142
private
:
143
148
PomeronFlux
&
operator=
(
const
PomeronFlux
&) =
delete
;
149
150
private
:
151
158
Energy2
intxFx
(
double
x, Energy2 qqmin, Energy2 qqmax,
159
double
alfa0, InvEnergy2 alfap, InvEnergy2 beta)
const
;
160
165
void
setFluxPar
();
166
167
168
private
:
169
173
Energy2
q2min_
;
174
178
Energy2
q2max_
;
179
183
double
xiMin_
;
184
188
double
xiMax_
;
189
193
double
alfa0P_
;
194
198
InvEnergy2
alfapP_
;
199
203
InvEnergy2
betaP_
;
204
208
InvEnergy2
normP_
;
209
213
double
alfa0R_
;
214
218
InvEnergy2
alfapR_
;
219
223
InvEnergy2
betaR_
;
224
228
InvEnergy2
normR_
;
229
233
double
nR_
;
234
239
int
PDFFit_
;
240
241
};
242
243
}
244
245
#endif
/* Herwig_PomeronFlux_H */
Herwig::PomeronFlux
Here is the documentation of the PomeronFlux class.
Definition:
PomeronFlux.h:20
Herwig::PomeronFlux::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::PomeronFlux::alfapP_
InvEnergy2 alfapP_
Pomeron slope.
Definition:
PomeronFlux.h:198
Herwig::PomeronFlux::flattenScale
virtual double flattenScale(tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double l, double z, double &jacobian) const
Generate scale (as a fraction of the maximum scale).
Herwig::PomeronFlux::nR_
double nR_
Factor of the pomeron flux
Definition:
PomeronFlux.h:233
Herwig::PomeronFlux::setFluxPar
void setFluxPar()
Helper function in doinit() which sets the parameters of the pomeron/regeon flux according to user se...
Herwig::PomeronFlux::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
PomeronFlux.h:139
Herwig::PomeronFlux::doinit
virtual void doinit()
Set normalization constant Ap of the pomeron flux.
Herwig::PomeronFlux::normP_
InvEnergy2 normP_
Normalization constant of the pomeron flux
Definition:
PomeronFlux.h:208
Herwig::PomeronFlux::q2min_
Energy2 q2min_
Minimum for the pomeron/reggeon.
Definition:
PomeronFlux.h:173
Herwig::PomeronFlux::xiMax_
double xiMax_
Cut on the maximum xi.
Definition:
PomeronFlux.h:188
Herwig::PomeronFlux::intxFx
Energy2 intxFx(double x, Energy2 qqmin, Energy2 qqmax, double alfa0, InvEnergy2 alfap, InvEnergy2 beta) const
Integrated pomeron/regeon flux over qq in the range qqmin ... qqmax (with normalization constant Ap =...
Herwig::PomeronFlux::betaP_
InvEnergy2 betaP_
Parameter of pomeron flux Bp
Definition:
PomeronFlux.h:203
Herwig::PomeronFlux::normR_
InvEnergy2 normR_
Normalization constant of the reggeon flux
Definition:
PomeronFlux.h:228
Herwig::PomeronFlux::flattenL
virtual double flattenL(tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double z, double &jacobian) const
Generate a momentum fraction.
Herwig::PomeronFlux::xfvl
virtual double xfvl(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const
The valence density.
Herwig::PomeronFlux::alfa0R_
double alfa0R_
Reggeon intercept
Definition:
PomeronFlux.h:213
Herwig::PomeronFlux::PomeronFlux
PomeronFlux()
Default constructor.
Herwig::PomeronFlux::partons
virtual cPDVector partons(tcPDPtr particle) const
Return the partons which this PDF may extract from the given particle.
Herwig::PomeronFlux::canHandleParticle
virtual bool canHandleParticle(tcPDPtr particle) const
Return true if this PDF can handle the extraction of partons from the given particle.
Herwig::PomeronFlux::alfapR_
InvEnergy2 alfapR_
Reggeon slope.
Definition:
PomeronFlux.h:218
Herwig::PomeronFlux::betaR_
InvEnergy2 betaR_
Parameter of reggeon flux Bp
Definition:
PomeronFlux.h:223
Herwig::PomeronFlux::operator=
PomeronFlux & operator=(const PomeronFlux &)=delete
The assignment operator is private and must never be called.
Herwig::PomeronFlux::q2max_
Energy2 q2max_
Maximum for the pomeron/reggeon.
Definition:
PomeronFlux.h:178
Herwig::PomeronFlux::PDFFit_
int PDFFit_
Switch between pomeron/regeon structure function fits.
Definition:
PomeronFlux.h:239
Herwig::PomeronFlux::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::PomeronFlux::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::PomeronFlux::xfl
virtual double xfl(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const
The density.
Herwig::PomeronFlux::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
PomeronFlux.h:133
Herwig::PomeronFlux::alfa0P_
double alfa0P_
Pomeron intercept
Definition:
PomeronFlux.h:193
Herwig::PomeronFlux::xiMin_
double xiMin_
Cut on the minimum xi.
Definition:
PomeronFlux.h:183
ThePEG::PDFBase
ThePEG::PDFCuts
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::ZERO
constexpr ZeroUnit ZERO
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6