herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Matchbox
InsertionOperators
MatchboxInsertionOperator.h
1
// -*- C++ -*-
2
//
3
// MatchboxInsertionOperator.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_MatchboxInsertionOperator_H
10
#define HERWIG_MatchboxInsertionOperator_H
11
//
12
// This is the declaration of the MatchboxInsertionOperator class.
13
//
14
15
#include "ThePEG/Handlers/HandlerBase.h"
16
#include "ThePEG/Handlers/StandardXComb.h"
17
#include "ThePEG/Handlers/LastXCombInfo.h"
18
#include "Herwig/MatrixElement/Matchbox/InsertionOperators/MatchboxInsertionOperator.fh"
19
#include "Herwig/MatrixElement/Matchbox/Utility/LastMatchboxXCombInfo.h"
20
#include "Herwig/MatrixElement/Matchbox/Base/MatchboxMEBase.fh"
21
#include "Herwig/MatrixElement/Matchbox/MatchboxFactory.fh"
22
23
namespace
Herwig
{
24
25
using namespace
ThePEG
;
26
36
class
MatchboxInsertionOperator
:
37
public
HandlerBase
,
38
public
LastXCombInfo
<StandardXComb>,
39
public
LastMatchboxXCombInfo
{
40
41
public
:
42
48
MatchboxInsertionOperator
();
49
53
virtual
~MatchboxInsertionOperator
();
55
56
public
:
57
61
Ptr<MatchboxFactory>::tptr
factory
()
const
;
62
65
70
virtual
bool
apply
(
const
cPDVector
&)
const
= 0;
71
76
Ptr<MatchboxMEBase>::tptr
lastBorn
()
const
;
77
82
virtual
void
setXComb
(tStdXCombPtr xc) {
83
theLastXComb
= xc;
84
lastMatchboxXComb
(xc);
85
}
86
87
91
virtual
void
setAlpha
(
double
)
const
{assert(
false
);}
92
93
94
99
virtual
int
nDimAdditional
()
const
{
return
0; }
100
102
105
106
111
virtual
bool
isDRbar
()
const
;
117
virtual
bool
isDR
()
const
;
122
virtual
bool
isCS
()
const
;
127
virtual
bool
isBDK
()
const
;
132
virtual
bool
isExpanded
()
const
;
136
virtual
double
oneLoopDoublePole
()
const
{
return
0.; }
137
141
virtual
double
oneLoopSinglePole
()
const
{
return
0.; }
142
144
147
153
virtual
double
me2
()
const
= 0;
154
160
virtual
CrossSection
dSigHatDR
()
const
;
161
162
167
virtual
CrossSection
dSigHatDRAlphaDiff
(
double
alpha)
const
{
168
setAlpha
(alpha);
169
CrossSection res=
dSigHatDR
();
170
setAlpha
(1.);
171
return
res-
dSigHatDR
();
172
}
173
175
178
184
virtual
void
flushCaches
() {}
185
189
Ptr<MatchboxInsertionOperator>::ptr
cloneMe
()
const
{
190
return
dynamic_ptr_cast<Ptr<MatchboxInsertionOperator>::ptr>(
clone
());
191
}
192
196
virtual
void
cloneDependencies
(
const
std::string& prefix =
""
);
197
199
200
public
:
201
208
void
persistentOutput
(
PersistentOStream
& os)
const
;
209
215
void
persistentInput
(
PersistentIStream
& is,
int
version);
217
224
static
void
Init
();
225
226
227
// If needed, insert declarations of virtual function defined in the
228
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
229
230
private
:
231
236
MatchboxInsertionOperator
&
operator=
(
const
MatchboxInsertionOperator
&) =
delete
;
237
238
};
239
240
}
241
242
#endif
/* HERWIG_MatchboxInsertionOperator_H */
Herwig::LastMatchboxXCombInfo
Provide easy access to MatchboxXComb XComb extensions.
Definition:
LastMatchboxXCombInfo.h:27
Herwig::LastMatchboxXCombInfo::lastMatchboxXComb
MatchboxXCombData * lastMatchboxXComb() const
Return a pointer to the last selected XComb.
Definition:
LastMatchboxXCombInfo.h:40
Herwig::MatchboxInsertionOperator
MatchboxInsertionOperator is the base class for insertion operators.
Definition:
MatchboxInsertionOperator.h:39
Herwig::MatchboxInsertionOperator::lastBorn
Ptr< MatchboxMEBase >::tptr lastBorn() const
Return the Born matrix element this class represents virtual corrections to.
Herwig::MatchboxInsertionOperator::isBDK
virtual bool isBDK() const
Return true, if the virtual correction has been calculated in the BDK convention.
Herwig::MatchboxInsertionOperator::dSigHatDR
virtual CrossSection dSigHatDR() const
Evaluate the finite virtual correction for the variables supplied through the Born XComb object and p...
Herwig::MatchboxInsertionOperator::isExpanded
virtual bool isExpanded() const
Return true, if the virtual correction has been calculated in the expanded convention.
Herwig::MatchboxInsertionOperator::dSigHatDRAlphaDiff
virtual CrossSection dSigHatDRAlphaDiff(double alpha) const
Evaluate the difference of dSigHatDR with and without alpha parameter.
Definition:
MatchboxInsertionOperator.h:167
Herwig::MatchboxInsertionOperator::cloneMe
Ptr< MatchboxInsertionOperator >::ptr cloneMe() const
Clone this insertion operator.
Definition:
MatchboxInsertionOperator.h:189
Herwig::MatchboxInsertionOperator::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MatchboxInsertionOperator::oneLoopSinglePole
virtual double oneLoopSinglePole() const
If defined, return the coefficient of the pole in epsilon.
Definition:
MatchboxInsertionOperator.h:141
Herwig::MatchboxInsertionOperator::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MatchboxInsertionOperator::MatchboxInsertionOperator
MatchboxInsertionOperator()
The default constructor.
Herwig::MatchboxInsertionOperator::nDimAdditional
virtual int nDimAdditional() const
Return the number of additional random variables needed to calculate this virtual correction.
Definition:
MatchboxInsertionOperator.h:99
Herwig::MatchboxInsertionOperator::me2
virtual double me2() const =0
Evaluate the finite virtual correction for the variables supplied through the Born XComb object and p...
Herwig::MatchboxInsertionOperator::operator=
MatchboxInsertionOperator & operator=(const MatchboxInsertionOperator &)=delete
The assignment operator is private and must never be called.
Herwig::MatchboxInsertionOperator::setXComb
virtual void setXComb(tStdXCombPtr xc)
Set the XComb object steering the Born matrix element this class represents virtual corrections to.
Definition:
MatchboxInsertionOperator.h:82
Herwig::MatchboxInsertionOperator::isCS
virtual bool isCS() const
Return true, if the virtual correction has been calculated in the dipole convention.
Herwig::MatchboxInsertionOperator::isDRbar
virtual bool isDRbar() const
Return true, if the amplitude is DRbar renormalized, otherwise MSbar is assumed.
Herwig::MatchboxInsertionOperator::oneLoopDoublePole
virtual double oneLoopDoublePole() const
If defined, return the coefficient of the pole in epsilon^2.
Definition:
MatchboxInsertionOperator.h:136
Herwig::MatchboxInsertionOperator::isDR
virtual bool isDR() const
Return true, if this virtual correction has been calculated using dimensional reduction.
Herwig::MatchboxInsertionOperator::cloneDependencies
virtual void cloneDependencies(const std::string &prefix="")
Clone the dependencies, using a given prefix.
Herwig::MatchboxInsertionOperator::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MatchboxInsertionOperator::factory
Ptr< MatchboxFactory >::tptr factory() const
Return the factory which produced this matrix element.
Herwig::MatchboxInsertionOperator::setAlpha
virtual void setAlpha(double) const
Set parameters for new alpha parameter.
Definition:
MatchboxInsertionOperator.h:91
Herwig::MatchboxInsertionOperator::flushCaches
virtual void flushCaches()
Inform this matrix element that a new phase space point is about to be generated, so all caches shoul...
Definition:
MatchboxInsertionOperator.h:184
Herwig::MatchboxInsertionOperator::apply
virtual bool apply(const cPDVector &) const =0
Return true, if this virtual correction applies to the given process.
Herwig::MatchboxInsertionOperator::~MatchboxInsertionOperator
virtual ~MatchboxInsertionOperator()
The destructor.
ThePEG::HandlerBase
ThePEG::InterfacedBase::clone
virtual IBPtr clone() const=0
ThePEG::LastXCombInfo
ThePEG::LastXCombInfo< StandardXComb >::theLastXComb
XCPtr theLastXComb
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6