herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
PDF
MinBiasPDF.h
1
// -*- C++ -*-
2
//
3
// MinBiasPDF.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_MinBiasPDF_H
10
#define HERWIG_MinBiasPDF_H
11
//
12
// This is the declaration of the MinBiasPDF class.
13
//
14
15
#include "ThePEG/PDF/PDFBase.h"
16
#include "MinBiasPDF.fh"
17
18
namespace
Herwig
{
19
using namespace
ThePEG
;
31
class
MinBiasPDF
:
public
PDFBase
{
32
33
public
:
34
40
MinBiasPDF
() : thePDF(
PDFPtr
()) {}
41
45
MinBiasPDF
(
const
MinBiasPDF
& x) :
46
PDFBase
(x), thePDF(x.thePDF) {}
47
51
virtual
~MinBiasPDF
() {}
52
54
55
public
:
56
63
virtual
bool
canHandleParticle(
tcPDPtr
particle)
const
;
64
69
virtual
cPDVector
partons(
tcPDPtr
particle)
const
;
70
77
virtual
double
xfx(
tcPDPtr
particle,
tcPDPtr
parton, Energy2 partonScale,
78
double
x,
double
eps=0.0, Energy2 particleScale =
ZERO
)
const
;
79
89
virtual
double
xfvx(
tcPDPtr
particle,
tcPDPtr
parton, Energy2 partonScale,
90
double
x,
double
eps=0.0, Energy2 particleScale =
ZERO
)
const
;
92
94
tcPDFPtr
originalPDF
()
const
{
return
thePDF;}
95
96
public
:
97
104
void
persistentOutput(
PersistentOStream
& os)
const
;
105
111
void
persistentInput(
PersistentIStream
& is,
int
version);
113
120
static
void
Init();
121
122
protected
:
123
130
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
); }
131
136
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
); }
138
139
140
// If needed, insert declarations of virtual function defined in the
141
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
142
143
144
private
:
145
150
MinBiasPDF
& operator=(
const
MinBiasPDF
&) =
delete
;
151
155
PDFPtr
thePDF
;
156
157
};
158
159
}
160
161
#endif
/* HERWIG_MinBiasPDF_H */
Herwig::MinBiasPDF::MinBiasPDF
MinBiasPDF(const MinBiasPDF &x)
The copy constructor.
Definition:
MinBiasPDF.h:45
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::tcPDFPtr
ThePEG::Ptr< PDFBase >::transient_const_pointer tcPDFPtr
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG
Herwig::MinBiasPDF::~MinBiasPDF
virtual ~MinBiasPDF()
The destructor.
Definition:
MinBiasPDF.h:51
Herwig::MinBiasPDF::thePDF
PDFPtr thePDF
pointer to the underlying ThePEG::PDFBase object, we are modifying.
Definition:
MinBiasPDF.h:155
ThePEG::PDFBase
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::MinBiasPDF
The MinBiasPDF class defines a modified pdf which uses an existing pdf object to add modifications li...
Definition:
MinBiasPDF.h:31
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Herwig::MinBiasPDF::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MinBiasPDF.h:136
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::PDFPtr
ThePEG::Ptr< PDFBase >::pointer PDFPtr
Herwig::MinBiasPDF::originalPDF
tcPDFPtr originalPDF() const
return the underlying PDFBase pointer
Definition:
MinBiasPDF.h:94
Herwig::MinBiasPDF::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MinBiasPDF.h:130
ZERO
constexpr ZeroUnit ZERO
Herwig::MinBiasPDF::MinBiasPDF
MinBiasPDF()
The default constructor.
Definition:
MinBiasPDF.h:40
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13