herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
SSGOGOHVertex.h
1 // -*- C++ -*-
2 //
3 // SSGOGOHVertex.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_SSGOGOHVertex_H
10 #define HERWIG_SSGOGOHVertex_H
11 //
12 // This is the declaration of the SSGOGOHVertex class.
13 //
14 
15 #include "ThePEG/Helicity/Vertex/Scalar/FFSVertex.h"
16 #include "MSSM.h"
17 
18 namespace Herwig {
19 
27 class SSGOGOHVertex: public FFSVertex {
28 
29 public:
30 
34  SSGOGOHVertex();
35 
36 public:
37 
44  void persistentOutput(PersistentOStream & os) const;
45 
51  void persistentInput(PersistentIStream & is, int version);
53 
60  static void Init();
61 
69  virtual void setCoupling(Energy2 q2, tcPDPtr particle1, tcPDPtr particle2,
70  tcPDPtr particle3);
71 
72 protected:
73 
80  virtual IBPtr clone() const {return new_ptr(*this);}
81 
86  virtual IBPtr fullclone() const {return new_ptr(*this);}
88 
89 
90 protected:
91 
99  virtual void doinit();
101 
102 private:
103 
108  SSGOGOHVertex & operator=(const SSGOGOHVertex &) = delete;
109 
110 private:
111 
115  Energy theMw;
116 
120  vector<vector<Complex> > theSij;
121 
125  vector<vector<Complex> > theQij;
126 
130  vector<vector<Complex> > theQijLp;
131 
135  vector<vector<Complex> > theQijRp;
136 
140  vector<vector<Complex> > theSijdp;
141 
145  vector<vector<Complex> > theQijdp;
146 
150  double theSa;
151 
155  double theSb;
156 
160  double theCa;
161 
165  double theCb;
166 
171 
176 
181 
185  long theHLast;
186 
191 
196 
200  Energy2 theq2last;
201 };
202 }
203 
204 #endif /* HERWIG_SSGOGOHVertex_H */
Complex theRLast
The value of the right-coupling when it was last evaluated.
std::complex< double > Complex
double theSa
The value of .
vector< vector< Complex > > theQijRp
The matrix .
SSGOGOHVertex()
The default constructor.
double theCb
The value of .
The is the coupling of higgs bosons in the MSSM to a pair of SM fermions.
Definition: SSGOGOHVertex.h:27
virtual void setCoupling(Energy2 q2, tcPDPtr particle1, tcPDPtr particle2, tcPDPtr particle3)
Calculate the coupling for the vertex.
long theID2Last
The ID of the first gaugino when the coupling was las evaluated.
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< vector< Complex > > theSij
The matrix .
Energy theMw
The mass of the .
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< vector< Complex > > theQijdp
The matrix .
long theID1Last
The ID of the first gaugino when the coupling was las evaluated.
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: SSGOGOHVertex.h:80
Complex theCoupLast
The value of the coupling when it was last evaluated.
double theSb
The value of .
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Energy2 theq2last
The scale at which the coupling was last evaluated.
long theHLast
The ID of the last higgs for which the vertex was evaluated.
SSGOGOHVertex & operator=(const SSGOGOHVertex &)=delete
The assignment operator is private and must never be called.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
vector< vector< Complex > > theQijLp
The matrix .
-*- C++ -*-
double theCa
The value of .
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: SSGOGOHVertex.h:86
Complex theLLast
The value of the left-coupling when it was last evaluated.
vector< vector< Complex > > theQij
The matrix .
vector< vector< Complex > > theSijdp
The matrix .
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.