herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
ADDModelVVGRVertex.h
1 // -*- C++ -*-
2 //
3 // ADDModelVVGRVertex.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2017 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_ADDModelVVGRVertex_H
10 #define HERWIG_ADDModelVVGRVertex_H
11 //
12 // This is the declaration of the ADDModelVVGRVertex class.
13 
14 #include "ThePEG/Helicity/Vertex/Tensor/VVTVertex.h"
15 #include "ADDModel.h"
16 
17 namespace Herwig {
18 using namespace ThePEG;
19 
29 
30 public:
31 
36 
43  void persistentOutput(PersistentOStream & os) const;
44 
50  void persistentInput(PersistentIStream & is, int version);
52 
56  static void Init();
57 
65  virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3);
66 
67 protected:
68 
75  virtual IBPtr clone() const {return new_ptr(*this);}
76 
81  virtual IBPtr fullclone() const {return new_ptr(*this);}
83 
84 protected:
85 
91  virtual void doinit();
92 
101  virtual Complex propagator(int iopt, Energy2 q2,tcPDPtr part,
102  Energy mass=-GeV, Energy width=-GeV);
103 
104 private:
105 
110 
114  ADDModelVVGRVertex & operator=(const ADDModelVVGRVertex &) = delete;
115 
119  InvEnergy kappa_;
120 
124  Energy r_;
125 
126 };
127 }
128 
129 namespace ThePEG {
130 
137 template <>
138 struct BaseClassTrait<Herwig::ADDModelVVGRVertex,1> {
140  typedef ThePEG::Helicity::VVTVertex NthBase;
141 };
142 
147 template <>
148 struct ClassTraits<Herwig::ADDModelVVGRVertex>
149  : public ClassTraitsBase<Herwig::ADDModelVVGRVertex> {
150 
154  static string className() { return "Herwig::ADDModelVVGRVertex"; }
155 
161  static string library() { return "HwADDModel.so"; }
162 
163 };
164 
167 }
168 
169 
170 #endif /* HERWIG_ADDModelVVGRVertex_H */
static ClassDescription< ADDModelVVGRVertex > initADDModelVVGRVertex
Describe a concrete class with persistent data.
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
InvEnergy kappa_
The coupling.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Energy r_
Mass ratio for the propagator.
-*- C++ -*-
This is the implementation of the vector-vector-graviton vertex for the ADD model.
virtual IBPtr clone() const
Make a simple clone of this object.