herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEee2VV.h
1// -*- C++ -*-
2#ifndef HERWIG_MEee2VV_H
3#define HERWIG_MEee2VV_H
4//
5// This is the declaration of the MEee2VV class.
6//
7
8#include "Herwig/MatrixElement/HwMEBase.h"
9#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
10#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
11#include "Herwig/MatrixElement/ProductionMatrixElement.h"
12
13namespace Herwig {
14
15using namespace ThePEG;
16
24class MEee2VV: public HwMEBase {
25
26public:
27
32
39 virtual unsigned int orderInAlphaS() const;
40
45 virtual unsigned int orderInAlphaEW() const;
46
54 virtual double me2() const;
55
59 virtual Energy2 scale() const;
60
64 virtual void getDiagrams() const;
65
75
84 colourGeometries(tcDiagPtr diag) const;
85
90 virtual double getCosTheta(double cthmin, double cthmax, const double r);
91
97
98public:
99
107
113 void persistentInput(PersistentIStream & is, int version);
115
122 static void Init();
123
124protected:
125
133 double WWME(vector<SpinorWaveFunction> & f1,
134 vector<SpinorBarWaveFunction> & a1,
135 vector<VectorWaveFunction> & v1,
136 vector<VectorWaveFunction> & v2) const;
137
145 double ZZME(vector<SpinorWaveFunction> & f1,
146 vector<SpinorBarWaveFunction> & a1,
147 vector<VectorWaveFunction> & v1,
148 vector<VectorWaveFunction> & v2) const;
149
150protected:
151
158 virtual IBPtr clone() const;
159
164 virtual IBPtr fullclone() const;
166
167
168protected:
169
177 virtual void doinit();
179
180private:
181
186 MEee2VV & operator=(const MEee2VV &) = delete;
187
188private:
189
197 AbstractFFVVertexPtr FFPvertex_;
198
202 AbstractFFVVertexPtr FFWvertex_;
203
207 AbstractFFVVertexPtr FFZvertex_;
208
212 AbstractVVVVertexPtr WWWvertex_;
214
218 unsigned int process_;
219
223 unsigned int massOption_;
224
229};
230
231}
232
233#endif /* HERWIG_MEee2VV_H */
The HwMEBase class serves a number of purposes.
Definition: HwMEBase.h:35
The MEee2VV class implements the matrix elements for .
Definition: MEee2VV.h:24
AbstractFFVVertexPtr FFZvertex_
FFZVertex.
Definition: MEee2VV.h:207
MEee2VV & operator=(const MEee2VV &)=delete
The assignment operator is private and must never be called.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
MEee2VV()
The default constructor.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual double getCosTheta(double cthmin, double cthmax, const double r)
Used internally by generateKinematics, after calculating the limits on cos(theta).
double ZZME(vector< SpinorWaveFunction > &f1, vector< SpinorBarWaveFunction > &a1, vector< VectorWaveFunction > &v1, vector< VectorWaveFunction > &v2) const
Matrix element for .
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
virtual IBPtr clone() const
Make a simple clone of this object.
unsigned int process_
Processes.
Definition: MEee2VV.h:218
AbstractVVVVertexPtr WWWvertex_
WWW Vertex.
Definition: MEee2VV.h:212
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
ProductionMatrixElement me_
The matrix element.
Definition: MEee2VV.h:228
AbstractFFVVertexPtr FFPvertex_
Vertices.
Definition: MEee2VV.h:197
unsigned int massOption_
Treatment of the the W and Z masses.
Definition: MEee2VV.h:223
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static void Init()
The standard Init function used to initialize the interfaces.
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
AbstractFFVVertexPtr FFWvertex_
FFWVertex.
Definition: MEee2VV.h:202
double WWME(vector< SpinorWaveFunction > &f1, vector< SpinorBarWaveFunction > &a1, vector< VectorWaveFunction > &v1, vector< VectorWaveFunction > &v2) const
Matrix element for .
The storage of the helicity amplitude expression for the matrix element of a hard process.
vector< DiagPtr > DiagramVector
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr