herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Gamma
MEGammaGamma2ff.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEGammaGamma2ff_H
3
#define HERWIG_MEGammaGamma2ff_H
4
//
5
// This is the declaration of the MEGammaGamma2ff class.
6
//
7
8
#include "Herwig/MatrixElement/HwMEBase.h"
9
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
10
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
11
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
12
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
13
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.fh"
14
15
namespace
Herwig
{
16
17
using namespace
ThePEG
;
18
26
class
MEGammaGamma2ff
:
public
HwMEBase
{
27
28
public
:
29
33
MEGammaGamma2ff
();
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
;
87
91
virtual
void
constructVertex(
tSubProPtr
);
93
94
public
:
95
102
void
persistentOutput(
PersistentOStream
& os)
const
;
103
109
void
persistentInput(
PersistentIStream
& is,
int
version);
111
118
static
void
Init();
119
120
protected
:
121
130
double
helicityME(vector<VectorWaveFunction> &p1,vector<VectorWaveFunction> &p2,
131
vector<SpinorBarWaveFunction> & f,
132
vector<SpinorWaveFunction> & fbar,
bool
calc)
const
;
133
protected
:
134
141
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
142
147
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
149
150
protected
:
151
159
virtual
void
doinit();
161
162
private
:
163
168
MEGammaGamma2ff
& operator=(
const
MEGammaGamma2ff
&) =
delete
;
169
170
private
:
171
175
int
process_
;
176
180
AbstractFFVVertexPtr
vertex_
;
181
185
mutable
ProductionMatrixElement
me_
;
186
187
};
188
189
}
190
191
#endif
/* HERWIG_MEGammaGamma2ff_H */
Herwig::MEGammaGamma2ff
The MEGammaGamma2ff class provides the matrix elements for .
Definition:
MEGammaGamma2ff.h:26
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig::MEGammaGamma2ff::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEGammaGamma2ff.h:147
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MEGammaGamma2ff::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEGammaGamma2ff.h:141
ThePEG
Herwig::MEGammaGamma2ff::me_
ProductionMatrixElement me_
Matrix element.
Definition:
MEGammaGamma2ff.h:185
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process...
Definition:
ProductionMatrixElement.h:34
Herwig::MEGammaGamma2ff::process_
int process_
Which processes to include.
Definition:
MEGammaGamma2ff.h:175
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
Herwig::MEGammaGamma2ff::vertex_
AbstractFFVVertexPtr vertex_
Pointer to the photon vertex.
Definition:
MEGammaGamma2ff.h:180
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
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13