herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
SSGNGVertex.h
1 // -*- C++ -*-
2 //
3 // SSGNGVertex.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_SSGNGVertex_H
10 #define HERWIG_SSGNGVertex_H
11 //
12 // This is the declaration of the SSGNGVertex class.
13 //
14 
15 #include "ThePEG/Helicity/Vertex/Vector/GeneralFFVVertex.h"
16 #include "Herwig/Models/Susy/MSSM.h"
17 #include "Herwig/Models/Susy/MixingMatrix.fh"
18 
19 namespace Herwig {
20 using namespace ThePEG;
21 
32 
33 public:
34 
38  SSGNGVertex();
39 
40 public:
41 
48  void persistentOutput(PersistentOStream & os) const;
49 
55  void persistentInput(PersistentIStream & is, int version);
57 
64  static void Init();
65 
73  virtual void setCoupling(Energy2 q2, tcPDPtr part1,
74  tcPDPtr part2, tcPDPtr part3);
75 
76 protected:
77 
84  virtual IBPtr clone() const {return new_ptr(*this);}
85 
90  virtual IBPtr fullclone() const {return new_ptr(*this);}
92 
93 protected:
94 
98  void loopIntegrals(Energy Mi, Energy Mj, Energy M, Energy m,
99  complex<InvEnergy2> & I, complex<InvEnergy2> & J,
100  complex<InvEnergy2> & K, complex<InvEnergy2> & I2);
101 
102 protected:
103 
111  virtual void doinit();
112 
117  virtual void doinitrun();
118 
123  virtual void dofinish();
125 
126 private:
127 
132  SSGNGVertex & operator=(const SSGNGVertex &) = delete;
133 
134 private:
135 
140 
145 
150 
154  tMixingMatrixPtr _stop;
155 
159  tMixingMatrixPtr _sbot;
160 
164  double _sw;
165 
169  double _cw;
170 
174  Energy _mw;
175 
179  double _sb;
180 
184  double _cb;
185 
189  tMixingMatrixPtr _theN;
190 
194  long _idlast;
195 
199  Energy2 _q2last;
200 
205 
209  complex<InvEnergy> _leftlast;
210 
214  complex<InvEnergy> _rightlast;
215 
220 };
221 }
222 
223 #endif /* HERWIG_SSGNGVertex_H */
bool _initLoops
Whether or not initialised.
Definition: SSGNGVertex.h:219
bool _realIntegral
Only include the real part of the integral.
Definition: SSGNGVertex.h:144
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: SSGNGVertex.h:84
std::complex< double > Complex
bool _includeOnShell
Whether of not to include on-shell intermediate states.
Definition: SSGNGVertex.h:139
tMixingMatrixPtr _sbot
Pointer to the sbottom mixing matrix.
Definition: SSGNGVertex.h:159
Energy2 _q2last
Store the value at which the coupling when it was last evaluated.
Definition: SSGNGVertex.h:199
bool _omitLightQuarkYukawas
Option to omit light quark yukawas.
Definition: SSGNGVertex.h:149
complex< InvEnergy > _leftlast
Store the value of the left-coupling when it was last evaluated.
Definition: SSGNGVertex.h:209
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
double _sw
The value of .
Definition: SSGNGVertex.h:164
Energy _mw
Mass of the W.
Definition: SSGNGVertex.h:174
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: SSGNGVertex.h:90
complex< InvEnergy > _rightlast
Store the value of the right-coupling when it was last evaluated.
Definition: SSGNGVertex.h:214
This class implements the coupling of a gluon to a gluino and a neutralino via loop diagrams It inher...
Definition: SSGNGVertex.h:31
-*- C++ -*-
double _cw
The value of .
Definition: SSGNGVertex.h:169
Complex _couplast
Store the value of the coupling when it was last evaluated.
Definition: SSGNGVertex.h:204
long _idlast
Store the id of the neutralino when the coupling was last evaluated.
Definition: SSGNGVertex.h:194
tMixingMatrixPtr _stop
Pointer to the stop mixing matrix.
Definition: SSGNGVertex.h:154
tMixingMatrixPtr _theN
Store the neutralino mixing matrix.
Definition: SSGNGVertex.h:189