herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Gamma
MEGammaGamma2PiPi.h
1
// -*- C++ -*-
2
#ifndef Herwig_MEGammaGamma2PiPi_H
3
#define Herwig_MEGammaGamma2PiPi_H
4
//
5
// This is the declaration of the MEGammaGamma2PiPi class.
6
//
7
8
#include "Herwig/MatrixElement/HwMEBase.h"
9
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
10
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
11
12
namespace
Herwig
{
13
14
using namespace
ThePEG
;
15
using
ThePEG::Helicity::VectorWaveFunction
;
16
23
class
MEGammaGamma2PiPi:
public
HwMEBase {
24
25
public
:
26
30
MEGammaGamma2PiPi();
31
32
public
:
33
40
virtual
unsigned
int
orderInAlphaS()
const
;
41
46
virtual
unsigned
int
orderInAlphaEW()
const
;
47
55
virtual
double
me2()
const
;
56
60
virtual
Energy2 scale()
const
;
61
65
virtual
void
getDiagrams()
const
;
66
75
virtual
Selector<DiagramIndex>
diagrams(
const
DiagramVector & dv)
const
;
76
84
virtual
Selector<const ColourLines *>
85
colourGeometries(tcDiagPtr diag)
const
;
87
91
virtual
void
constructVertex(
tSubProPtr
);
92
93
public
:
94
101
static
void
Init();
102
103
protected
:
104
112
double
helicityME(vector<VectorWaveFunction> &p1,vector<VectorWaveFunction> &p2,
113
const
vector<Lorentz5Momentum> & momenta,
114
bool
calc)
const
;
115
116
protected
:
117
124
virtual
IBPtr
clone()
const
;
125
130
virtual
IBPtr
fullclone()
const
;
132
133
private
:
134
139
MEGammaGamma2PiPi & operator=(
const
MEGammaGamma2PiPi &) =
delete
;
140
141
private
:
142
146
mutable
ProductionMatrixElement me_;
147
148
};
149
150
}
151
152
#endif
/* Herwig_MEGammaGamma2PiPi_H */
ThePEG::Helicity::VectorWaveFunction
ThePEG::Selector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6