herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
General
MEvv2vv.h
1
// -*- C++ -*-
2
//
3
// MEvv2vv.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_MEvv2vv_H
10
#define HERWIG_MEvv2vv_H
11
//
12
// This is the declaration of the MEvv2vv class.
13
//
14
15
#include "GeneralHardME.h"
16
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
17
#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
18
#include "ThePEG/Helicity/Vertex/AbstractVVTVertex.h"
19
#include "ThePEG/Helicity/Vertex/AbstractVVSVertex.h"
20
#include "ThePEG/Helicity/Vertex/AbstractVVVVVertex.h"
21
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
22
23
namespace
Herwig
{
24
using namespace
ThePEG
;
25
using
Helicity::VectorWaveFunction
;
26
35
class
MEvv2vv
:
public
GeneralHardME
{
36
37
public
:
38
42
typedef
vector<VectorWaveFunction>
VBVector
;
43
44
public
:
45
55
virtual
double
me2()
const
;
57
62
virtual
void
constructVertex(
tSubProPtr
sub);
63
64
private
:
65
80
ProductionMatrixElement
81
vv2vvHeME(VBVector & vin1, VBVector & vin2,
82
VBVector & vout1,
bool
mc, VBVector & vout2,
bool
md,
83
double
& me2,
bool
first )
const
;
84
85
protected
:
86
92
virtual
void
debug(
double
me2)
const
;
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
128
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
129
134
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
136
137
protected
:
138
146
virtual
void
doinit();
148
149
private
:
150
155
MEvv2vv
& operator=(
const
MEvv2vv
&) =
delete
;
156
157
private
:
158
162
vector<pair<AbstractVVSVertexPtr, AbstractVVSVertexPtr> >
scalar_
;
163
167
vector<pair<AbstractVVVVertexPtr, AbstractVVVVertexPtr> >
vector_
;
168
172
vector<pair<AbstractVVTVertexPtr, AbstractVVTVertexPtr> >
tensor_
;
173
177
vector<AbstractVVVVVertexPtr>
four_
;
178
182
map<unsigned int,vector<pair<unsigned int,double> > >
fourFlow_
;
183
184
};
185
186
}
187
188
#endif
/* HERWIG_MEvv2vv_H */
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
Herwig::MEvv2vv::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEvv2vv.h:128
Herwig::MEvv2vv::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEvv2vv.h:134
Herwig::MEvv2vv::VBVector
vector< VectorWaveFunction > VBVector
Typedef for VectorWaveFunction.
Definition:
MEvv2vv.h:42
Herwig::MEvv2vv::scalar_
vector< pair< AbstractVVSVertexPtr, AbstractVVSVertexPtr > > scalar_
Store the dynamically casted VVSVertex pointers.
Definition:
MEvv2vv.h:162
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MEvv2vv
This is the implementation of the matrix element for massless vector-boson pair to vector-boson pair...
Definition:
MEvv2vv.h:35
ThePEG
Herwig::MEvv2vv::tensor_
vector< pair< AbstractVVTVertexPtr, AbstractVVTVertexPtr > > tensor_
Store the dynamically casted VVTVertex pointers.
Definition:
MEvv2vv.h:172
ThePEG::Helicity::VectorWaveFunction
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process...
Definition:
ProductionMatrixElement.h:34
Herwig::MEvv2vv::vector_
vector< pair< AbstractVVVVertexPtr, AbstractVVVVertexPtr > > vector_
Store the dynamically casted VVVVertex pointers.
Definition:
MEvv2vv.h:167
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
Herwig::MEvv2vv::fourFlow_
map< unsigned int, vector< pair< unsigned int, double > > > fourFlow_
Four points for colour flows.
Definition:
MEvv2vv.h:182
Herwig::MEvv2vv::four_
vector< AbstractVVVVVertexPtr > four_
Store the dynamically casted VVVVVertex pointer.
Definition:
MEvv2vv.h:177
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13