herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
DMModel.h
1// -*- C++ -*-
2#ifndef Herwig_DMModel_H
3#define Herwig_DMModel_H
4//
5// This is the declaration of the DMModel class.
6//
7
8#include "Herwig/Models/General/BSMModel.h"
9#include "DMModel.fh"
10
11namespace Herwig {
12
13using namespace ThePEG;
14
22class DMModel: public BSMModel {
23
24public:
25
30
31public:
32
40
46 void persistentInput(PersistentIStream & is, int version);
48
55 static void Init();
56
57public:
58
63
67 const double & cDMmed() const {return cDMmed_;}
68
72 const vector<double> & cSMmed() const {return cSMmed_;}
74
75public:
76
84 virtual tAbstractFFVVertexPtr vertexQQZp() const {
85 return QQZpVertex_;
86 }
87
91 virtual tAbstractFFVVertexPtr vertexDMDMZp() const {
92 return DMDMZpVertex_;
93 }
94
95protected:
96
103 virtual IBPtr clone() const;
104
109 virtual IBPtr fullclone() const;
111
112protected:
113
121 virtual void doinit();
123
124private:
125
130 DMModel & operator=(const DMModel &) = delete;
131
132private:
133
137 double cDMmed_;
138
142 vector<double> cSMmed_;
143
144private:
145
149 AbstractFFVVertexPtr QQZpVertex_;
150
154 AbstractFFVVertexPtr DMDMZpVertex_;
155};
156
157}
158
159#endif /* Herwig_DMModel_H */
Here is the documentation of the BSMModel class.
Definition: BSMModel.h:21
The DMModel class is designed to implement a simple dark matter mode with fermionic dark matter and a...
Definition: DMModel.h:22
static void Init()
The standard Init function used to initialize the interfaces.
vector< double > cSMmed_
SM couplings to the dark mediator.
Definition: DMModel.h:142
virtual IBPtr clone() const
Make a simple clone of this object.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
DMModel & operator=(const DMModel &)=delete
The assignment operator is private and must never be called.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
DMModel()
The default constructor.
const double & cDMmed() const
Access to the couplings.
Definition: DMModel.h:67
double cDMmed_
DM coupling to the dark mediator.
Definition: DMModel.h:137
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual tAbstractFFVVertexPtr vertexQQZp() const
Pointers to the objects handling the vertices.
Definition: DMModel.h:84
const vector< double > & cSMmed() const
The couplings of the quarks to the mediators.
Definition: DMModel.h:72
AbstractFFVVertexPtr QQZpVertex_
Pointer to the quark-quark mediator vertex.
Definition: DMModel.h:149
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
AbstractFFVVertexPtr DMDMZpVertex_
Pointer to the DM-DM mediator vertex.
Definition: DMModel.h:154
virtual tAbstractFFVVertexPtr vertexDMDMZp() const
Pointer to the DM-DM mediator vertex.
Definition: DMModel.h:91
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr