herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
SSHPPVertex.h
1 // -*- C++ -*-
2 //
3 // SSHPPVertex.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2017 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_SSHPPVertex_H
10 #define HERWIG_SSHPPVertex_H
11 //
12 // This is the declaration of the SSHPPVertex class.
13 //
14 
15 #include "Herwig/Models/General/VVSLoopVertex.h"
16 #include "MSSM.h"
17 
18 namespace Herwig {
19 
29 class SSHPPVertex: public VVSLoopVertex {
30 
31 public:
32 
36  SSHPPVertex();
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 protected:
90 
96  virtual void doinit();
97 
98 private:
99 
105 
110  SSHPPVertex & operator=(const SSHPPVertex &) = delete;
111 
112 private:
113 
118 
123 
127  tMSSMPtr theMSSM;
128 
132  double theSw;
133 
137  Energy theMw;
138 
142  Energy theZfact;
143 
149 
155 
161 
167 
173 
179 
185 
191 
197 
203 
209 
215 
221 
227 
233 
239 
245 
251 
256 
261 
266 
270  vector<Energy> theSfmass;
271 
275  double theTanB;
276 
280  double theSinA;
281 
285  double theCosA;
286 
290  double theSinB;
291 
295  double theCosB;
296 
300  double theSinApB;
301 
305  double theCosApB;
306 
310  double theSinBmA;
311 
315  double theCosBmA;
316 
320  tMixingMatrixPtr theU;
321 
325  tMixingMatrixPtr theV;
326 
331 
335  Energy2 theq2last;
336 
341 
345  long theLastID;
346 };
347 
348 }
349 
350 
351 #include "ThePEG/Utilities/ClassTraits.h"
352 
353 namespace ThePEG {
354 
359 template <>
360 struct BaseClassTrait<Herwig::SSHPPVertex,1> {
362  typedef Herwig::VVSLoopVertex NthBase;
363 };
364 
367 template <>
368 struct ClassTraits<Herwig::SSHPPVertex>
369  : public ClassTraitsBase<Herwig::SSHPPVertex> {
371  static string className() { return "Herwig::SSHPPVertex"; }
375  static string library() { return "HwSusy.so"; }
376 };
377 
380 }
381 
382 #endif /* HERWIG_SSHPPVertex_H */
Complex theLt1R
The mixing matrix factor for the .
Definition: SSHPPVertex.h:226
Complex theQb2LR
The mixing matrix factor for the .
Definition: SSHPPVertex.h:214
long theLastID
ID of the higgs.
Definition: SSHPPVertex.h:345
tPDPtr thetop
A pointer to the top quark ParticleData object.
Definition: SSHPPVertex.h:255
Complex theQt1L
The mixing matrix factor for the .
Definition: SSHPPVertex.h:148
Complex theQb1L
The mixing matrix factor for the .
Definition: SSHPPVertex.h:184
double theSinApB
The value of .
Definition: SSHPPVertex.h:300
bool thePseudoScalarTreatment
Treat the pseudoscalar as scalar for comparison with ISAJET.
Definition: SSHPPVertex.h:122
static ClassDescription< SSHPPVertex > initSSHPPVertex
The static object used to initialize the description of this class.
Definition: SSHPPVertex.h:104
std::complex< double > Complex
tPDPtr thetau
A pointer to the tau lepton ParticleData object.
Definition: SSHPPVertex.h:265
ThePEG::Ptr< ParticleData >::transient_pointer tPDPtr
Energy theMw
The mass of the boson.
Definition: SSHPPVertex.h:137
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Complex theQt1LR
The mixing matrix factor for the .
Definition: SSHPPVertex.h:160
double theSw
Value of .
Definition: SSHPPVertex.h:132
double theSinA
The value of .
Definition: SSHPPVertex.h:280
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: SSHPPVertex.h:86
Complex theQt1R
The mixing matrix factor for the .
Definition: SSHPPVertex.h:154
Complex theQb1R
The mixing matrix factor for the .
Definition: SSHPPVertex.h:190
tMSSMPtr theMSSM
A pointer to the MSSM object.
Definition: SSHPPVertex.h:127
Complex theLt2R
The mixing matrix factor for the .
Definition: SSHPPVertex.h:244
tMixingMatrixPtr theU
The U mixing matrix.
Definition: SSHPPVertex.h:320
Complex theQt2LR
The mixing matrix factor for the .
Definition: SSHPPVertex.h:178
SSHPPVertex & operator=(const SSHPPVertex &)=delete
The assignment operator is private and must never be called.
Complex theQb2R
The mixing matrix factor for the .
Definition: SSHPPVertex.h:208
This class implements the effective vertex coupling a higgs to a pair of photons in the MSSM...
Definition: SSHPPVertex.h:29
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Complex theCouplast
Last value of the coupling calculated.
Definition: SSHPPVertex.h:330
double theSinB
The value of .
Definition: SSHPPVertex.h:290
bool theHaveCoeff
Whether we have calculated the tensor coefficents yet.
Definition: SSHPPVertex.h:340
tMixingMatrixPtr theV
The V mixing matrix.
Definition: SSHPPVertex.h:325
Complex theLt1L
The mixing matrix factor for the .
Definition: SSHPPVertex.h:220
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
SSHPPVertex()
The default constructor.
bool theIncludeTriLinear
Switch to turn off squark trilinear couplings via A terms for testing.
Definition: SSHPPVertex.h:117
double theCosB
The value of .
Definition: SSHPPVertex.h:295
Complex theQt2L
The mixing matrix factor for the .
Definition: SSHPPVertex.h:166
Energy theZfact
The factor .
Definition: SSHPPVertex.h:142
Complex theLt2L
The mixing matrix factor for the .
Definition: SSHPPVertex.h:238
The VVSLoopVertex is designed to calculate the coefficents for the terms in the Passarino-Veltman ten...
Definition: VVSLoopVertex.h:21
static void Init()
The standard Init function used to initialize the interfaces.
double theCosApB
The value of .
Definition: SSHPPVertex.h:305
tPDPtr thebot
A pointer to the bottom quark ParticleData object.
Definition: SSHPPVertex.h:260
double theSinBmA
The value of .
Definition: SSHPPVertex.h:310
Complex theQb2L
The mixing matrix factor for the .
Definition: SSHPPVertex.h:202
double theCosBmA
The value of .
Definition: SSHPPVertex.h:315
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: SSHPPVertex.h:80
-*- C++ -*-
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Complex theQb1LR
The mixing matrix factor for the .
Definition: SSHPPVertex.h:196
Complex theLt2LR
The mixing matrix factor for the .
Definition: SSHPPVertex.h:250
Complex theQt2R
The mixing matrix factor for the .
Definition: SSHPPVertex.h:172
Energy2 theq2last
The scale at which coupling was last evaluated.
Definition: SSHPPVertex.h:335
Complex theLt1LR
The mixing matrix factor for the .
Definition: SSHPPVertex.h:232
double theCosA
The value of .
Definition: SSHPPVertex.h:285
vector< Energy > theSfmass
The sfermion masses.
Definition: SSHPPVertex.h:270
double theTanB
The value of .
Definition: SSHPPVertex.h:275
virtual void setCoupling(Energy2 q2, tcPDPtr particle1, tcPDPtr particle2, tcPDPtr particle3)
Calculate couplings.