herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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
38
MPIPDF
(
cPDFPtr
orig =
cPDFPtr
()) :
thePDF
(orig) {}
39
40
public
:
41
48
virtual
bool
canHandleParticle
(
tcPDPtr
particle)
const
;
49
54
virtual
cPDVector
partons
(
tcPDPtr
particle)
const
;
55
63
virtual
double
xfx
(
tcPDPtr
particle,
tcPDPtr
parton, Energy2 partonScale,
64
double
x,
double
eps = 0.0,
65
Energy2 particleScale =
ZERO
)
const
;
66
67
77
virtual
double
xfvx
(
tcPDPtr
particle,
tcPDPtr
parton, Energy2 partonScale,
78
double
x,
double
eps = 0.0,
79
Energy2 particleScale =
ZERO
)
const
;
81
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
protected
:
110
117
virtual
IBPtr
clone
()
const
;
118
123
virtual
IBPtr
fullclone
()
const
;
125
126
127
// If needed, insert declarations of virtual function defined in the
128
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
129
130
131
private
:
132
137
MPIPDF
&
operator=
(
const
MPIPDF
&) =
delete
;
138
142
cPDFPtr
thePDF
;
143
};
144
145
}
146
147
#endif
/* HERWIG_MPIPDF_H */
Herwig::MPIPDF
The MPIPDF class defines a modified pdf which uses an existing pdf object to add modifications like r...
Definition:
MPIPDF.h:31
Herwig::MPIPDF::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MPIPDF::canHandleParticle
virtual bool canHandleParticle(tcPDPtr particle) const
Return true if this PDF can handle the extraction of partons from the given particle.
Herwig::MPIPDF::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::MPIPDF::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MPIPDF::operator=
MPIPDF & operator=(const MPIPDF &)=delete
The assignment operator is private and must never be called.
Herwig::MPIPDF::xfx
virtual double xfx(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const
The density.
Herwig::MPIPDF::xfvx
virtual double xfvx(tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const
The valence density.
Herwig::MPIPDF::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::MPIPDF::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MPIPDF::thePDF
cPDFPtr thePDF
pointer to the underlying ThePEG::PDFBase object, we are modifying.
Definition:
MPIPDF.h:142
Herwig::MPIPDF::partons
virtual cPDVector partons(tcPDPtr particle) const
Return the partons which this PDF may extract from the given particle.
Herwig::MPIPDF::MPIPDF
MPIPDF(cPDFPtr orig=cPDFPtr())
The constructor which takes a PDF object as argument, to work with.
Definition:
MPIPDF.h:38
ThePEG::PDFBase
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::cPDFPtr
ThePEG::Ptr< PDFBase >::const_pointer cPDFPtr
ThePEG::ZERO
constexpr ZeroUnit ZERO
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6