herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
ADDModel.h
1// -*- C++ -*-
2//
3// ADDModel.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 The Herwig Collaboration
5//
6// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef HERWIG_ADDModel_H
10#define HERWIG_ADDModel_H
11// This is the declaration of the ADDModel class.
12
13#include "Herwig/Models/General/BSMModel.h"
14#include "ThePEG/Helicity/Vertex/AbstractFFTVertex.h"
15#include "ThePEG/Helicity/Vertex/AbstractVVTVertex.h"
16#include "ThePEG/Helicity/Vertex/AbstractSSTVertex.h"
17#include "ThePEG/Helicity/Vertex/AbstractFFVTVertex.h"
18#include "ThePEG/Helicity/Vertex/AbstractVVVTVertex.h"
19#include "ADDModel.fh"
20
21namespace Herwig {
22using namespace ThePEG;
23using namespace ThePEG::Helicity;
24
36class ADDModel: public BSMModel {
37
38public:
39
43 ADDModel() : delta_(2), mPlanckBar_(2.4e18*GeV),
44 md_(1000.*GeV), lambdaT_(1000.*GeV) {
45 useMe();
46 }
47
51 unsigned int delta() const {return delta_;}
52
56 Energy MPlanckBar() const {return mPlanckBar_;}
57
61 Energy MD() const {return md_;}
62
66 Energy LambdaT() const {return lambdaT_;}
67
73 tAbstractFFTVertexPtr vertexFFGR() const {return FFGRVertex_;}
74
78 tAbstractVVTVertexPtr vertexVVGR() const {return VVGRVertex_;}
79
83 tAbstractSSTVertexPtr vertexSSGR() const {return SSGRVertex_;}
84
88 tAbstractFFVTVertexPtr vertexFFGGR() const {return FFGGRVertex_;}
89
93 tAbstractFFVTVertexPtr vertexFFWGR() const {return FFWGRVertex_;}
94
98 tAbstractVVVTVertexPtr vertexWWWGR() const {return WWWGRVertex_;}
99
103 tAbstractVVVTVertexPtr vertexGGGGR() const {return GGGGRVertex_;}
105
106public:
107
115
121 void persistentInput(PersistentIStream & is, int version);
123
127 static void Init();
128
129protected:
130
138 virtual void doinit();
140
141protected:
142
149 virtual IBPtr clone() const {return new_ptr(*this);}
150
155 virtual IBPtr fullclone() const {return new_ptr(*this);}
157
158private:
159
163 ADDModel & operator=(const ADDModel &) = delete;
164
165private:
166
170 unsigned int delta_;
171
176
180 Energy md_;
181
185 Energy lambdaT_;
186
190 AbstractFFTVertexPtr FFGRVertex_;
191
195 AbstractVVTVertexPtr VVGRVertex_;
196
200 AbstractSSTVertexPtr SSGRVertex_;
201
205 AbstractFFVTVertexPtr FFGGRVertex_;
206
210 AbstractFFVTVertexPtr FFWGRVertex_;
211
215 AbstractVVVTVertexPtr WWWGRVertex_;
216
220 AbstractVVVTVertexPtr GGGGRVertex_;
221
222};
223}
224
225#endif /* HERWIG_ADDModel_H */
This is the class to be used instead of the Standard Model class for the ADD model.
Definition: ADDModel.h:36
tAbstractVVVTVertexPtr vertexGGGGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:103
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Energy MPlanckBar() const
The reduced Planck mass in 4d.
Definition: ADDModel.h:56
AbstractFFVTVertexPtr FFGGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:205
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
AbstractFFVTVertexPtr FFWGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:210
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: ADDModel.h:149
unsigned int delta_
Number of extrac dimensions.
Definition: ADDModel.h:170
ADDModel & operator=(const ADDModel &)=delete
Private and non-existent assignment operator.
unsigned int delta() const
Number of extrac dimensions.
Definition: ADDModel.h:51
Energy MD() const
The d-dimension Planck mass.
Definition: ADDModel.h:61
tAbstractFFVTVertexPtr vertexFFWGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:93
Energy mPlanckBar_
The reduced Planck mass in 4d.
Definition: ADDModel.h:175
tAbstractVVVTVertexPtr vertexWWWGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:98
ADDModel()
The default constructor.
Definition: ADDModel.h:43
AbstractFFTVertexPtr FFGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:190
Energy lambdaT_
Cut-off parameter for virtual gravitons.
Definition: ADDModel.h:185
tAbstractFFVTVertexPtr vertexFFGGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:88
AbstractVVTVertexPtr VVGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:195
AbstractSSTVertexPtr SSGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:200
AbstractVVVTVertexPtr WWWGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:215
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: ADDModel.h:155
static void Init()
Standard Init function used to initialize the interfaces.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
AbstractVVVTVertexPtr GGGGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:220
tAbstractSSTVertexPtr vertexSSGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:83
tAbstractFFTVertexPtr vertexFFGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:73
Energy md_
The d-dimension Planck mass.
Definition: ADDModel.h:180
Energy LambdaT() const
The cut-off for virtual gravition processes.
Definition: ADDModel.h:66
tAbstractVVTVertexPtr vertexVVGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:78
Here is the documentation of the BSMModel class.
Definition: BSMModel.h:21
void useMe() const
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr