herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
18 namespace Herwig {
19 
20 using namespace ThePEG;
21 
31 class PDFRatio: public HandlerBase {
32 
33 public:
34 
40  PDFRatio();
41 
45  virtual ~PDFRatio();
47 
48 public:
49 
54  double operator() (const PDF& pdf,
55  Energy2 scale,
56  tcPDPtr from, tcPDPtr to,
57  double x, double z) const;
58 
59 public:
60 
67  void persistentOutput(PersistentOStream & os) const;
68 
74  void persistentInput(PersistentIStream & is, int version);
76 
83  static void Init();
84 
85 protected:
86 
93  virtual IBPtr clone() const;
94 
99  virtual IBPtr fullclone() const;
101 
102 
103 // If needed, insert declarations of virtual function defined in the
104 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
105 
106 private:
107 
113 
119 
124 
125 private:
126 
132 
137  PDFRatio & operator=(const PDFRatio &) = delete;
138 
139 };
140 
141 }
142 
143 #include "ThePEG/Utilities/ClassTraits.h"
144 
145 namespace ThePEG {
146 
151 template <>
152 struct BaseClassTrait<Herwig::PDFRatio,1> {
154  typedef HandlerBase NthBase;
155 };
156 
159 template <>
160 struct ClassTraits<Herwig::PDFRatio>
161  : public ClassTraitsBase<Herwig::PDFRatio> {
163  static string className() { return "Herwig::PDFRatio"; }
171  static string library() { return "HwDipoleShower.so"; }
172 };
173 
176 }
177 
178 #endif /* HERWIG_PDFRatio_H */
double theSeaExtrapolation
The x from which on extrapolation should be done for sea partons.
Definition: PDFRatio.h:118
double theValenceExtrapolation
The x from which on extrapolation should be done for valence partons.
Definition: PDFRatio.h:112
static ClassDescription< PDFRatio > initPDFRatio
The static object used to initialize the description of this class.
Definition: PDFRatio.h:131
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Energy theFreezingScale
The scale below which the PDF will be frozen.
Definition: PDFRatio.h:123
-*- C++ -*-
PDFRatio implements numerically stable PDF ratios.
Definition: PDFRatio.h:31