herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Shower
Dipole
Kernels
FFgx2ggxDipoleKernel.h
1
// -*- C++ -*-
2
#ifndef HERWIG_FFgx2ggxDipoleKernel_H
3
#define HERWIG_FFgx2ggxDipoleKernel_H
4
//
5
// This is the declaration of the FFgx2ggxDipoleKernel class.
6
//
7
8
#include "DipoleSplittingKernel.h"
9
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
22
class
FFgx2ggxDipoleKernel
:
public
DipoleSplittingKernel
{
23
24
public
:
25
29
FFgx2ggxDipoleKernel
();
30
31
public
:
32
37
virtual
bool
canHandle
(
const
DipoleIndex
&)
const
;
38
44
virtual
bool
canHandleEquivalent
(
const
DipoleIndex
& a,
45
const
DipoleSplittingKernel
& sk,
46
const
DipoleIndex
& b)
const
;
47
52
virtual
tcPDPtr
emitter
(
const
DipoleIndex
&)
const
;
53
58
virtual
tcPDPtr
emission
(
const
DipoleIndex
&)
const
;
59
64
virtual
tcPDPtr
spectator
(
const
DipoleIndex
&)
const
;
65
70
virtual
double
evaluate
(
const
DipoleSplittingInfo
&)
const
;
71
76
virtual
vector< pair<int, Complex> >
generatePhi
(
const
DipoleSplittingInfo
& dInfo,
const
RhoDMatrix
& rho)
const
;
77
81
virtual
DecayMEPtr
matrixElement
(
const
DipoleSplittingInfo
& dInfo)
const
;
82
83
public
:
84
91
void
persistentOutput
(
PersistentOStream
& os)
const
;
92
98
void
persistentInput
(
PersistentIStream
& is,
int
version);
100
107
static
void
Init
();
108
109
protected
:
110
117
virtual
IBPtr
clone
()
const
;
118
123
virtual
IBPtr
fullclone
()
const
;
125
126
127
// If needed, insert declarations of virtual function defined in the
128
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
129
130
131
private
:
132
137
static
ClassDescription<FFgx2ggxDipoleKernel>
initFFgx2ggxDipoleKernel
;
138
143
FFgx2ggxDipoleKernel
&
operator=
(
const
FFgx2ggxDipoleKernel
&) =
delete
;
144
149
int
theAsymmetryOption
=1;
150
151
};
152
153
}
154
155
#include "ThePEG/Utilities/ClassTraits.h"
156
157
namespace
ThePEG
{
158
163
template
<>
164
struct
BaseClassTrait
<
Herwig
::FFgx2ggxDipoleKernel,1> {
166
typedef
Herwig::DipoleSplittingKernel
NthBase
;
167
};
168
171
template
<>
172
struct
ClassTraits
<
Herwig
::FFgx2ggxDipoleKernel>
173
:
public
ClassTraitsBase
<Herwig::FFgx2ggxDipoleKernel> {
175
static
string
className
() {
return
"Herwig::FFgx2ggxDipoleKernel"
; }
183
static
string
library
() {
return
"HwDipoleShower.so"
; }
184
};
185
188
}
189
190
#endif
/* HERWIG_FFgx2ggxDipoleKernel_H */
Herwig::DipoleIndex
DipoleIndex is used to index splitting generators for a particular dipole.
Definition:
DipoleSplittingInfo.h:35
Herwig::DipoleSplittingInfo
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
Definition:
DipoleSplittingInfo.h:209
Herwig::DipoleSplittingKernel
DipoleSplittingKernel is the base class for all kernels used within the dipole shower.
Definition:
DipoleSplittingKernel.h:41
Herwig::FFgx2ggxDipoleKernel
FFgx2ggxDipoleKernel implements the g -> gg splitting off a final-final dipole.
Definition:
FFgx2ggxDipoleKernel.h:22
Herwig::FFgx2ggxDipoleKernel::FFgx2ggxDipoleKernel
FFgx2ggxDipoleKernel()
The default constructor.
Herwig::FFgx2ggxDipoleKernel::canHandleEquivalent
virtual bool canHandleEquivalent(const DipoleIndex &a, const DipoleSplittingKernel &sk, const DipoleIndex &b) const
Return true, if this splitting kernel is the same for the given index a, as the given splitting kerne...
Herwig::FFgx2ggxDipoleKernel::matrixElement
virtual DecayMEPtr matrixElement(const DipoleSplittingInfo &dInfo) const
Return the completely spin-unaveraged (i.e.
Herwig::FFgx2ggxDipoleKernel::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::FFgx2ggxDipoleKernel::emission
virtual tcPDPtr emission(const DipoleIndex &) const
Return the emission data after splitting, given a dipole index.
Herwig::FFgx2ggxDipoleKernel::initFFgx2ggxDipoleKernel
static ClassDescription< FFgx2ggxDipoleKernel > initFFgx2ggxDipoleKernel
The static object used to initialize the description of this class.
Definition:
FFgx2ggxDipoleKernel.h:137
Herwig::FFgx2ggxDipoleKernel::canHandle
virtual bool canHandle(const DipoleIndex &) const
Return true, if this splitting kernel applies to the given dipole index.
Herwig::FFgx2ggxDipoleKernel::emitter
virtual tcPDPtr emitter(const DipoleIndex &) const
Return the emitter data after splitting, given a dipole index.
Herwig::FFgx2ggxDipoleKernel::generatePhi
virtual vector< pair< int, Complex > > generatePhi(const DipoleSplittingInfo &dInfo, const RhoDMatrix &rho) const
Evaluate rho_ii' V_ijk V*_i'jk / equivalent for initial-state splitting, required for generating spin...
Herwig::FFgx2ggxDipoleKernel::operator=
FFgx2ggxDipoleKernel & operator=(const FFgx2ggxDipoleKernel &)=delete
The assignment operator is private and must never be called.
Herwig::FFgx2ggxDipoleKernel::theAsymmetryOption
int theAsymmetryOption
Asymmetry option for final state gluon splittings.
Definition:
FFgx2ggxDipoleKernel.h:149
Herwig::FFgx2ggxDipoleKernel::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::FFgx2ggxDipoleKernel::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::FFgx2ggxDipoleKernel::evaluate
virtual double evaluate(const DipoleSplittingInfo &) const
Evaluate this splitting kernel for the given dipole splitting.
Herwig::FFgx2ggxDipoleKernel::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::FFgx2ggxDipoleKernel::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::FFgx2ggxDipoleKernel::spectator
virtual tcPDPtr spectator(const DipoleIndex &) const
Return the spectator data after splitting, given a dipole index.
ThePEG::ClassDescription
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::BaseClassTrait
ThePEG::BaseClassTrait::NthBase
int NthBase
ThePEG::ClassTraitsBase
ThePEG::ClassTraitsBase::className
static string className()
ThePEG::ClassTraitsBase::library
static string library()
ThePEG::ClassTraits
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6