herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
General
MEvv2rf.h
1
// -*- C++ -*-
2
#ifndef Herwig_MEvv2rf_H
3
#define Herwig_MEvv2rf_H
4
//
5
// This is the declaration of the MEvv2rf class.
6
//
7
8
#include "GeneralHardME.h"
9
#include "ThePEG/Helicity/Vertex/AbstractRFSVertex.h"
10
#include "ThePEG/Helicity/Vertex/AbstractVVSVertex.h"
11
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
12
#include "ThePEG/Helicity/Vertex/AbstractRFVVertex.h"
13
#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
14
#include "ThePEG/Helicity/Vertex/AbstractRFVVVertex.h"
15
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
16
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
17
#include "ThePEG/Helicity/WaveFunction/RSSpinorWaveFunction.h"
18
#include "ThePEG/Helicity/WaveFunction/RSSpinorBarWaveFunction.h"
19
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
20
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
21
22
namespace
Herwig
{
23
24
using namespace
ThePEG
;
25
34
class
MEvv2rf
:
public
GeneralHardME
{
35
36
public
:
37
39
typedef
vector<VectorWaveFunction>
VBVector
;
40
42
typedef
vector<SpinorWaveFunction>
SpinorVector
;
43
45
typedef
vector<SpinorBarWaveFunction>
SpinorBarVector
;
46
48
typedef
vector<RSSpinorWaveFunction>
RSSpinorVector
;
49
51
typedef
vector<RSSpinorBarWaveFunction>
RSSpinorBarVector
;
52
53
public
:
54
64
virtual
double
me2()
const
;
66
71
virtual
void
constructVertex(
tSubProPtr
sub);
72
73
public
:
74
81
void
persistentOutput(
PersistentOStream
& os)
const
;
82
88
void
persistentInput(
PersistentIStream
& is,
int
version);
90
97
static
void
Init();
98
99
protected
:
100
107
virtual
IBPtr
clone()
const
;
108
113
virtual
IBPtr
fullclone()
const
;
115
116
protected
:
117
125
virtual
void
doinit();
127
128
private
:
129
133
ProductionMatrixElement
vv2rfME(
const
VBVector & v1,
const
VBVector & v2,
134
const
RSSpinorBarVector & sbar,
135
const
SpinorVector & sp,
136
double
& me2,
bool
first)
const
;
137
141
ProductionMatrixElement
vv2frME(
const
VBVector & v1,
const
VBVector & v2,
142
const
SpinorBarVector & sbar,
143
const
RSSpinorVector & sp,
144
double
& me2,
bool
first)
const
;
145
146
private
:
147
152
MEvv2rf
& operator=(
const
MEvv2rf
&) =
delete
;
153
private
:
154
160
vector<pair<AbstractVVSVertexPtr, AbstractRFSVertexPtr > >
scalar_
;
161
165
vector<pair<AbstractRFVVertexPtr, AbstractFFVVertexPtr> >
fermion_
;
166
170
vector<pair<AbstractVVVVertexPtr, AbstractRFVVertexPtr> >
vector_
;
171
175
vector<AbstractRFVVVertexPtr>
four_
;
177
178
};
179
180
}
181
182
#endif
/* Herwig_MEvv2rf_H */
Herwig::MEvv2rf::four_
vector< AbstractRFVVVertexPtr > four_
Four point vertices.
Definition:
MEvv2rf.h:175
ThePEG::PersistentIStream
Herwig::GeneralHardME
This defines the GeneralHardME class that is designed to serve as a base class for matrix elements of...
Definition:
GeneralHardME.h:40
ThePEG::PersistentOStream
Herwig::MEvv2rf::SpinorBarVector
vector< SpinorBarWaveFunction > SpinorBarVector
A vector of SpinorBarWaveFunction objects.
Definition:
MEvv2rf.h:45
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MEvv2rf::fermion_
vector< pair< AbstractRFVVertexPtr, AbstractFFVVertexPtr > > fermion_
Intermediate fermion.
Definition:
MEvv2rf.h:165
Herwig::MEvv2rf::RSSpinorVector
vector< RSSpinorWaveFunction > RSSpinorVector
A vector of SpinorBarWaveFunction objects.
Definition:
MEvv2rf.h:48
ThePEG
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process...
Definition:
ProductionMatrixElement.h:34
Herwig::MEvv2rf
This class is designed to implement the matrix element for the process vector-vector to fermion- RS ...
Definition:
MEvv2rf.h:34
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
Herwig::MEvv2rf::RSSpinorBarVector
vector< RSSpinorBarWaveFunction > RSSpinorBarVector
A vector of SpinorBarWaveFunction objects.
Definition:
MEvv2rf.h:51
Herwig::MEvv2rf::SpinorVector
vector< SpinorWaveFunction > SpinorVector
A vector of SpinorBarWaveFunction objects.
Definition:
MEvv2rf.h:42
Herwig::MEvv2rf::scalar_
vector< pair< AbstractVVSVertexPtr, AbstractRFSVertexPtr > > scalar_
Intermediate scalar.
Definition:
MEvv2rf.h:160
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MEvv2rf::vector_
vector< pair< AbstractVVVVertexPtr, AbstractRFVVertexPtr > > vector_
Intermediate vector.
Definition:
MEvv2rf.h:170
Herwig::MEvv2rf::VBVector
vector< VectorWaveFunction > VBVector
A Vector of VectorWaveFunction objects.
Definition:
MEvv2rf.h:39
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13