herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEee2Mesons.h
1// -*- C++ -*-
2#ifndef Herwig_MEee2Mesons_H
3#define Herwig_MEee2Mesons_H
4//
5// This is the declaration of the MEee2Mesons class.
6//
7
8#include "Herwig/MatrixElement/MEMultiChannel.h"
9#include "Herwig/Decay/WeakCurrents/WeakCurrent.h"
10#include "Herwig/MatrixElement/ProductionMatrixElement.h"
11
12namespace Herwig {
13
14using namespace ThePEG;
15
24
25public:
26
31
32public:
33
40 virtual unsigned int orderInAlphaS() const;
41
46 virtual unsigned int orderInAlphaEW() const;
47
51 virtual Energy2 scale() const;
53
58
59
60public:
61
69
75 void persistentInput(PersistentIStream & is, int version);
77
84 static void Init();
85
86
87protected:
88
93 virtual double me2(const int ichan) const;
94
100 virtual double helicityME(const int ichan, const cPDVector & particles,
101 const vector<Lorentz5Momentum> & momenta) const;
102
103protected:
104
111 virtual IBPtr clone() const;
112
117 virtual IBPtr fullclone() const;
119
120protected:
121
129 virtual void doinit();
130
135 virtual void doinitrun();
137
142
143private:
144
149 MEee2Mesons & operator=(const MEee2Mesons &) = delete;
150
151private :
152
156 unsigned int flavOpt_;
157
161 WeakCurrentPtr current_;
162
167
171 map<int,int> modeMap_;
172
177};
178
179}
180
181#endif /* Herwig_MEee2Mesons_H */
Here is the documentation of the MEMultiChannel class.
The MEee2Mesons class implements annhilation to mesons at low energy using hadronic currents.
Definition: MEee2Mesons.h:23
virtual void doinitrun()
Initialize this object.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
map< int, int > modeMap_
Map for the modes.
Definition: MEee2Mesons.h:171
static void Init()
The standard Init function used to initialize the interfaces.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
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.
virtual IBPtr clone() const
Make a simple clone of this object.
void setFlavour()
Set up the flavours allowed in the current.
WeakCurrentPtr current_
the hadronic current
Definition: MEee2Mesons.h:161
FlavourInfo flavour_
The flavour of the hadronic system.
Definition: MEee2Mesons.h:176
unsigned int flavOpt_
Option for the flavour of the particles in the current.
Definition: MEee2Mesons.h:156
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
virtual double helicityME(const int ichan, const cPDVector &particles, const vector< Lorentz5Momentum > &momenta) const
Return the matrix element squared for a given mode and phase-space channel, with the helicities ampli...
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
ProductionMatrixElement me_
The matrix element.
Definition: MEee2Mesons.h:166
MEee2Mesons & operator=(const MEee2Mesons &)=delete
The assignment operator is private and must never be called.
MEee2Mesons()
The default constructor.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual double me2(const int ichan) const
Return the matrix element squared for a given mode and phase-space channel.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
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
vector< cPDPtr > cPDVector