herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Gamma
MEGammaP2Jets.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEGammaP2Jets_H
3
#define HERWIG_MEGammaP2Jets_H
4
//
5
// This is the declaration of the MEGammaP2Jets class.
6
//
7
8
#include "Herwig/MatrixElement/HwMEBase.h"
9
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
10
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
11
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
12
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
13
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
14
15
namespace
Herwig
{
16
17
using namespace
ThePEG
;
18
26
class
MEGammaP2Jets
:
public
HwMEBase
{
27
28
public
:
29
33
MEGammaP2Jets
();
34
41
virtual
unsigned
int
orderInAlphaS()
const
;
42
47
virtual
unsigned
int
orderInAlphaEW()
const
;
48
56
virtual
double
me2()
const
;
57
61
virtual
Energy2 scale()
const
;
62
66
virtual
void
getDiagrams()
const
;
67
76
virtual
Selector<DiagramIndex>
diagrams(
const
DiagramVector
& dv)
const
;
77
85
virtual
Selector<const ColourLines *>
86
colourGeometries(tcDiagPtr diag)
const
;
88
89
protected
:
90
103
double
gammagluonME(vector<VectorWaveFunction> & gmin,
104
vector<VectorWaveFunction> & glin,
105
vector<SpinorBarWaveFunction> & fout,
106
vector<SpinorWaveFunction> & aout,
107
bool
calc)
const
;
108
117
double
gammaquarkME(vector<VectorWaveFunction> & gmin,
118
vector<SpinorWaveFunction> & fin,
119
vector<VectorWaveFunction> & gout,
120
vector<SpinorBarWaveFunction> & fout,
121
bool
calc)
const
;
122
131
double
gammaantiquarkME(vector<VectorWaveFunction> & gmin,
132
vector<SpinorBarWaveFunction> & fin,
133
vector<VectorWaveFunction> & gout,
134
vector<SpinorWaveFunction> & fout,
135
bool
calc)
const
;
137
138
public
:
139
146
void
persistentOutput(
PersistentOStream
& os)
const
;
147
153
void
persistentInput(
PersistentIStream
& is,
int
version);
155
162
static
void
Init();
163
164
protected
:
165
172
virtual
IBPtr
clone()
const
;
173
178
virtual
IBPtr
fullclone()
const
;
180
181
protected
:
182
190
virtual
void
doinit();
192
193
private
:
194
199
MEGammaP2Jets
& operator=(
const
MEGammaP2Jets
&) =
delete
;
200
201
private
:
202
206
AbstractFFVVertexPtr
_gluonvertex
;
207
211
AbstractFFVVertexPtr
_photonvertex
;
212
216
unsigned
int
_process
;
217
221
int
_minflavour
;
222
226
int
_maxflavour
;
227
231
ProductionMatrixElement
_me
;
232
233
};
234
235
}
236
237
#endif
/* HERWIG_MEGammaP2Jets_H */
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MEGammaP2Jets::_gluonvertex
AbstractFFVVertexPtr _gluonvertex
Pointer to the quark-antiquark-gluon vertex.
Definition:
MEGammaP2Jets.h:206
ThePEG
Herwig::MEGammaP2Jets::_minflavour
int _minflavour
Minimum flavour.
Definition:
MEGammaP2Jets.h:221
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process...
Definition:
ProductionMatrixElement.h:34
Herwig::MEGammaP2Jets::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEGammaP2Jets.h:231
Herwig::MEGammaP2Jets::_photonvertex
AbstractFFVVertexPtr _photonvertex
Pointer to the quark-antiquark-photon vertex.
Definition:
MEGammaP2Jets.h:211
Herwig::MEGammaP2Jets::_process
unsigned int _process
Allowed processes.
Definition:
MEGammaP2Jets.h:216
Herwig::MEGammaP2Jets::_maxflavour
int _maxflavour
Maximum flavour.
Definition:
MEGammaP2Jets.h:226
ThePEG::Selector
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::MEGammaP2Jets
The MEGammaP2Jets class implements the matrix elements for pointlike gamma+hadron -> jets...
Definition:
MEGammaP2Jets.h:26
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13