herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
PDFRatio.h
1// -*- C++ -*-
2//
3// PDFRatio.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 The Herwig Collaboration
5//
6// Herwig 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 HERWIG_PDFRatio_H
10#define HERWIG_PDFRatio_H
11//
12// This is the declaration of the PDFRatio class.
13//
14
15#include "ThePEG/Handlers/HandlerBase.h"
16#include "ThePEG/PDF/PDF.h"
17
18namespace Herwig {
19
20using namespace ThePEG;
21
31class PDFRatio: public HandlerBase {
32
33public:
34
39
40public:
41
46 double operator() (const PDF& pdf,
47 Energy2 scale,
48 tcPDPtr from, tcPDPtr to,
49 double x, double z) const;
50
51public:
52
60
66 void persistentInput(PersistentIStream & is, int version);
68
75 static void Init();
76
77protected:
78
85 virtual IBPtr clone() const;
86
91 virtual IBPtr fullclone() const;
93
94
95// If needed, insert declarations of virtual function defined in the
96// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
97
98private:
99
105
111
116
117private:
118
124
129 PDFRatio & operator=(const PDFRatio &) = delete;
130
131};
132
133}
134
135#include "ThePEG/Utilities/ClassTraits.h"
136
137namespace ThePEG {
138
143template <>
144struct BaseClassTrait<Herwig::PDFRatio,1> {
146 typedef HandlerBase NthBase;
147};
148
151template <>
152struct ClassTraits<Herwig::PDFRatio>
153 : public ClassTraitsBase<Herwig::PDFRatio> {
155 static string className() { return "Herwig::PDFRatio"; }
163 static string library() { return "HwDipoleShower.so"; }
164};
165
168}
169
170#endif /* HERWIG_PDFRatio_H */
PDFRatio implements numerically stable PDF ratios.
Definition: PDFRatio.h:31
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
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.
virtual IBPtr clone() const
Make a simple clone of this object.
Energy theFreezingScale
The scale below which the PDF will be frozen.
Definition: PDFRatio.h:115
double theValenceExtrapolation
The x from which on extrapolation should be done for valence partons.
Definition: PDFRatio.h:104
PDFRatio()
The default constructor.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
static ClassDescription< PDFRatio > initPDFRatio
The static object used to initialize the description of this class.
Definition: PDFRatio.h:123
double theSeaExtrapolation
The x from which on extrapolation should be done for sea partons.
Definition: PDFRatio.h:110
double operator()(const PDF &pdf, Energy2 scale, tcPDPtr from, tcPDPtr to, double x, double z) const
For the given PDF, scale and partons from and to and x,z values return the ratio xf_to(x/z) / xf_from...
PDFRatio & operator=(const PDFRatio &)=delete
The assignment operator is private and must never be called.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
static string className()
static string library()