herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
NMSSMWHHVertex.h
1 // -*- C++ -*-
2 #ifndef HERWIG_NMSSMWHHVertex_H
3 #define HERWIG_NMSSMWHHVertex_H
4 //
5 // This is the declaration of the NMSSMWHHVertex class.
6 //
7 
8 #include "ThePEG/Helicity/Vertex/Scalar/VSSVertex.h"
9 #include "Herwig/Models/Susy/MixingMatrix.h"
10 
11 namespace Herwig {
12 
13 using namespace ThePEG;
14 using namespace ThePEG::Helicity;
15 
23 class NMSSMWHHVertex: public VSSVertex {
24 
25 public:
26 
31 
38  void persistentOutput(PersistentOStream & os) const;
39 
45  void persistentInput(PersistentIStream & is, int version);
47 
54  static void Init();
55 
64  virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3);
65 
66 protected:
67 
74  virtual IBPtr clone() const {return new_ptr(*this);}
75 
80  virtual IBPtr fullclone() const {return new_ptr(*this);}
82 
83 protected:
84 
91  virtual void doinit();
93 
94 private:
95 
100  NMSSMWHHVertex & operator=(const NMSSMWHHVertex &) = delete;
101 
102 private:
103 
107  double _sinb;
108 
112  double _cosb;
113 
117  double _sw;
118 
122  double _cw;
123 
127  Energy2 _q2last;
128 
132  double _couplast;
133 
137  MixingMatrixPtr _mixS;
138 
142  MixingMatrixPtr _mixP;
143 
144 };
145 }
146 
147 
148 #endif /* HERWIG_NMSSMWHHVertex_H */
The NMSSMWHHVertex class implements the coupling of an electroweak" gauge boson with two Higgs bosons...
double _couplast
The last value of the coupling.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Energy2 _q2last
The last the coupling was evaluated at.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
MixingMatrixPtr _mixS
Mixing matrix for the CP-even Higgs bosons.
-*- C++ -*-
virtual IBPtr clone() const
Make a simple clone of this object.
MixingMatrixPtr _mixP
Mixing matrix for the CP-odd Higgs bosons.