herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
NMSSMHSFSFVertex.h
1 // -*- C++ -*-
2 #ifndef HERWIG_NMSSMHSFSFVertex_H
3 #define HERWIG_NMSSMHSFSFVertex_H
4 //
5 // This is the declaration of the NMSSMHSFSFVertex class.
6 //
7 
8 #include "ThePEG/Helicity/Vertex/Scalar/SSSVertex.h"
9 #include "Herwig/Models/StandardModel/StandardModel.h"
10 #include "Herwig/Models/Susy/MixingMatrix.h"
11 
12 namespace Herwig {
13 
14 using namespace ThePEG;
15 
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,
65  tcPDPtr part3);
66 
67 protected:
68 
75  virtual IBPtr clone() const {return new_ptr(*this);}
76 
81  virtual IBPtr fullclone() const {return new_ptr(*this);}
83 
84 protected:
85 
92  virtual void doinit();
94 
95 private:
96 
101  NMSSMHSFSFVertex & operator=(const NMSSMHSFSFVertex &) = delete;
102 
103 private:
104 
108  Complex chargedHiggs(Energy2 q2, long id1, long id2);
109 
110 private:
111 
117  tcHwSMPtr _theSM;
118 
122  MixingMatrixPtr _mixS;
123 
127  MixingMatrixPtr _mixP;
128 
132  MixingMatrixPtr _mixTp;
133 
137  MixingMatrixPtr _mixBt;
138 
142  MixingMatrixPtr _mixTa;
143 
147  complex<Energy> _triTp;
148 
152  complex<Energy> _triBt;
153 
157  complex<Energy> _triTa;
158 
162  double _lambda;
163 
169  Energy _lambdaVEV;
170 
174  Energy _v1;
175 
179  Energy _v2;
180 
184  double _sw;
185 
189  double _cw;
190 
194  Energy _mw;
195 
199  Energy _mz;
200 
204  double _sb;
205 
209  double _cb;
210 
214  double _tb;
215 
217 
223  Energy2 _q2last;
224 
229  double _couplast;
230 
235  pair<Energy, Energy> _masslast;
236 
240  pair<long, long> _idlast;
242 };
243 }
244 
245 
246 #endif /* HERWIG_NMSSMHSFSFVertex_H */
MixingMatrixPtr _mixP
The CP-odd higgs mixing matrix.
std::complex< double > Complex
Energy _v1
The value of the V.E.V .
Energy _mw
The value of .
double _sw
The value of .
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
double _lambda
The value of .
MixingMatrixPtr _mixS
The CP-even higgs mixing matrix.
Energy _lambdaVEV
The value of , the V.E.V of the extra gauge singlet scaled by .
Energy _v2
The value of the V.E.V .
pair< long, long > _idlast
The PDG codes of the particles in the vertex when it was last evaluated.
double _tb
The value of .
double _cw
The value of .
MixingMatrixPtr _mixTp
The mixing matrix.
This class defines the coupling of Higgs bosons to the sfermions in the NMSSM.
MixingMatrixPtr _mixTa
The mixing matrix.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
double _cb
The value of .
complex< Energy > _triTa
The tau lepton trilinear coupling.
double _couplast
The value of the dimensionless coupling when last calculated.
complex< Energy > _triBt
The bottom quark trilinear coupling.
virtual IBPtr clone() const
Make a simple clone of this object.
Energy _mz
The value of .
-*- C++ -*-
complex< Energy > _triTp
The top quark trilinear coupling.
MixingMatrixPtr _mixBt
The mixing matrix.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
tcHwSMPtr _theSM
A pointer to the Standard Model object.
Energy2 _q2last
The scale at which the last calculation took place.
double _sb
The value of .
pair< Energy, Energy > _masslast
The value of mass of the counterpart SM fermion when last calculated.