herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
21 namespace Herwig {
22 using namespace ThePEG;
23 using namespace ThePEG::Helicity;
24 
36 class ADDModel: public BSMModel {
37 
38 public:
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 
106 public:
107 
114  void persistentOutput(PersistentOStream & os) const;
115 
121  void persistentInput(PersistentIStream & is, int version);
123 
127  static void Init();
128 
129 protected:
130 
138  virtual void doinit();
140 
141 protected:
142 
149  virtual IBPtr clone() const {return new_ptr(*this);}
150 
155  virtual IBPtr fullclone() const {return new_ptr(*this);}
157 
158 private:
159 
163  ADDModel & operator=(const ADDModel &) = delete;
164 
165 private:
166 
170  unsigned int delta_;
171 
175  Energy mPlanckBar_;
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 */
unsigned int delta_
Number of extrac dimensions.
Definition: ADDModel.h:170
AbstractFFTVertexPtr FFGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:190
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: ADDModel.h:155
tAbstractVVVTVertexPtr vertexWWWGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:98
Energy lambdaT_
Cut-off parameter for virtual gravitons.
Definition: ADDModel.h:185
tAbstractFFVTVertexPtr vertexFFWGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:93
tAbstractFFVTVertexPtr vertexFFGGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:88
tAbstractVVVTVertexPtr vertexGGGGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:103
Here is the documentation of the BSMModel class.
Definition: BSMModel.h:21
tAbstractSSTVertexPtr vertexSSGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:83
AbstractVVVTVertexPtr WWWGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:215
AbstractVVTVertexPtr VVGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:195
unsigned int delta() const
Number of extrac dimensions.
Definition: ADDModel.h:51
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
This is the class to be used instead of the Standard Model class for the ADD model.
Definition: ADDModel.h:36
Energy md_
The d-dimension Planck mass.
Definition: ADDModel.h:180
tAbstractVVTVertexPtr vertexVVGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:78
AbstractVVVTVertexPtr GGGGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:220
-*- C++ -*-
AbstractSSTVertexPtr SSGRVertex_
Pointer to the object handling the vertex.
Definition: ADDModel.h:200
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
Energy MD() const
The d-dimension Planck mass.
Definition: ADDModel.h:61
Energy mPlanckBar_
The reduced Planck mass in 4d.
Definition: ADDModel.h:175
Energy LambdaT() const
The cut-off for virtual gravition processes.
Definition: ADDModel.h:66
ADDModel()
The default constructor.
Definition: ADDModel.h:43
tAbstractFFTVertexPtr vertexFFGR() const
Pointer to the object handling the vertex.
Definition: ADDModel.h:73