herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
SSNNPVertex.h
1 // -*- C++ -*-
2 //
3 // SSNNPVertex.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_SSNNPVertex_H
10 #define HERWIG_SSNNPVertex_H
11 //
12 // This is the declaration of the SSNNPVertex 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  SSNNPVertex();
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  SSNNPVertex & operator=(const SSNNPVertex &) = delete;
133 
134 private:
135 
140 
145 
149  tMixingMatrixPtr _stop;
150 
154  tMixingMatrixPtr _sbot;
155 
159  tMixingMatrixPtr _stau;
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  tMixingMatrixPtr _theU;
195 
199  tMixingMatrixPtr _theV;
200 
204  long _id1last;
205 
209  long _id2last;
210 
214  Energy2 _q2last;
215 
220 
224  complex<InvEnergy> _leftlast;
225 
229  complex<InvEnergy> _rightlast;
230 };
231 }
232 
233 #endif /* HERWIG_SSNNPVertex_H */
double _cw
The value of .
Definition: SSNNPVertex.h:169
bool _includeOnShell
Whether of not to include on-shell intermediate states.
Definition: SSNNPVertex.h:139
std::complex< double > Complex
complex< InvEnergy > _rightlast
Store the value of the right-coupling when it was last evalutated.
Definition: SSNNPVertex.h:229
long _id2last
Store the id of the 1st neutralino when the coupling was last evaluated.
Definition: SSNNPVertex.h:209
tMixingMatrixPtr _theU
Store the U-type chargino mixing matrix.
Definition: SSNNPVertex.h:194
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
tMixingMatrixPtr _sbot
Pointer to the sbottom mixing matrix.
Definition: SSNNPVertex.h:154
complex< InvEnergy > _leftlast
Store the value of the left-coupling when it was last evalutated.
Definition: SSNNPVertex.h:224
tMixingMatrixPtr _theV
Store the V-type chargino mixing matrix.
Definition: SSNNPVertex.h:199
bool _realIntegral
Only include the real part of the integral.
Definition: SSNNPVertex.h:144
tMixingMatrixPtr _stau
Pointer to the stau mixing matrix.
Definition: SSNNPVertex.h:159
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: SSNNPVertex.h:84
Energy2 _q2last
Store the value at which the coupling when it was last evalutated.
Definition: SSNNPVertex.h:214
long _id1last
Store the id of the 1st neutralino when the coupling was last evaluated.
Definition: SSNNPVertex.h:204
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
double _sw
The value of .
Definition: SSNNPVertex.h:164
Complex _couplast
Store the value of the coupling when it was last evalutated.
Definition: SSNNPVertex.h:219
Energy _mw
Mass of the W.
Definition: SSNNPVertex.h:174
-*- C++ -*-
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: SSNNPVertex.h:90
tMixingMatrixPtr _theN
Store the neutralino mixing matrix.
Definition: SSNNPVertex.h:189
This class implements the coupling of a photon to a pair of neutralinos via loop diagrams It inherits...
Definition: SSNNPVertex.h:31
tMixingMatrixPtr _stop
Pointer to the stop mixing matrix.
Definition: SSNNPVertex.h:149