herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
Dipole
Kernels
FIMDecaygx2ggxDipoleKernel.h
1
// -*- C++ -*-
2
#ifndef HERWIG_FIMDecaygx2ggxDipoleKernel_H
3
#define HERWIG_FIMDecaygx2ggxDipoleKernel_H
4
//
5
// This is the declaration of the FIMDecaygx2ggxDipoleKernel class.
6
//
7
8
#include "DipoleSplittingKernel.h"
9
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
23
class
FIMDecaygx2ggxDipoleKernel
:
public
DipoleSplittingKernel
{
24
25
public
:
26
32
FIMDecaygx2ggxDipoleKernel
();
33
37
virtual
~
FIMDecaygx2ggxDipoleKernel
();
39
40
public
:
41
46
virtual
bool
canHandle(
const
DipoleIndex
&)
const
;
47
53
virtual
bool
canHandleEquivalent(
const
DipoleIndex
& a,
54
const
DipoleSplittingKernel
& sk,
55
const
DipoleIndex
& b)
const
;
56
61
virtual
tcPDPtr
emitter(
const
DipoleIndex
&)
const
;
62
67
virtual
tcPDPtr
emission(
const
DipoleIndex
&)
const
;
68
73
virtual
tcPDPtr
spectator(
const
DipoleIndex
&)
const
;
74
79
virtual
double
evaluate(
const
DipoleSplittingInfo
&)
const
;
80
85
virtual
vector< pair<int, Complex> > generatePhi(
const
DipoleSplittingInfo
& dInfo,
const
RhoDMatrix
& rho)
const
;
86
90
virtual
DecayMEPtr matrixElement(
const
DipoleSplittingInfo
& dInfo)
const
;
91
92
public
:
93
100
void
persistentOutput(
PersistentOStream
& os)
const
;
101
107
void
persistentInput(
PersistentIStream
& is,
int
version);
109
116
static
void
Init();
117
118
protected
:
119
126
virtual
IBPtr
clone()
const
;
127
132
virtual
IBPtr
fullclone()
const
;
134
135
136
// If needed, insert declarations of virtual function defined in the
137
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
138
139
140
private
:
141
146
static
ClassDescription<FIMDecaygx2ggxDipoleKernel>
initFIMDecaygx2ggxDipoleKernel
;
147
152
FIMDecaygx2ggxDipoleKernel
& operator=(
const
FIMDecaygx2ggxDipoleKernel
&) =
delete
;
153
157
int
theAsymmetryOption=0;
158
};
159
160
}
161
162
#include "ThePEG/Utilities/ClassTraits.h"
163
164
namespace
ThePEG
{
165
170
template
<>
171
struct
BaseClassTrait
<Herwig::
FIMDecaygx2ggxDipoleKernel
,1> {
173
typedef
Herwig::DipoleSplittingKernel
NthBase;
174
};
175
178
template
<>
179
struct
ClassTraits
<Herwig::
FIMDecaygx2ggxDipoleKernel
>
180
:
public
ClassTraitsBase
<Herwig::FIMDecaygx2ggxDipoleKernel> {
182
static
string
className() {
return
"Herwig::FIMDecaygx2ggxDipoleKernel"
; }
190
static
string
library() {
return
"HwDipoleShower.so"
; }
191
};
192
195
}
196
197
#endif
/* HERWIG_FIMDecaygx2ggxDipoleKernel_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
Herwig::FIMDecaygx2ggxDipoleKernel
FIMDecaygx2ggxDipoleKernel implements the g -> gg splitting off a final-initial decay dipole and incl...
Definition:
FIMDecaygx2ggxDipoleKernel.h:23
ThePEG
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::FIMDecaygx2ggxDipoleKernel::initFIMDecaygx2ggxDipoleKernel
static ClassDescription< FIMDecaygx2ggxDipoleKernel > initFIMDecaygx2ggxDipoleKernel
The static object used to initialize the description of this class.
Definition:
FIMDecaygx2ggxDipoleKernel.h:146
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