herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
f
g
h
i
l
m
o
p
r
s
t
u
w
z
Variables
Typedefs
a
b
c
d
h
i
j
k
l
m
o
p
s
t
v
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
d
e
h
i
m
o
p
r
s
t
u
v
w
x
Enumerations
Enumerator
Related Functions
b
c
d
e
f
g
h
k
m
o
p
s
t
Files
File List
File Members
All
Functions
Variables
Macros
MatrixElement
Matchbox
Dipoles
FFMggxDipole.h
1
// -*- C++ -*-
2
//
3
// FFMggxDipole.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_FFMggxDipole_H
10
#define HERWIG_FFMggxDipole_H
11
//
12
// This is the declaration of the FFMggxDipole class.
13
//
14
15
#include "Herwig/MatrixElement/Matchbox/Dipoles/SubtractionDipole.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
28
class
FFMggxDipole
:
public
SubtractionDipole
{
29
30
public
:
31
35
FFMggxDipole
();
36
37
public
:
38
43
virtual
bool
canHandleEmitter
(
const
cPDVector
& partons,
int
emitter
)
const
{
44
return
emitter
> 1 && partons[
emitter
]->id() ==
ParticleID::g
;
45
}
46
51
virtual
bool
canHandleSplitting
(
const
cPDVector
& partons,
int
emitter
,
int
emission
)
const
{
52
return
canHandleEmitter
(partons,
emitter
) && partons[
emission
]->id() ==
ParticleID::g
;
53
}
54
59
virtual
bool
canHandleSpectator
(
const
cPDVector
& partons,
int
spectator
)
const
{
60
return
spectator
> 1 && partons[
spectator
]->coloured();
61
}
62
67
virtual
bool
canHandle
(
const
cPDVector
& partons,
68
int
emitter
,
int
emission
,
int
spectator
)
const
;
69
74
virtual
bool
isSymmetric
()
const
{
return
true
; }
75
84
virtual
int
samplingZ
()
const
{
return
4;}
85
91
virtual
double
me2
()
const
;
92
96
virtual
double
me2Avg
(
double
ccme2)
const
;
97
98
public
:
99
106
void
persistentOutput
(
PersistentOStream
& os)
const
;
107
113
void
persistentInput
(
PersistentIStream
& is,
int
version);
115
122
static
void
Init
();
123
124
protected
:
125
132
virtual
IBPtr
clone
()
const
;
133
138
virtual
IBPtr
fullclone
()
const
;
140
141
142
// If needed, insert declarations of virtual function defined in the
143
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
144
145
146
private
:
147
152
FFMggxDipole
&
operator=
(
const
FFMggxDipole
&) =
delete
;
153
154
};
155
156
}
157
158
#endif
/* HERWIG_FFMggxDipole_H */
Herwig::FFMggxDipole
FFMggxDipole implements the D_{g,g;k} subtraction dipole.
Definition:
FFMggxDipole.h:28
Herwig::FFMggxDipole::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::FFMggxDipole::isSymmetric
virtual bool isSymmetric() const
Return true, if this dipole is symmetric with respect to emitter and emission.
Definition:
FFMggxDipole.h:74
Herwig::FFMggxDipole::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::FFMggxDipole::operator=
FFMggxDipole & operator=(const FFMggxDipole &)=delete
The assignment operator is private and must never be called.
Herwig::FFMggxDipole::canHandleEmitter
virtual bool canHandleEmitter(const cPDVector &partons, int emitter) const
Return true, if this dipole can possibly handle the indicated emitter.
Definition:
FFMggxDipole.h:43
Herwig::FFMggxDipole::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::FFMggxDipole::samplingZ
virtual int samplingZ() const
How to sample the z-distribution.
Definition:
FFMggxDipole.h:84
Herwig::FFMggxDipole::FFMggxDipole
FFMggxDipole()
The default constructor.
Herwig::FFMggxDipole::canHandleSpectator
virtual bool canHandleSpectator(const cPDVector &partons, int spectator) const
Return true, if this dipole can possibly handle the indicated spectator.
Definition:
FFMggxDipole.h:59
Herwig::FFMggxDipole::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::FFMggxDipole::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::FFMggxDipole::canHandle
virtual bool canHandle(const cPDVector &partons, int emitter, int emission, int spectator) const
Return true, if this dipole applies to the selected configuration.
Herwig::FFMggxDipole::me2
virtual double me2() const
Return the matrix element for the kinematical configuation previously provided by the last call to se...
Herwig::FFMggxDipole::me2Avg
virtual double me2Avg(double ccme2) const
Return the matrix element averaged over spin correlations.
Herwig::FFMggxDipole::canHandleSplitting
virtual bool canHandleSplitting(const cPDVector &partons, int emitter, int emission) const
Return true, if this dipole can possibly handle the indicated splitting.
Definition:
FFMggxDipole.h:51
Herwig::SubtractionDipole
SubtractionDipole represents a dipole subtraction term in the formalism of Catani and Seymour.
Definition:
SubtractionDipole.h:38
Herwig::SubtractionDipole::emission
static int emission(const RealEmissionKey &key)
Return the emission id of a real emission key.
Definition:
SubtractionDipole.h:270
Herwig::SubtractionDipole::emitter
static int emitter(const RealEmissionKey &key)
Return the emitter id of a real emission key.
Definition:
SubtractionDipole.h:277
Herwig::SubtractionDipole::spectator
static int spectator(const RealEmissionKey &key)
Return the spectator id of a real emission key.
Definition:
SubtractionDipole.h:284
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ParticleID::g
g
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6