herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
UEDW0W1W1Vertex.h
1 // -*- C++ -*-
2 //
3 // UEDW0W1W1Vertex.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_UEDW0W1W1Vertex_H
10 #define HERWIG_UEDW0W1W1Vertex_H
11 //
12 // This is the declaration of the UEDW0W1W1Vertex class.
13 //
14 
15 #include "ThePEG/Helicity/Vertex/Vector/VVVVertex.h"
16 #include "UEDBase.h"
17 
18 namespace Herwig {
19 using namespace ThePEG;
21 
30 class UEDW0W1W1Vertex: public VVVVertex {
31 
32 public:
33 
38 
39 public:
40 
47  void persistentOutput(PersistentOStream & os) const;
48 
54  void persistentInput(PersistentIStream & is, int version);
56 
63  static void Init();
64 
71  virtual void setCoupling(Energy2 q2,tcPDPtr part1,
72  tcPDPtr part2,tcPDPtr part3);
73 
74 protected:
75 
82  virtual IBPtr clone() const {return new_ptr(*this);}
83 
88  virtual IBPtr fullclone() const {return new_ptr(*this);}
90 
91 
92 protected:
93 
101  virtual void doinit();
103 
104 private:
105 
111 
116  UEDW0W1W1Vertex & operator=(const UEDW0W1W1Vertex &) = delete;
117 
118 private:
119 
123  double theSinW;
124 
128  double theCosW;
129 
134 
139 
143  Energy2 theq2last;
144 
149 
154 
158  long theSMlast;
159 
163  long theKKlast;
164 };
165 }
166 
167 #include "ThePEG/Utilities/ClassTraits.h"
168 
169 namespace ThePEG {
170 
175 template <>
176 struct BaseClassTrait<Herwig::UEDW0W1W1Vertex,1> {
178  typedef ThePEG::Helicity::VVVVertex NthBase;
179 };
180 
183 template <>
184 struct ClassTraits<Herwig::UEDW0W1W1Vertex>
185  : public ClassTraitsBase<Herwig::UEDW0W1W1Vertex> {
187  static string className() { return "Herwig::UEDW0W1W1Vertex"; }
195  static string library() { return "HwUED.so"; }
196 };
197 
200 }
201 
202 #endif /* HERWIG_UEDW0W1W1Vertex_H */
long theKKlast
The PDG code of the last KK-particle in the vertex.
double theCosThetaOne
The value of .
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
The coupling for the and vertex .
double theSinThetaOne
The value of .
Energy2 theq2last
The scale 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.
long theSMlast
The PDG code of the last SM particle in the vertex.
static ClassDescription< UEDW0W1W1Vertex > initUEDW0W1W1Vertex
The static object used to initialize the description of this class.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
virtual IBPtr clone() const
Make a simple clone of this object.
double theCosW
The value of .
double theSinW
The value of .
Complex theCouplast
The value of the coupling when it was last evaluated.
-*- C++ -*-
Complex theElast
The value of when it was last evaluated.