herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEvv2tv.h
1// -*- C++ -*-
2#ifndef HERWIG_MEvv2tv_H
3#define HERWIG_MEvv2tv_H
4//
5// This is the declaration of the MEvv2tv class.
6//
7
8#include "GeneralHardME.h"
9#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
10#include "ThePEG/Helicity/WaveFunction/TensorWaveFunction.h"
11#include "ThePEG/Helicity/Vertex/AbstractVVTVertex.h"
12#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
13#include "ThePEG/Helicity/Vertex/AbstractVVVTVertex.h"
14
15namespace Herwig {
16
17using namespace ThePEG;
20
27class MEvv2tv: public GeneralHardME {
28
30 typedef vector<VectorWaveFunction> VBVector;
31
33 typedef vector<TensorWaveFunction> TBVector;
34
35public:
36
41
49 virtual double me2() const;
50
55 virtual void constructVertex(tSubProPtr sub);
56
57public:
58
66
72 void persistentInput(PersistentIStream & is, int version);
74
81 static void Init();
82
83protected:
84
91 virtual IBPtr clone() const;
92
97 virtual IBPtr fullclone() const;
99
100protected:
101
109 void doinit();
111
112private:
113
127 const VBVector & vec2,
128 const TBVector & ten,
129 const VBVector & vec3,
130 double & full_me, bool first) const;
131
137 virtual void debug(double me2) const;
138
139private:
140
145 MEvv2tv & operator=(const MEvv2tv &) = delete;
146
147private:
148
152 vector<pair<AbstractVVVVertexPtr, AbstractVVTVertexPtr> > vector_;
153
157 vector<AbstractVVVTVertexPtr> fourPoint_;
158
159};
160
161}
162
163#endif /* HERWIG_MEvv2tv_H */
This defines the GeneralHardME class that is designed to serve as a base class for matrix elements of...
Definition: GeneralHardME.h:40
Here is the documentation of the MEvv2tv class.
Definition: MEvv2tv.h:27
MEvv2tv()
The default constructor.
Definition: MEvv2tv.h:40
vector< AbstractVVVTVertexPtr > fourPoint_
The four point vertex.
Definition: MEvv2tv.h:157
ProductionMatrixElement vv2tvHeME(const VBVector &vec1, const VBVector &vec2, const TBVector &ten, const VBVector &vec3, double &full_me, bool first) const
Calculate me2 and the production matrix element for the normal mode.
vector< VectorWaveFunction > VBVector
Vector of VectorWaveFunctions.
Definition: MEvv2tv.h:30
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< pair< AbstractVVVVertexPtr, AbstractVVTVertexPtr > > vector_
Store a pair of FFTVertex and FFVVertex pointers
Definition: MEvv2tv.h:152
virtual void debug(double me2) const
A debugging function to test the value of me2 against an analytic function.
static void Init()
The standard Init function used to initialize the interfaces.
void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
vector< TensorWaveFunction > TBVector
Vector of TensorWaveFunctions.
Definition: MEvv2tv.h:33
MEvv2tv & operator=(const MEvv2tv &)=delete
The assignment operator is private and must never be called.
virtual void constructVertex(tSubProPtr sub)
Construct the vertex information for the spin correlations.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
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