herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEDM2Mesons.h
1// -*- C++ -*-
2#ifndef Herwig_MEDM2Mesons_H
3#define Herwig_MEDM2Mesons_H
4//
5// This is the declaration of the MEDM2Mesons 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
59public:
60
68
74 void persistentInput(PersistentIStream & is, int version);
76
83 static void Init();
84
85protected:
86
91 virtual double me2(const int ichan) const;
92
93protected:
94
101 virtual IBPtr clone() const;
102
107 virtual IBPtr fullclone() const;
109
110private:
111
117 virtual void doinit();
118
119private:
120
125 MEDM2Mesons & operator=(const MEDM2Mesons &) = delete;
126
127private :
128
136 WeakCurrentPtr current_;
137
142
146 map<int,int> modeMap_;
148
156 PDPtr incomingA_, incomingB_;
158
163
167 vector<Complex> cSMmed_;
168
173};
174
175}
176
177#endif /* Herwig_MEDM2Mesons_H */
The MEDM2Mesons class implements dark matter annhilation via a vector current to mesons at low energi...
Definition: MEDM2Mesons.h:23
static void Init()
The standard Init function used to initialize the interfaces.
map< int, int > modeMap_
Map for the modes.
Definition: MEDM2Mesons.h:146
vector< Complex > cSMmed_
SM couplings to the dark mediator.
Definition: MEDM2Mesons.h:167
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual double me2(const int ichan) const
Return the matrix element squared for a given mode and phase-space channel.
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
PDPtr Mediator_
DM vector mediator.
Definition: MEDM2Mesons.h:172
WeakCurrentPtr current_
Hadronic current etc.
Definition: MEDM2Mesons.h:136
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
MEDM2Mesons & operator=(const MEDM2Mesons &)=delete
The assignment operator is private and must never be called.
MEDM2Mesons()
The default constructor.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Complex cDMmed_
DM coupling to the dark mediator.
Definition: MEDM2Mesons.h:162
ProductionMatrixElement me_
The matrix element.
Definition: MEDM2Mesons.h:141
Here is the documentation of the MEMultiChannel class.
The storage of the helicity amplitude expression for the matrix element of a hard process.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr