herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
19namespace Herwig {
20using namespace ThePEG;
21
32
33public:
34
39
40public:
41
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
76protected:
77
84 virtual IBPtr clone() const {return new_ptr(*this);}
85
90 virtual IBPtr fullclone() const {return new_ptr(*this);}
92
93protected:
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
102protected:
103
111 virtual void doinit();
112
117 virtual void doinitrun();
118
123 virtual void dofinish();
125
126private:
127
132 SSNNPVertex & operator=(const SSNNPVertex &) = delete;
133
134private:
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
205
210
214 Energy2 _q2last;
215
220
224 complex<InvEnergy> _leftlast;
225
229 complex<InvEnergy> _rightlast;
230};
231}
232
233#endif /* HERWIG_SSNNPVertex_H */
This class implements the coupling of a photon to a pair of neutralinos via loop diagrams It inherits...
Definition: SSNNPVertex.h:31
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
SSNNPVertex()
The default constructor.
long _id1last
Store the id of the 1st neutralino when the coupling was last evaluated.
Definition: SSNNPVertex.h:204
bool _realIntegral
Only include the real part of the integral.
Definition: SSNNPVertex.h:144
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)
Calculate the couplings.
virtual void dofinish()
Finalize this object.
complex< InvEnergy > _rightlast
Store the value of the right-coupling when it was last evalutated.
Definition: SSNNPVertex.h:229
SSNNPVertex & operator=(const SSNNPVertex &)=delete
The assignment operator is private and must never be called.
tMixingMatrixPtr _sbot
Pointer to the sbottom mixing matrix.
Definition: SSNNPVertex.h:154
Energy _mw
Mass of the W.
Definition: SSNNPVertex.h:174
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
tMixingMatrixPtr _theN
Store the neutralino mixing matrix.
Definition: SSNNPVertex.h:189
double _sw
The value of .
Definition: SSNNPVertex.h:164
bool _includeOnShell
Whether of not to include on-shell intermediate states.
Definition: SSNNPVertex.h:139
tMixingMatrixPtr _stau
Pointer to the stau mixing matrix.
Definition: SSNNPVertex.h:159
tMixingMatrixPtr _theV
Store the V-type chargino mixing matrix.
Definition: SSNNPVertex.h:199
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: SSNNPVertex.h:84
double _cw
The value of .
Definition: SSNNPVertex.h:169
static void Init()
The standard Init function used to initialize the interfaces.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: SSNNPVertex.h:90
complex< InvEnergy > _leftlast
Store the value of the left-coupling when it was last evalutated.
Definition: SSNNPVertex.h:224
Energy2 _q2last
Store the value at which the coupling when it was last evalutated.
Definition: SSNNPVertex.h:214
void loopIntegrals(Energy Mi, Energy Mj, Energy M, Energy m, complex< InvEnergy2 > &I, complex< InvEnergy2 > &J, complex< InvEnergy2 > &K, complex< InvEnergy2 > &I2)
Evaluate the loop integrals.
virtual void doinitrun()
Initialize this object.
tMixingMatrixPtr _stop
Pointer to the stop mixing matrix.
Definition: SSNNPVertex.h:149
Complex _couplast
Store the value of the coupling when it was last evalutated.
Definition: SSNNPVertex.h:219
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr