herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
SSFFHVertex.h
1 // -*- C++ -*-
2 //
3 // SSFFHVertex.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_SSFFHVertex_H
10 #define HERWIG_SSFFHVertex_H
11 //
12 // This is the declaration of the SSFFHVertex class.
13 //
14 
15 #include "ThePEG/Helicity/Vertex/Scalar/FFSVertex.h"
16 #include "MSSM.h"
17 
18 namespace Herwig {
19 
27 class SSFFHVertex: public FFSVertex {
28 
29 public:
30 
34  SSFFHVertex();
35 
42  void persistentOutput(PersistentOStream & os) const;
43 
49  void persistentInput(PersistentIStream & is, int version);
51 
58  static void Init();
59 
67  virtual void setCoupling(Energy2 q2, tcPDPtr particle1, tcPDPtr particle2,
68  tcPDPtr particle3);
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 
96  virtual void doinit();
98 
99 private:
100 
105  SSFFHVertex & operator=(const SSFFHVertex &) = delete;
106 
107 private:
108 
112  tcMSSMPtr theMSSM;
113 
117  double thetanb;
118 
122  Energy theMw;
123 
127  double theSa;
128 
132  double theSb;
133 
137  double theCa;
138 
142  double theCb;
143 
147  pair<long,long> theFLast;
148 
152  double theGlast;
153 
157  Energy2 theq2last;
158 
162  pair<Energy,Energy> theMassLast;
163 };
164 }
165 
166 #endif /* HERWIG_SSFFHVertex_H */
SSFFHVertex()
The default constructor.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: SSFFHVertex.h:84
The is the coupling of higgs bosons in the MSSM to a pair of SM fermions.
Definition: SSFFHVertex.h:27
virtual void setCoupling(Energy2 q2, tcPDPtr particle1, tcPDPtr particle2, tcPDPtr particle3)
Calculate the coupling for the vertex.
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: SSFFHVertex.h:78
double theSa
The value of .
Definition: SSFFHVertex.h:127
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
double theCa
The value of .
Definition: SSFFHVertex.h:137
double theSb
The value of .
Definition: SSFFHVertex.h:132
SSFFHVertex & operator=(const SSFFHVertex &)=delete
The assignment operator is private and must never be called.
double theCb
The value of .
Definition: SSFFHVertex.h:142
double thetanb
The value of .
Definition: SSFFHVertex.h:117
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
double theGlast
The value of when it was last evaluated.
Definition: SSFFHVertex.h:152
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
-*- C++ -*-
tcMSSMPtr theMSSM
Pointer to the SM object.
Definition: SSFFHVertex.h:112
pair< long, long > theFLast
The ID of the last fermion for which the vertex was evaluated.
Definition: SSFFHVertex.h:147
Energy2 theq2last
The scale at which then coupling was last evaluated.
Definition: SSFFHVertex.h:157
pair< Energy, Energy > theMassLast
Values of the masses.
Definition: SSFFHVertex.h:162
Energy theMw
The mass of the .
Definition: SSFFHVertex.h:122
static void Init()
The standard Init function used to initialize the interfaces.