herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
ReggeonPDF.h
1 // -*- C++ -*-
2 //
3 // ReggeonPDF.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_ReggeonPDF_H
10 #define HERWIG_ReggeonPDF_H
11 
12 #include <ThePEG/PDF/PDFBase.h>
13 #include <iostream>
14 #include <fstream>
15 #include <string>
16 #include <cmath>
17 
18 namespace Herwig {
19 
20 using namespace ThePEG;
21 
31 class ReggeonPDF : public PDFBase {
32 
33 public:
34 
38  ReggeonPDF() : particleID_(111) {}
39 
47  virtual bool canHandleParticle(tcPDPtr particle) const;
48 
54  virtual cPDVector partons(tcPDPtr p) const;
55 
65  virtual double xfx(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale,
66  double x, double eps = 0.0,
67  Energy2 particleScale = ZERO) const;
68 
78  virtual double xfvx(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale,
79  double x, double eps = 0.0,
80  Energy2 particleScale = ZERO) const;
82 
83 public:
84 
91  void persistentOutput(PersistentOStream & os) const;
92 
98  void persistentInput(PersistentIStream & is, int version);
100 
107  static void Init();
108 
109 
110 protected:
111 
119  virtual void doinit();
121 
122 protected:
123 
130  virtual IBPtr clone() const;
131 
136  virtual IBPtr fullclone() const;
138 
139 
140 private:
141 
146  ReggeonPDF & operator=(const ReggeonPDF &) = delete;
147 
152 
157 
162 
163 };
164 
165 }
166 
167 #endif
Implementation of the ReggeonPDF PDFs.
Definition: ReggeonPDF.h:31
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ReggeonPDF()
Default constructor.
Definition: ReggeonPDF.h:38
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
vector< cPDPtr > cPDVector
PDPtr particle_
Pointer to the particle.
Definition: ReggeonPDF.h:161
PDFPtr ptrPDF_
Pointer to the concrete PDF reggeon structure function.
Definition: ReggeonPDF.h:151
-*- C++ -*-
ThePEG::Ptr< PDFBase >::pointer PDFPtr
constexpr ZeroUnit ZERO
long particleID_
PDG code for the particle.
Definition: ReggeonPDF.h:156