herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Matchbox
InsertionOperators
DipoleMIOperator.h
1
// -*- C++ -*-
2
//
3
// DipoleMIOperator.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_DipoleMIOperator_H
10
#define HERWIG_DipoleMIOperator_H
11
//
12
// This is the declaration of the DipoleMIOperator class.
13
//
14
15
#include "Herwig/MatrixElement/Matchbox/InsertionOperators/MatchboxInsertionOperator.h"
16
#include "Herwig/MatrixElement/Matchbox/Base/MatchboxMEBase.h"
17
18
namespace
Herwig
{
19
20
using namespace
ThePEG
;
21
33
class
DipoleMIOperator
:
public
MatchboxInsertionOperator
{
34
35
public
:
36
42
DipoleMIOperator
();
43
47
virtual
~
DipoleMIOperator
();
49
50
public
:
51
56
virtual
void
setXComb(tStdXCombPtr xc);
57
62
virtual
bool
apply(
const
cPDVector
&)
const
;
63
68
bool
apply(
tcPDPtr
)
const
;
69
74
vector<int> NLightJetVec()
const
;
75
80
vector<int> NHeavyJetVec()
const
;
81
86
vector<int> NLightBornVec()
const
;
87
92
vector<int> NHeavyBornVec()
const
;
93
98
vector<int> NLightProtonVec()
const
;
99
105
virtual
double
me2()
const
;
106
110
virtual
double
oneLoopDoublePole()
const
;
111
115
virtual
double
oneLoopSinglePole()
const
;
116
117
public
:
118
122
template
<
class
T>
123
inline
T
rootOfKallen
(T a, T b, T c)
const
{
124
return
sqrt
( a*a + b*b + c*c - 2.*( a*b+a*c+b*c ) ); }
125
126
public
:
127
134
void
persistentOutput(
PersistentOStream
& os)
const
;
135
141
void
persistentInput(
PersistentIStream
& is,
int
version);
143
150
static
void
Init();
151
152
protected
:
153
160
virtual
IBPtr
clone()
const
;
161
166
virtual
IBPtr
fullclone()
const
;
168
169
private
:
170
174
double
CA
;
175
179
double
CF
;
180
184
double
gammaQuark
;
185
189
double
gammaGluon
;
190
208
double
betaZero
;
209
213
double
KQuark
;
214
218
double
KGluon
;
219
220
private
:
221
225
// double Vj(const ParticleData&, const ParticleData&, Energy2, double, bool=false) const;
226
double
Vj(
const
ParticleData
&,
const
ParticleData
&, Energy2,
double
,
double
,
int
,
bool
=
false
)
const
;
227
231
double
VsDoublePole(
const
ParticleData
&,
const
ParticleData
&)
const
;
232
236
double
VsSinglePole(
const
ParticleData
&,
const
ParticleData
&, Energy2)
const
;
237
241
double
GammaQuark(
const
ParticleData
&)
const
;
242
246
double
GammaGluon()
const
;
247
251
double
GammaQuarkSinglePole(
const
ParticleData
&)
const
;
252
256
double
GammaGluonSinglePole()
const
;
257
258
private
:
259
264
DipoleMIOperator
& operator=(
const
DipoleMIOperator
&) =
delete
;
265
266
};
267
268
}
269
270
#endif
/* HERWIG_DipoleMIOperator_H */
ThePEG::PersistentIStream
sqrt
double sqrt(int x)
Herwig::DipoleMIOperator::KGluon
double KGluon
K_g.
Definition:
DipoleMIOperator.h:218
Herwig::DipoleMIOperator::rootOfKallen
T rootOfKallen(T a, T b, T c) const
Triangular / Kallen function.
Definition:
DipoleMIOperator.h:123
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG
ThePEG::ParticleData
Herwig::DipoleMIOperator::CF
double CF
C_F.
Definition:
DipoleMIOperator.h:179
Herwig::DipoleMIOperator::gammaQuark
double gammaQuark
Definition:
DipoleMIOperator.h:184
Herwig::DipoleMIOperator::betaZero
double betaZero
The Matchbox convention is =.
Definition:
DipoleMIOperator.h:208
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::DipoleMIOperator::KQuark
double KQuark
K_q.
Definition:
DipoleMIOperator.h:213
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Herwig::MatchboxInsertionOperator
MatchboxInsertionOperator is the base class for insertion operators.
Definition:
MatchboxInsertionOperator.h:36
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::DipoleMIOperator::CA
double CA
C_A.
Definition:
DipoleMIOperator.h:174
Herwig::DipoleMIOperator::gammaGluon
double gammaGluon
Definition:
DipoleMIOperator.h:189
Herwig::DipoleMIOperator
DipoleMIOperator implements the I() insertion operator for the massive case. DipoleMIOperator does on...
Definition:
DipoleMIOperator.h:33
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13