herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
PDF
MPIPDF.h
1
// -*- C++ -*-
2
//
3
// MPIPDF.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_MPIPDF_H
10
#define HERWIG_MPIPDF_H
11
//
12
// This is the declaration of the MPIPDF class.
13
//
14
15
#include "ThePEG/PDF/PDFBase.h"
16
#include "MPIPDF.fh"
17
18
namespace
Herwig
{
19
using namespace
ThePEG
;
31
class
MPIPDF
:
public
PDFBase
{
32
33
public
:
34
37
41
MPIPDF
(
cPDFPtr
orig =
cPDFPtr
()) : thePDF(orig) {}
42
46
virtual
~
MPIPDF
();
48
49
public
:
50
57
virtual
bool
canHandleParticle(
tcPDPtr
particle)
const
;
58
63
virtual
cPDVector
partons(
tcPDPtr
particle)
const
;
64
72
virtual
double
xfx(
tcPDPtr
particle,
tcPDPtr
parton, Energy2 partonScale,
73
double
x,
double
eps = 0.0,
74
Energy2 particleScale =
ZERO
)
const
;
75
76
86
virtual
double
xfvx(
tcPDPtr
particle,
tcPDPtr
parton, Energy2 partonScale,
87
double
x,
double
eps = 0.0,
88
Energy2 particleScale =
ZERO
)
const
;
90
91
92
public
:
93
100
void
persistentOutput(
PersistentOStream
& os)
const
;
101
107
void
persistentInput(
PersistentIStream
& is,
int
version);
109
116
static
void
Init();
117
118
protected
:
119
126
virtual
IBPtr
clone()
const
;
127
132
virtual
IBPtr
fullclone()
const
;
134
135
136
// If needed, insert declarations of virtual function defined in the
137
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
138
139
140
private
:
141
146
MPIPDF
& operator=(
const
MPIPDF
&) =
delete
;
147
151
cPDFPtr
thePDF
;
152
};
153
154
}
155
156
#endif
/* HERWIG_MPIPDF_H */
ThePEG::PersistentIStream
Herwig::MPIPDF::thePDF
cPDFPtr thePDF
pointer to the underlying ThePEG::PDFBase object, we are modifying.
Definition:
MPIPDF.h:151
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG
Herwig::MPIPDF::MPIPDF
MPIPDF(cPDFPtr orig=cPDFPtr())
The constructor which takes a PDF object as argument, to work with.
Definition:
MPIPDF.h:41
Herwig::MPIPDF
The MPIPDF class defines a modified pdf which uses an existing pdf object to add modifications like r...
Definition:
MPIPDF.h:31
ThePEG::PDFBase
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::cPDFPtr
ThePEG::Ptr< PDFBase >::const_pointer cPDFPtr
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ZERO
constexpr ZeroUnit ZERO
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13