herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
12namespace Herwig {
13
14using namespace ThePEG;
15
24
25public:
26
31
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
67protected:
68
75 virtual IBPtr clone() const {return new_ptr(*this);}
76
81 virtual IBPtr fullclone() const {return new_ptr(*this);}
83
84protected:
85
92 virtual void doinit();
94
95private:
96
102
103private:
104
108 Complex chargedHiggs(Energy2 q2, long id1, long id2);
109
110private:
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
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 */
This class defines the coupling of Higgs bosons to the sfermions in the NMSSM.
Energy _lambdaVEV
The value of , the V.E.V of the extra gauge singlet scaled by .
MixingMatrixPtr _mixP
The CP-odd higgs mixing matrix.
tcHwSMPtr _theSM
A pointer to the Standard Model object.
NMSSMHSFSFVertex & operator=(const NMSSMHSFSFVertex &)=delete
The assignment operator is private and must never be called.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
static void Init()
The standard Init function used to initialize the interfaces.
Complex chargedHiggs(Energy2 q2, long id1, long id2)
Return the coupling of the charged higgs to the sfermions.
double _sb
The value of .
double _cb
The value of .
Energy _v2
The value of the V.E.V .
MixingMatrixPtr _mixS
The CP-even higgs mixing matrix.
NMSSMHSFSFVertex()
The default constructor.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
pair< long, long > _idlast
The PDG codes of the particles in the vertex when it was last evaluated.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Energy _mz
The value of .
double _couplast
The value of the dimensionless coupling when last calculated.
double _cw
The value of .
MixingMatrixPtr _mixTp
The mixing matrix.
complex< Energy > _triTa
The tau lepton trilinear coupling.
double _tb
The value of .
complex< Energy > _triTp
The top quark trilinear coupling.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
virtual IBPtr clone() const
Make a simple clone of this object.
Energy2 _q2last
The scale at which the last calculation took place.
Energy _mw
The value of .
double _sw
The value of .
double _lambda
The value of .
complex< Energy > _triBt
The bottom quark trilinear coupling.
pair< Energy, Energy > _masslast
The value of mass of the counterpart SM fermion when last calculated.
MixingMatrixPtr _mixBt
The mixing matrix.
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)
Calculate the couplings.
Energy _v1
The value of the V.E.V .
MixingMatrixPtr _mixTa
The mixing matrix.
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr