thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDF
NuclearPhotonPDF.h
1
// -*- C++ -*-
2
#ifndef ThePEG_NuclearPhotonPDF_H
3
#define ThePEG_NuclearPhotonPDF_H
4
//
5
// This is the declaration of the NuclearPhotonPDF class.
6
//
7
8
#include "ThePEG/PDF/PDFBase.h"
9
#include "ThePEG/Utilities/Maths.h"
10
#include "NucleonFormFactor.h"
11
12
namespace
ThePEG
{
13
20
class
NuclearPhotonPDF
:
public
PDFBase
{
21
22
public
:
23
27
NuclearPhotonPDF
();
28
29
public
:
30
37
virtual
bool
canHandleParticle
(
tcPDPtr
particle)
const
;
38
43
virtual
cPDVector
partons
(
tcPDPtr
particle)
const
;
44
51
virtual
double
xfl
(
tcPDPtr
particle,
tcPDPtr
parton,
Energy2
partonScale,
52
double
l,
Energy2
particleScale = 0.0*GeV2)
const
;
53
62
virtual
double
xfvl
(
tcPDPtr
particle,
tcPDPtr
parton,
Energy2
partonScale,
63
double
l,
Energy2
particleScale = 0.0*GeV2)
const
;
64
78
virtual
double
flattenScale
(
tcPDPtr
particle,
tcPDPtr
parton,
79
const
PDFCuts
& cut,
double
l,
double
z,
80
double
& jacobian)
const
;
81
82
93
virtual
double
flattenL
(
tcPDPtr
particle,
tcPDPtr
parton,
const
PDFCuts
&cut,
94
double
z,
double
& jacobian)
const
;
96
97
98
public
:
99
106
void
persistentOutput
(
PersistentOStream
& os)
const
;
107
113
void
persistentInput
(
PersistentIStream
& is,
int
version);
115
122
static
void
Init
();
123
124
protected
:
125
132
virtual
IBPtr
clone
()
const
;
133
138
virtual
IBPtr
fullclone
()
const
;
140
141
private
:
142
147
NuclearPhotonPDF
&
operator=
(
const
NuclearPhotonPDF
&) =
delete
;
148
149
private
:
150
154
Energy2
q2Min_
;
155
159
Energy2
q2Max_
;
160
164
NucleonFormFactorPtr
form_
;
165
};
166
167
}
168
169
#endif
/* ThePEG_NuclearPhotonPDF_H */
ThePEG::NuclearPhotonPDF
The NuclearPhotonPDF class implements the PDF for the radiation of a photon from a heavy ion.
Definition:
NuclearPhotonPDF.h:20
ThePEG::NuclearPhotonPDF::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::NuclearPhotonPDF::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::NuclearPhotonPDF::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::NuclearPhotonPDF::xfvl
virtual double xfvl(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=0.0 *GeV2) const
The valence density.
ThePEG::NuclearPhotonPDF::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).
ThePEG::NuclearPhotonPDF::form_
NucleonFormFactorPtr form_
The form factor.
Definition:
NuclearPhotonPDF.h:164
ThePEG::NuclearPhotonPDF::xfl
virtual double xfl(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=0.0 *GeV2) const
The density.
ThePEG::NuclearPhotonPDF::q2Max_
Energy2 q2Max_
Maximum for the photon.
Definition:
NuclearPhotonPDF.h:159
ThePEG::NuclearPhotonPDF::q2Min_
Energy2 q2Min_
Minimum for the photon.
Definition:
NuclearPhotonPDF.h:154
ThePEG::NuclearPhotonPDF::partons
virtual cPDVector partons(tcPDPtr particle) const
Return the partons which this PDF may extract from the given particle.
ThePEG::NuclearPhotonPDF::operator=
NuclearPhotonPDF & operator=(const NuclearPhotonPDF &)=delete
The assignment operator is private and must never be called.
ThePEG::NuclearPhotonPDF::canHandleParticle
virtual bool canHandleParticle(tcPDPtr particle) const
Return true if this PDF can handle the extraction of partons from the given particle.
ThePEG::NuclearPhotonPDF::NuclearPhotonPDF
NuclearPhotonPDF()
The default constructor.
ThePEG::NuclearPhotonPDF::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::NuclearPhotonPDF::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::NuclearPhotonPDF::flattenL
virtual double flattenL(tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double z, double &jacobian) const
Generate a momentum fraction.
ThePEG::PDFBase
PDFBase is the base class for implementing parton density functions for particles with sub-structure.
Definition:
PDFBase.h:40
ThePEG::PDFCuts
The PDFCuts class is used to specify cuts on scale and momentum fractions for which a PDFBase object ...
Definition:
PDFCuts.h:27
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::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