herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEPP2VGamma.h
1// -*- C++ -*-
2#ifndef HERWIG_MEPP2VGamma_H
3#define HERWIG_MEPP2VGamma_H
4//
5// This is the declaration of the MEPP2VGamma 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
23class MEPP2VGamma: public HwMEBase {
24
25public:
26
31
38 virtual unsigned int orderInAlphaS() const;
39
44 virtual unsigned int orderInAlphaEW() const;
45
53 virtual double me2() const;
54
58 virtual Energy2 scale() const;
59
63 virtual void getDiagrams() const;
64
74
83 colourGeometries(tcDiagPtr diag) const;
84
90
91
92public:
93
101
107 void persistentInput(PersistentIStream & is, int version);
109
116 static void Init();
117
118protected:
119
128 double WGammaME(vector<SpinorWaveFunction> & f1,
129 vector<SpinorBarWaveFunction> & a1,
130 vector<VectorWaveFunction> & v1,
131 vector<VectorWaveFunction> & v2,
132 bool me) const;
133
142 double ZGammaME(vector<SpinorWaveFunction> & f1,
143 vector<SpinorBarWaveFunction> & a1,
144 vector<VectorWaveFunction> & v1,
145 vector<VectorWaveFunction> & v2,
146 bool me) const;
147
148protected:
149
156 virtual IBPtr clone() const;
157
162 virtual IBPtr fullclone() const;
164
165protected:
166
174 virtual void doinit();
176
177private:
178
183 MEPP2VGamma & operator=(const MEPP2VGamma &) = delete;
184
185private:
186
194 AbstractFFVVertexPtr FFPvertex_;
195
199 AbstractFFVVertexPtr FFWvertex_;
200
204 AbstractFFVVertexPtr FFZvertex_;
205
209 AbstractVVVVertexPtr WWWvertex_;
211
215 unsigned int process_;
216
221
225 unsigned int massOption_;
226
231};
232
233}
234
235#endif /* HERWIG_MEPP2VGamma_H */
The HwMEBase class serves a number of purposes.
Definition: HwMEBase.h:35
The MEPP2VGamma class implements the .
Definition: MEPP2VGamma.h:23
static void Init()
The standard Init function used to initialize the interfaces.
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
AbstractFFVVertexPtr FFPvertex_
Vertices.
Definition: MEPP2VGamma.h:194
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ProductionMatrixElement me_
The matrix element.
Definition: MEPP2VGamma.h:230
double WGammaME(vector< SpinorWaveFunction > &f1, vector< SpinorBarWaveFunction > &a1, vector< VectorWaveFunction > &v1, vector< VectorWaveFunction > &v2, bool me) const
Matrix element for .
unsigned int massOption_
Treatment of the the boson masses.
Definition: MEPP2VGamma.h:225
virtual IBPtr clone() const
Make a simple clone of this object.
int maxflavour_
Allowed flavours of the incoming quarks.
Definition: MEPP2VGamma.h:220
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
AbstractVVVVertexPtr WWWvertex_
WWW Vertex.
Definition: MEPP2VGamma.h:209
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
MEPP2VGamma & operator=(const MEPP2VGamma &)=delete
The assignment operator is private and must never be called.
double ZGammaME(vector< SpinorWaveFunction > &f1, vector< SpinorBarWaveFunction > &a1, vector< VectorWaveFunction > &v1, vector< VectorWaveFunction > &v2, bool me) const
Matrix element for .
MEPP2VGamma()
The default constructor.
AbstractFFVVertexPtr FFWvertex_
FFWVertex.
Definition: MEPP2VGamma.h:199
AbstractFFVVertexPtr FFZvertex_
FFZVertex.
Definition: MEPP2VGamma.h:204
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
unsigned int process_
Processes.
Definition: MEPP2VGamma.h:215
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
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