Herwig 7.3.0
|
Implementation of the PomeronPDF PDFs. More...
#include <PomeronPDF.h>
Public Member Functions | |
Standard constructors and destructors. | |
PomeronPDF () | |
Default constructor. | |
Virtual functions from PDFBase | |
virtual bool | canHandleParticle (tcPDPtr particle) const |
Return true if this PDF can handle the extraction of parton from the given particle ie. | |
virtual cPDVector | partons (tcPDPtr p) const |
Return the parton types which are described by these parton densities. | |
virtual double | xfx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
Return x times the pdf for the given parameters. | |
virtual double | xfvx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
Return x times the valence pdf for the given parameters. | |
Public Member Functions inherited from ThePEG::PDFBase | |
PDFBase (const PDFBase &) | |
virtual bool | canHandleParticle (tcPDPtr particle) const=0 |
virtual bool | canHandle (tcPDPtr particle) const |
virtual bool | hasPoleIn1 (tcPDPtr particle, tcPDPtr parton) const |
virtual cPDVector | partons (tcPDPtr particle) const=0 |
virtual double | xfl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
virtual double | xfx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
virtual double | xfvl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
virtual double | xfvx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
virtual double | xfsl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
virtual double | xfsx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
virtual double | flattenL (tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double z, double &jacobian) const |
virtual double | flattenScale (tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double l, double z, double &jacobian) const |
tcRemHPtr | remnantHandler () const |
PDFBase (const PDFBase &) | |
virtual bool | canHandleParticle (tcPDPtr particle) const=0 |
virtual bool | canHandle (tcPDPtr particle) const |
virtual bool | hasPoleIn1 (tcPDPtr particle, tcPDPtr parton) const |
virtual cPDVector | partons (tcPDPtr particle) const=0 |
virtual double | xfl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
virtual double | xfx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
virtual double | xfvl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
virtual double | xfvx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
virtual double | xfsl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
virtual double | xfsx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
virtual double | flattenL (tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double z, double &jacobian) const |
virtual double | flattenScale (tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double l, double z, double &jacobian) const |
tcRemHPtr | remnantHandler () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom > | |
double | rnd () const |
double | rnd (double xu) const |
double | rnd (double xl, double xu) const |
bool | rndbool () const |
bool | rndbool (double p) const |
bool | rndbool (double p1, double p2) const |
int | rndsign (double p1, double p2, double p3) const |
int | rnd2 (double p0, double p1) const |
int | rnd3 (double p0, double p1, double p2) const |
int | rnd4 (double p0, double p1, double p2, double p3) const |
long | irnd (long xu=2) const |
long | irnd (long xl, long xu) const |
const StandardModelBase & | SM () const |
tSMPtr | standardModel () const |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual bool | defaultInit () |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual void | debugme () const |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () const |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Named (const Named &)=default | |
const string & | name () const |
bool | operator== (const Named &other) const |
bool | operator< (const Named &other) const |
Protected Member Functions | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual void | doinit () |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
Interfaced (const string &newName) | |
Interfaced (const Interfaced &i) | |
void | setGenerator (tEGPtr generator) |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual IBPtr | clone () const=0 |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Clone Methods. | |
enum | PDFFlavour { charm , gluon , singlet } |
Enumeration to storage the types of partons. More... | |
static const int | nPDFFlavour_ |
Number of PDF flavours. | |
vector< vector< vector< double > > > | pdfTable_ |
Vector of matrixes of PDF functions for different flavours: pdfTable [Flavours][Q^2][log x]. | |
vector< vector< double > > | lxGrid_ |
Vector of grid with log x values: lxGrid [Flavours] [log x]. | |
vector< vector< double > > | lqqGrid_ |
Vector of grid with log qq values: lxGrid [Flavours] [log qq]. | |
vector< string > | fileName_ |
Vector of names of PDF data files for each flavour. | |
string | rootName_ |
Base of the filename. | |
int | nxPoints_ |
Number of ln x points. | |
int | nqPoints_ |
Number of qq flavours. | |
int | PDFFit_ |
Switch between different PDF fits. | |
int | boundary_ |
Switch between different aproaches when the values are out of PDF range: 0 Extrapolate, 1 Freeze. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
PomeronPDF & | operator= (const PomeronPDF &)=delete |
The assignment operator is private and must never be called. | |
double | getPDFValue (PDFFlavour flPDF, double x, Energy2 qq) const |
This function calculates the PDF value for the given particles and a given x and q. | |
void | loadTables () const |
Load the PDF tables from file to the vectors. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Static Public Member Functions inherited from ThePEG::PDFBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::HandlerBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
Protected Types inherited from ThePEG::PDFBase | |
enum | RangeException |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
Protected Attributes inherited from ThePEG::PDFBase | |
rangeZero | |
rangeThrow | |
RemHPtr | theRemnantHandler |
RangeException | rangeException |
Implementation of the PomeronPDF PDFs.
Definition at line 29 of file PomeronPDF.h.
|
private |
Enumeration to storage the types of partons.
Definition at line 143 of file PomeronPDF.h.
|
virtual |
Return true if this PDF can handle the extraction of parton from the given particle ie.
if the particle is a proton or neutron.
particle | The particle |
Implements ThePEG::PDFBase.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
protectedvirtual |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::PDFBase.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
private |
This function calculates the PDF value for the given particles and a given x and q.
flPDF | Flavour of the PDF function |
x | The x of the pomeron |
The scale |
|
static |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
Return the parton types which are described by these parton densities.
p | The particle |
Implements ThePEG::PDFBase.
void Herwig::PomeronPDF::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::PomeronPDF::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
virtual |
Return x times the valence pdf for the given parameters.
particle | The beam particle |
parton | The parton for which to return the PDF. |
partonScale | The scale at which to evaluate the PDF. |
x | The momentum fraction |
eps | ??? an unknown parameter from ThePEG. |
particleScale | The scale for the particle |
Reimplemented from ThePEG::PDFBase.
|
virtual |
Return x times the pdf for the given parameters.
particle | The beam particle |
parton | The parton for which to return the PDF. |
partonScale | The scale at which to evaluate the PDF. |
x | The momentum fraction |
eps | ??? an unknown parameter from ThePEG. |
particleScale | The scale for the particle |
Reimplemented from ThePEG::PDFBase.
|
private |
Switch between different aproaches when the values are out of PDF range: 0 Extrapolate, 1 Freeze.
Definition at line 219 of file PomeronPDF.h.
|
private |
Vector of names of PDF data files for each flavour.
Definition at line 194 of file PomeronPDF.h.
|
mutableprivate |
Vector of grid with log qq values: lxGrid [Flavours] [log qq].
Definition at line 189 of file PomeronPDF.h.
|
mutableprivate |
Vector of grid with log x values: lxGrid [Flavours] [log x].
Definition at line 184 of file PomeronPDF.h.
|
staticprivate |
Number of PDF flavours.
Definition at line 172 of file PomeronPDF.h.
|
private |
Number of qq flavours.
Definition at line 209 of file PomeronPDF.h.
|
private |
Number of ln x points.
Definition at line 204 of file PomeronPDF.h.
|
private |
Switch between different PDF fits.
Possible values: 0 fit 2007, 1 fit A 2006, 2 fit B 2006
Definition at line 214 of file PomeronPDF.h.
|
mutableprivate |
Vector of matrixes of PDF functions for different flavours: pdfTable [Flavours][Q^2][log x].
Definition at line 179 of file PomeronPDF.h.
|
private |
Base of the filename.
Definition at line 199 of file PomeronPDF.h.