herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
UEDF1F1P0Vertex.h
1 // -*- C++ -*-
2 //
3 // UEDF1F1P0Vertex.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_UEDF1F1P0Vertex_H
10 #define HERWIG_UEDF1F1P0Vertex_H
11 //
12 // This is the declaration of the UEDF1F1P0Vertex class.
13 //
14 
15 #include "ThePEG/Helicity/Vertex/Vector/FFVVertex.h"
16 #include "UEDBase.h"
17 
18 namespace Herwig {
19 using namespace ThePEG;
20 
28 class UEDF1F1P0Vertex: public FFVVertex {
29 
30 public:
31 
36 
43  static void Init();
44 
51  virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2,
52  tcPDPtr part3);
53 
54 protected:
55 
62  virtual IBPtr clone() const {return new_ptr(*this);}
63 
68  virtual IBPtr fullclone() const {return new_ptr(*this);}
70 
71 
72 protected:
73 
81  virtual void doinit();
83 
84 private:
85 
91 
96  UEDF1F1P0Vertex & operator=(const UEDF1F1P0Vertex &) = delete;
97 
98 private:
99 
104 
108  Energy2 theq2Last;
109 
114 
119 
123  vector<double> theCharges;
124 };
125 }
126 
127 #include "ThePEG/Utilities/ClassTraits.h"
128 
129 namespace ThePEG {
130 
135 template <>
136 struct BaseClassTrait<Herwig::UEDF1F1P0Vertex,1> {
138  typedef ThePEG::Helicity::FFVVertex NthBase;
139 };
140 
143 template <>
144 struct ClassTraits<Herwig::UEDF1F1P0Vertex>
145  : public ClassTraitsBase<Herwig::UEDF1F1P0Vertex> {
147  static string className() { return "Herwig::UEDF1F1P0Vertex"; }
155  static string library() { return "HwUED.so"; }
156 };
157 
160 }
161 
162 #endif /* HERWIG_UEDF1F1P0Vertex_H */
This class implements the coupling of a pair of level-1 KK fermions to a standard Model photon...
Complex theLRLast
The value of the left/right coupling when it was last evaluated.
long thefermLast
The id of the last fermion that the vertex was evaluated for.
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< double > theCharges
The charges of the fermions.
Complex theCoupLast
The value of the coupling when it was last evaluated .
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
virtual IBPtr clone() const
Make a simple clone of this object.
-*- C++ -*-
Energy2 theq2Last
The scale at which the coupling was last evaluated.
static NoPIOClassDescription< UEDF1F1P0Vertex > initUEDF1F1P0Vertex
The static object used to initialize the description of this class.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.