herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
General
MEfv2rv.h
1
// -*- C++ -*-
2
#ifndef Herwig_MEfv2rv_H
3
#define Herwig_MEfv2rv_H
4
//
5
// This is the declaration of the MEfv2rv class.
6
//
7
8
#include "GeneralHardME.h"
9
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
10
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
11
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
12
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
13
#include "ThePEG/Helicity/WaveFunction/RSSpinorWaveFunction.h"
14
#include "ThePEG/Helicity/WaveFunction/RSSpinorBarWaveFunction.h"
15
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
16
#include "ThePEG/Helicity/Vertex/AbstractRFVVertex.h"
17
#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
18
#include "ThePEG/Helicity/Vertex/AbstractRFVVVertex.h"
19
20
namespace
Herwig
{
21
22
using namespace
ThePEG
;
23
32
class
MEfv2rv
:
public
GeneralHardME
{
33
34
public
:
35
37
typedef
vector<Helicity::SpinorWaveFunction>
SpinorVector
;
38
40
typedef
vector<Helicity::SpinorBarWaveFunction>
SpinorBarVector
;
41
43
typedef
vector<Helicity::RSSpinorWaveFunction>
RSSpinorVector
;
44
46
typedef
vector<Helicity::RSSpinorBarWaveFunction>
RSSpinorBarVector
;
47
49
typedef
vector<Helicity::VectorWaveFunction>
VBVector
;
50
51
public
:
52
62
virtual
double
me2
()
const
;
64
69
virtual
void
constructVertex
(
tSubProPtr
sub);
70
71
private
:
72
86
ProductionMatrixElement
87
fv2rvHeME
(
const
SpinorVector
& spIn,
const
VBVector
& vecIn,
88
const
RSSpinorBarVector
& spbOut,
89
const
VBVector
& vecOut,
bool
mc,
90
double
& mesq,
bool
first)
const
;
91
103
ProductionMatrixElement
104
fbv2rbvHeME
(
const
SpinorBarVector
& spbIn,
const
VBVector
& vecIn,
105
const
RSSpinorVector
& spOut,
106
const
VBVector
& vecOut,
bool
mc,
107
double
& mesq,
bool
first)
const
;
109
110
public
:
111
118
void
persistentOutput
(
PersistentOStream
& os)
const
;
119
125
void
persistentInput
(
PersistentIStream
& is,
int
version);
127
134
static
void
Init
();
135
136
protected
:
137
144
virtual
IBPtr
clone
()
const
;
145
150
virtual
IBPtr
fullclone
()
const
;
152
153
protected
:
154
162
virtual
void
doinit
();
164
165
private
:
166
171
MEfv2rv
&
operator=
(
const
MEfv2rv
&) =
delete
;
172
173
private
:
174
180
vector<pair<AbstractFFVVertexPtr, AbstractRFVVertexPtr> >
fermion_
;
181
185
vector<pair<AbstractRFVVertexPtr, AbstractVVVVertexPtr> >
vector_
;
186
190
vector<AbstractRFVVVertexPtr>
four_
;
192
193
};
194
195
}
196
197
#endif
/* Herwig_MEfv2rv_H */
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::MEfv2rv
This class implements the matrix element for a fermion and a vector boson to a vector boson and a RS ...
Definition:
MEfv2rv.h:32
Herwig::MEfv2rv::fv2rvHeME
ProductionMatrixElement fv2rvHeME(const SpinorVector &spIn, const VBVector &vecIn, const RSSpinorBarVector &spbOut, const VBVector &vecOut, bool mc, double &mesq, bool first) const
Calculate the matrix element for an incoming fermion.
Herwig::MEfv2rv::RSSpinorVector
vector< Helicity::RSSpinorWaveFunction > RSSpinorVector
A vector of SpinorWaveFunctions.
Definition:
MEfv2rv.h:43
Herwig::MEfv2rv::fermion_
vector< pair< AbstractFFVVertexPtr, AbstractRFVVertexPtr > > fermion_
A pair off FFVVertex pointers.
Definition:
MEfv2rv.h:180
Herwig::MEfv2rv::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEfv2rv::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::MEfv2rv::SpinorVector
vector< Helicity::SpinorWaveFunction > SpinorVector
A vector of SpinorWaveFunctions.
Definition:
MEfv2rv.h:37
Herwig::MEfv2rv::operator=
MEfv2rv & operator=(const MEfv2rv &)=delete
The assignment operator is private and must never be called.
Herwig::MEfv2rv::VBVector
vector< Helicity::VectorWaveFunction > VBVector
A vector of VectorWaveFunctions.
Definition:
MEfv2rv.h:49
Herwig::MEfv2rv::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEfv2rv::RSSpinorBarVector
vector< Helicity::RSSpinorBarWaveFunction > RSSpinorBarVector
A vector of SpinorBarWaveFunctions.
Definition:
MEfv2rv.h:46
Herwig::MEfv2rv::vector_
vector< pair< AbstractRFVVertexPtr, AbstractVVVVertexPtr > > vector_
A pair of FFVVertex, VVVertex pointers.
Definition:
MEfv2rv.h:185
Herwig::MEfv2rv::fbv2rbvHeME
ProductionMatrixElement fbv2rbvHeME(const SpinorBarVector &spbIn, const VBVector &vecIn, const RSSpinorVector &spOut, const VBVector &vecOut, bool mc, double &mesq, bool first) const
Calculate the matrix element for an incoming anti-fermion.
Herwig::MEfv2rv::four_
vector< AbstractRFVVVertexPtr > four_
Four point vertices.
Definition:
MEfv2rv.h:190
Herwig::MEfv2rv::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEfv2rv::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEfv2rv::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEfv2rv::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::MEfv2rv::constructVertex
virtual void constructVertex(tSubProPtr sub)
Construct the vertex information for the spin correlations.
Herwig::MEfv2rv::SpinorBarVector
vector< Helicity::SpinorBarWaveFunction > SpinorBarVector
A vector of SpinorBarWaveFunctions.
Definition:
MEfv2rv.h:40
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process.
Definition:
ProductionMatrixElement.h:34
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6