herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEff2tv.h
1// -*- C++ -*-
2#ifndef HERWIG_MEff2tv_H
3#define HERWIG_MEff2tv_H
4//
5// This is the declaration of the MEff2tv class.
6//
7
8#include "GeneralHardME.h"
9#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
10#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
11#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
12#include "ThePEG/Helicity/WaveFunction/TensorWaveFunction.h"
13#include "ThePEG/Helicity/Vertex/AbstractFFTVertex.h"
14#include "ThePEG/Helicity/Vertex/AbstractVVTVertex.h"
15#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
16#include "ThePEG/Helicity/Vertex/AbstractFFVTVertex.h"
17
18namespace Herwig {
19
20using namespace ThePEG;
25
31class MEff2tv: public GeneralHardME {
32
33public:
34
40 typedef vector<SpinorWaveFunction> SpinorVector;
41
45 typedef vector<SpinorBarWaveFunction> SpinorBarVector;
46
50 typedef vector<VectorWaveFunction> VBVector;
51
55 typedef vector<TensorWaveFunction> TBVector;
57
58public:
59
64
72 virtual double me2() const;
73
78 virtual void constructVertex(tSubProPtr sub);
79
80public:
81
89
95 void persistentInput(PersistentIStream & is, int version);
97
104 static void Init();
105
106protected:
107
114 virtual IBPtr clone() const;
115
120 virtual IBPtr fullclone() const;
122
123protected:
124
132 void doinit();
134
135private:
136
141 MEff2tv & operator=(const MEff2tv &) = delete;
142
143private:
144
161 TBVector & ten, VBVector & vec,
162 double & me2,bool first) const;
164
170 virtual void debug(double me2) const;
171
172private:
173
177 vector<pair<AbstractFFTVertexPtr, AbstractFFVVertexPtr> > fermion_;
178
182 vector<pair<AbstractFFVVertexPtr, AbstractVVTVertexPtr> > vector_;
183
187 vector<AbstractFFVTVertexPtr> fourPoint_;
188
189};
190
191}
192
193#endif /* HERWIG_MEff2tv_H */
This defines the GeneralHardME class that is designed to serve as a base class for matrix elements of...
Definition: GeneralHardME.h:40
The documentation of the MEff2tv class implements the general matrix element for vector vectro to ten...
Definition: MEff2tv.h:31
virtual void debug(double me2) const
A debugging function to test the value of me2 against an analytic function.
vector< AbstractFFVTVertexPtr > fourPoint_
The four point vertex.
Definition: MEff2tv.h:187
ProductionMatrixElement ffb2tvHeME(SpinorVector &sp, SpinorBarVector &spbar, TBVector &ten, VBVector &vec, double &me2, bool first) const
Compute the matrix element for .
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
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.
vector< pair< AbstractFFTVertexPtr, AbstractFFVVertexPtr > > fermion_
Store a pair of FFTVertex and FFVVertex pointers
Definition: MEff2tv.h:177
virtual void constructVertex(tSubProPtr sub)
Construct the vertex information for the spin correlations.
MEff2tv()
The default constructor.
Definition: MEff2tv.h:63
static void Init()
The standard Init function used to initialize the interfaces.
vector< TensorWaveFunction > TBVector
A vector of VectorWaveFunctions.
Definition: MEff2tv.h:55
vector< SpinorWaveFunction > SpinorVector
A vector of SpinorWaveFunctions.
Definition: MEff2tv.h:40
MEff2tv & operator=(const MEff2tv &)=delete
The assignment operator is private and must never be called.
vector< VectorWaveFunction > VBVector
A vector of VectorWaveFunctions.
Definition: MEff2tv.h:50
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual IBPtr clone() const
Make a simple clone of this object.
vector< pair< AbstractFFVVertexPtr, AbstractVVTVertexPtr > > vector_
Store a pair of FFTVertex and VVTVertex pointers.
Definition: MEff2tv.h:182
vector< SpinorBarWaveFunction > SpinorBarVector
A vector of SpinorWaveBarFunctions.
Definition: MEff2tv.h:45
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
The storage of the helicity amplitude expression for the matrix element of a hard process.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr