herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
Dipole
Kernels
FFMgx2qqxDipoleKernel.h
1
// -*- C++ -*-
2
#ifndef HERWIG_FFMgx2qqxDipoleKernel_H
3
#define HERWIG_FFMgx2qqxDipoleKernel_H
4
//
5
// This is the declaration of the FFMgx2qqxDipoleKernel class.
6
//
7
8
#include "DipoleSplittingKernel.h"
9
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
22
class
FFMgx2qqxDipoleKernel
:
public
DipoleSplittingKernel
{
23
24
public
:
25
31
FFMgx2qqxDipoleKernel
();
32
36
virtual
~
FFMgx2qqxDipoleKernel
();
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
:
140
145
static
ClassDescription<FFMgx2qqxDipoleKernel>
initFFMgx2qqxDipoleKernel
;
146
151
FFMgx2qqxDipoleKernel
& operator=(
const
FFMgx2qqxDipoleKernel
&) =
delete
;
152
153
};
154
155
}
156
157
#include "ThePEG/Utilities/ClassTraits.h"
158
159
namespace
ThePEG
{
160
165
template
<>
166
struct
BaseClassTrait
<Herwig::
FFMgx2qqxDipoleKernel
,1> {
168
typedef
Herwig::DipoleSplittingKernel
NthBase;
169
};
170
173
template
<>
174
struct
ClassTraits
<Herwig::
FFMgx2qqxDipoleKernel
>
175
:
public
ClassTraitsBase
<Herwig::FFMgx2qqxDipoleKernel> {
177
static
string
className() {
return
"Herwig::FFMgx2qqxDipoleKernel"
; }
185
static
string
library() {
return
"HwDipoleShower.so"
; }
186
};
187
190
}
191
192
#endif
/* HERWIG_FFMgx2qqxDipoleKernel_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::FFMgx2qqxDipoleKernel
FFMgx2qqxDipoleKernel implements the g -> qqbar splitting off a final-final dipole.
Definition:
FFMgx2qqxDipoleKernel.h:22
ThePEG
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::FFMgx2qqxDipoleKernel::initFFMgx2qqxDipoleKernel
static ClassDescription< FFMgx2qqxDipoleKernel > initFFMgx2qqxDipoleKernel
The static object used to initialize the description of this class.
Definition:
FFMgx2qqxDipoleKernel.h:145
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