herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Matchbox
Dipoles
FIMqqxDipole.h
1
// -*- C++ -*-
2
//
3
// FIMqqxDipole.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_FIMqqxDipole_H
10
#define HERWIG_FIMqqxDipole_H
11
//
12
// This is the declaration of the FIMqqxDipole class.
13
//
14
15
#include "Herwig/MatrixElement/Matchbox/Dipoles/SubtractionDipole.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
28
class
FIMqqxDipole
:
public
SubtractionDipole
{
29
30
public
:
31
37
FIMqqxDipole
();
38
42
virtual
~
FIMqqxDipole
();
44
45
public
:
46
51
virtual
bool
canHandleEmitter
(
const
cPDVector
& partons,
int
emitter)
const
{
52
return
emitter > 1 && abs(partons[emitter]->
id
()) < 7;
53
}
54
59
virtual
bool
canHandleSplitting
(
const
cPDVector
& partons,
int
emitter,
int
emission)
const
{
60
return
61
canHandleEmitter(partons,emitter) &&
62
partons[emitter]->id() + partons[emission]->id() == 0;
63
}
64
69
virtual
bool
canHandleSpectator
(
const
cPDVector
& partons,
int
spectator)
const
{
70
return
spectator < 2 && partons[spectator]->coloured();
71
}
72
77
virtual
bool
canHandle(
const
cPDVector
& partons,
78
int
emitter,
int
emission,
int
spectator)
const
;
79
80
89
virtual
int
samplingZ
()
const
{
return
1;}
94
virtual
bool
isSymmetric
()
const
{
return
true
; }
95
101
virtual
double
me2()
const
;
102
106
virtual
double
me2Avg(
double
ccme2)
const
;
107
108
public
:
109
116
void
persistentOutput(
PersistentOStream
& os)
const
;
117
123
void
persistentInput(
PersistentIStream
& is,
int
version);
125
132
static
void
Init();
133
134
protected
:
135
142
virtual
IBPtr
clone()
const
;
143
148
virtual
IBPtr
fullclone()
const
;
150
151
152
// If needed, insert declarations of virtual function defined in the
153
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
154
155
156
private
:
157
162
FIMqqxDipole
& operator=(
const
FIMqqxDipole
&) =
delete
;
163
164
};
165
166
}
167
168
#endif
/* HERWIG_FIMqqxDipole_H */
ThePEG::PersistentIStream
Herwig::FIMqqxDipole::canHandleSplitting
virtual bool canHandleSplitting(const cPDVector &partons, int emitter, int emission) const
Return true, if this dipole can possibly handle the indicated splitting.
Definition:
FIMqqxDipole.h:59
Herwig::FIMqqxDipole::isSymmetric
virtual bool isSymmetric() const
Return true, if this dipole is symmetric with respect to emitter and emission.
Definition:
FIMqqxDipole.h:94
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::FIMqqxDipole
FIMqqxDipole implements the D_{q,qbar}^a subtraction dipole.
Definition:
FIMqqxDipole.h:28
Herwig::FIMqqxDipole::canHandleSpectator
virtual bool canHandleSpectator(const cPDVector &partons, int spectator) const
Return true, if this dipole can possibly handle the indicated spectator.
Definition:
FIMqqxDipole.h:69
ThePEG
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Herwig::FIMqqxDipole::canHandleEmitter
virtual bool canHandleEmitter(const cPDVector &partons, int emitter) const
Return true, if this dipole can possibly handle the indicated emitter.
Definition:
FIMqqxDipole.h:51
Herwig::SubtractionDipole
SubtractionDipole represents a dipole subtraction term in the formalism of Catani and Seymour...
Definition:
SubtractionDipole.h:37
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::FIMqqxDipole::samplingZ
virtual int samplingZ() const
How to sample the z-distribution.
Definition:
FIMqqxDipole.h:89
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13