herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
NMSSMWWHVertex.h
1 // -*- C++ -*-
2 #ifndef HERWIG_NMSSMWWHVertex_H
3 #define HERWIG_NMSSMWWHVertex_H
4 //
5 // This is the declaration of the NMSSMWWHVertex class.
6 //
7 
8 #include "ThePEG/Helicity/Vertex/Scalar/VVSVertex.h"
9 #include "Herwig/Models/Susy/MixingMatrix.h"
10 
11 namespace Herwig {
12 using namespace ThePEG;
13 using namespace ThePEG::Helicity;
14 
26 class NMSSMWWHVertex: public VVSVertex {
27 
28 public:
29 
34 
35 public:
36 
43  void persistentOutput(PersistentOStream & os) const;
44 
50  void persistentInput(PersistentIStream & is, int version);
52 
59  static void Init();
60 
68  virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3);
69 
70 protected:
71 
78  virtual IBPtr clone() const {return new_ptr(*this);}
79 
84  virtual IBPtr fullclone() const {return new_ptr(*this);}
86 
87 protected:
88 
95  virtual void doinit();
97 
98 private:
99 
104  NMSSMWWHVertex & operator=(const NMSSMWWHVertex &) = delete;
105 
106 private:
107 
116 
120  Energy2 _q2last;
121 
125  Energy _mw;
126 
130  double _zfact;
131 
135  double _sinb;
136 
140  double _cosb;
141 
145  MixingMatrixPtr _mixS;
147 
148 };
149 }
150 
151 
152 #endif /* HERWIG_NMSSMWWHVertex_H */
Complex _couplast
Storage of the couplings.
Energy2 _q2last
The scale at which the coupling was last evaluated.
std::complex< double > Complex
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Energy _mw
The mass of the boson.
virtual IBPtr clone() const
Make a simple clone of this object.
MixingMatrixPtr _mixS
Mixing matrix for the CP-even Higgs bosons.
-*- C++ -*-
The NMSSMWWHVertex class is the implementation of the coupling of two electroweak gauge bosons to the...
double _zfact
The factor for the vertex.