herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
SSHSFSFVertex.h
1// -*- C++ -*-
2//
3// SSHSFSFVertex.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 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_SSHSFSFVertex_H
10#define HERWIG_SSHSFSFVertex_H
11//
12// This is the declaration of the SSHSFSFVertex class.
13//
14
15#include "ThePEG/Helicity/Vertex/Scalar/SSSVertex.h"
16#include "MSSM.h"
17
18namespace Herwig {
19using namespace ThePEG;
20
28class SSHSFSFVertex: public SSSVertex {
29
31 typedef vector<MixingMatrixPtr> MMPVector;
32
33public:
34
39
47
53 void persistentInput(PersistentIStream & is, int version);
55
62 static void Init();
63
64
72 void setCoupling(Energy2 q2, tcPDPtr particle1, tcPDPtr particle2,
73 tcPDPtr particle3);
74
75protected:
76
83 virtual IBPtr clone() const {return new_ptr(*this);}
84
89 virtual IBPtr fullclone() const {return new_ptr(*this);}
91
92protected:
93
101 virtual void doinit();
103
104private:
105
111
112private:
113
124 void downSF(Energy2 q2, long higgs, long smID, unsigned int alpha, unsigned int beta);
125
134 void upSF(Energy2 q2, long higgs, long smID, unsigned int alpha, unsigned int beta);
135
144 void leptonSF(Energy2 q2, long higgs, long smID, unsigned int alpha, unsigned int beta);
145
152 void chargedHiggs(Energy2 q2, long id1, long id2);
153
155
156private:
157
163
167 vector<complex<Energy> > theTriC;
168
172 double theSinA;
173
177 double theCosA;
178
182 double theSinB;
183
187 double theCosB;
188
192 double theTanB;
193
197 double theSinAB;
198
202 double theCosAB;
203
207 Energy theMw;
208
212 Energy theMz;
213
217 Energy theMu;
218
222 double theSw;
223
227 double theCw;
228
232 complex<Energy> theCoupLast;
233
237 Energy2 theq2Last;
238
242 double thegLast;
243
248
253
258
262 tMSSMPtr theMSSM;
263};
264}
265
266
267#endif /* HERWIG_SSHSFSFVertex_H */
This is the implementation of the coupling for a Higgs in the MSSM to a pair of sfermions.
Definition: SSHSFSFVertex.h:28
MMPVector theMix
A vector containing pointers to the mixing matrices, 0 = stop, 1 = sbottom, 2 = stau.
double theCosAB
The value of .
static void Init()
The standard Init function used to initialize the interfaces.
SSHSFSFVertex & operator=(const SSHSFSFVertex &)=delete
The assignment operator is private and must never be called.
Energy theMz
The mass of the .
double theCw
The value of .
Energy theMu
The parameter.
long theSF1Last
The ID of the first sfermion when the vertex was last evaluated.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
double theCosB
The value of .
vector< complex< Energy > > theTriC
A vector containing the trilinear couplings, quarks then leptons.
SSHSFSFVertex()
The default constructor.
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: SSHSFSFVertex.h:83
double theSinB
The value of .
vector< MixingMatrixPtr > MMPVector
A vector of MixingMatrix pointers.
Definition: SSHSFSFVertex.h:31
double theSw
The value of .
long theSF2Last
The ID of the second sfermion when the vertex was last evaluated.
double theSinAB
The value of .
void setCoupling(Energy2 q2, tcPDPtr particle1, tcPDPtr particle2, tcPDPtr particle3)
Calculate the coupling at the given scale.
double theTanB
The value of .
double thegLast
The value of g coupling when it was last evaluated.
void chargedHiggs(Energy2 q2, long id1, long id2)
Calculate the coupling for the charged higgs.
void upSF(Energy2 q2, long higgs, long smID, unsigned int alpha, unsigned int beta)
Calculate the coupling for the second higgs.
tMSSMPtr theMSSM
The Model.
void leptonSF(Energy2 q2, long higgs, long smID, unsigned int alpha, unsigned int beta)
Calculate the coupling for the third higgs.
long theHLast
The ID of the higgs when the vertex was last evaluated.
void downSF(Energy2 q2, long higgs, long smID, unsigned int alpha, unsigned int beta)
Calculate the coupling for the first higgs.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: SSHSFSFVertex.h:89
Energy theMw
The mass of the .
double theSinA
The value of .
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
complex< Energy > theCoupLast
The value of the coupling when it was last evaluated.
double theCosA
The value of .
Energy2 theq2Last
The scale at which the coupling was last evaluated.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr