herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
LeptoquarkModelSLQSLQGVertex.h
1 // -*- C++ -*-
2 //
3 // LeptoquarkModelSLQSLQGVertex.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_LeptoquarkModelSLQSLQGVertex_H
10 #define HERWIG_LeptoquarkModelSLQSLQGVertex_H
11 //
12 // This is the declaration of the LeptoquarkModelSLQSLQGVertex class.
13 
14 #include "ThePEG/Helicity/Vertex/Scalar/VSSVertex.h"
15 #include "Herwig/Models/Leptoquarks/LeptoquarkModel.h"
16 
17 namespace Herwig {
18 using namespace ThePEG;
19 
30 
31 public:
32 
37 
44  void persistentOutput(PersistentOStream & os) const;
45 
51  void persistentInput(PersistentIStream & is, int version);
53 
57  static void Init();
58 
66  virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3);
67 
68 protected:
69 
76  virtual IBPtr clone() const {return new_ptr(*this);}
77 
82  virtual IBPtr fullclone() const {return new_ptr(*this);}
84 
85 protected:
86 
92  virtual void doinit();
93 
94 private:
95 
100 
104  LeptoquarkModelSLQSLQGVertex & operator=(const LeptoquarkModelSLQSLQGVertex &) = delete;
105 
110 
111 
115  Energy2 _q2last;
116 
121 
122 };
123 
124 }
125 
126 namespace ThePEG {
127 
134 template <>
137  typedef ThePEG::Helicity::VSSVertex NthBase;
138 };
139 
144 template <>
146  : public ClassTraitsBase<Herwig::LeptoquarkModelSLQSLQGVertex> {
147 
151  static string className() { return "Herwig::LeptoquarkModelSLQSLQGVertex"; }
152 
158  static string library() { return "HwLeptoquarkModel.so"; }
159 
160 };
161 
164 }
165 
166 
167 #endif /* HERWIG_LeptoquarkModelSLQSLQGVertex_H */
Energy2 _q2last
The energy at which the coupling was last evaluated.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
std::complex< double > Complex
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< StandardModelBase >::transient_const_pointer tcSMPtr
The LeptoquarkModelSLQSLQGVertex class is the implementation of the gluon coupling to pairs of scalar...
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Complex _couplast
The coupling when it was last evaluated.
static ClassDescription< LeptoquarkModelSLQSLQGVertex > initLeptoquarkModelSLQSLQGVertex
Describe a concrete class with persistent data.
-*- C++ -*-