herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
Dipole
Kernels
FIgx2ggxDipoleKernel.h
1
// -*- C++ -*-
2
#ifndef HERWIG_FIgx2ggxDipoleKernel_H
3
#define HERWIG_FIgx2ggxDipoleKernel_H
4
//
5
// This is the declaration of the FIgx2ggxDipoleKernel class.
6
//
7
8
#include "DipoleSplittingKernel.h"
9
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
22
class
FIgx2ggxDipoleKernel
:
public
DipoleSplittingKernel
{
23
24
public
:
25
31
FIgx2ggxDipoleKernel
();
32
36
virtual
~
FIgx2ggxDipoleKernel
();
38
39
public
:
40
45
virtual
bool
canHandle(
const
DipoleIndex
&)
const
;
46
52
virtual
bool
canHandleEquivalent(
const
DipoleIndex
& a,
53
const
DipoleSplittingKernel
& sk,
54
const
DipoleIndex
& b)
const
;
55
60
virtual
tcPDPtr
emitter(
const
DipoleIndex
&)
const
;
61
66
virtual
tcPDPtr
emission(
const
DipoleIndex
&)
const
;
67
72
virtual
tcPDPtr
spectator(
const
DipoleIndex
&)
const
;
73
78
virtual
double
evaluate(
const
DipoleSplittingInfo
&)
const
;
79
84
virtual
vector< pair<int, Complex> > generatePhi(
const
DipoleSplittingInfo
& dInfo,
const
RhoDMatrix
& rho)
const
;
85
89
virtual
DecayMEPtr matrixElement(
const
DipoleSplittingInfo
& dInfo)
const
;
90
91
public
:
92
99
void
persistentOutput(
PersistentOStream
& os)
const
;
100
106
void
persistentInput(
PersistentIStream
& is,
int
version);
108
115
static
void
Init();
116
117
protected
:
118
125
virtual
IBPtr
clone()
const
;
126
131
virtual
IBPtr
fullclone()
const
;
133
134
135
// If needed, insert declarations of virtual function defined in the
136
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
137
138
139
private
:
144
int
theAsymmetryOption=1;
145
150
static
ClassDescription<FIgx2ggxDipoleKernel>
initFIgx2ggxDipoleKernel
;
151
156
FIgx2ggxDipoleKernel
& operator=(
const
FIgx2ggxDipoleKernel
&) =
delete
;
157
158
};
159
160
}
161
162
#include "ThePEG/Utilities/ClassTraits.h"
163
164
namespace
ThePEG
{
165
170
template
<>
171
struct
BaseClassTrait
<Herwig::
FIgx2ggxDipoleKernel
,1> {
173
typedef
Herwig::DipoleSplittingKernel
NthBase;
174
};
175
178
template
<>
179
struct
ClassTraits
<Herwig::
FIgx2ggxDipoleKernel
>
180
:
public
ClassTraitsBase
<Herwig::FIgx2ggxDipoleKernel> {
182
static
string
className() {
return
"Herwig::FIgx2ggxDipoleKernel"
; }
190
static
string
library() {
return
"HwDipoleShower.so"
; }
191
};
192
195
}
196
197
#endif
/* HERWIG_FIgx2ggxDipoleKernel_H */
ThePEG::PersistentIStream
ThePEG::ClassDescription
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::DipoleIndex
DipoleIndex is used to index splitting generators for a particular dipole.
Definition:
DipoleSplittingInfo.h:35
ThePEG
Herwig::FIgx2ggxDipoleKernel::initFIgx2ggxDipoleKernel
static ClassDescription< FIgx2ggxDipoleKernel > initFIgx2ggxDipoleKernel
The static object used to initialize the description of this class.
Definition:
FIgx2ggxDipoleKernel.h:150
Herwig::FIgx2ggxDipoleKernel
FIgx2ggxDipoleKernel implements the g -> gg splitting off a final-initial dipole. ...
Definition:
FIgx2ggxDipoleKernel.h:22
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ClassTraits
Herwig::DipoleSplittingInfo
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
Definition:
DipoleSplittingInfo.h:209
ThePEG::RhoDMatrix
ThePEG::BaseClassTrait
Herwig::DipoleSplittingKernel
DipoleSplittingKernel is the base class for all kernels used within the dipole shower.
Definition:
DipoleSplittingKernel.h:41
ThePEG::ClassTraitsBase
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13