herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
SMWWWWVertex.h
1// -*- C++ -*-
2//
3// SMWWWWVertex.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_SMWWWWVertex_H
10#define HERWIG_SMWWWWVertex_H
11//
12// This is the declaration of the SMWWWWVertex class.
13//
14#include "ThePEG/Helicity/Vertex/Vector/VVVVVertex.h"
15#include "Herwig/Models/StandardModel/StandardModel.h"
16#include "ThePEG/PDT/EnumParticles.h"
17
18namespace Herwig {
19using namespace ThePEG;
20
30class SMWWWWVertex: public VVVVVertex {
31
32public:
33
38
46
52 void persistentInput(PersistentIStream & is, int version);
54
58 static void Init();
59
68 virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3,
69 tcPDPtr part4);
70
71protected:
72
79 virtual IBPtr clone() const {return new_ptr(*this);}
80
85 virtual IBPtr fullclone() const {return new_ptr(*this);}
87
88protected:
89
97 virtual void doinit();
99
100private:
101
106
115
120
125
131
140
144 Energy2 _q2last;
145
149 vector<double> _vfact;
150
154 double _sw2;
155
159 double _cw2;
161};
162
163}
164
165#endif /* HERWIG_SMWWWWVertex_H */
The SMWWWWVertex class is the implementation of the coupling of four electroweak gauge bosons in the ...
Definition: SMWWWWVertex.h:30
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: SMWWWWVertex.h:85
Complex _couplast
Storage of the couplings.
Definition: SMWWWWVertex.h:139
Energy2 _q2last
The scale at which the coupling was last evaluated.
Definition: SMWWWWVertex.h:144
tcPDPtr _Z0
The ParticleData pointer for the boson.
Definition: SMWWWWVertex.h:119
tcPDPtr _wminus
The ParticleData pointer for the boson.
Definition: SMWWWWVertex.h:129
SMWWWWVertex()
Default constructor.
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3, tcPDPtr part4)
Calculate the couplings.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< double > _vfact
The factors for the different bosons.
Definition: SMWWWWVertex.h:149
SMWWWWVertex & operator=(const SMWWWWVertex &)=delete
Private and non-existent assignment operator.
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: SMWWWWVertex.h:79
tcPDPtr _gamma
Intermediate particles.
Definition: SMWWWWVertex.h:114
static void Init()
Standard Init function used to initialize the interfaces.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
tcPDPtr _wplus
The ParticleData pointer for the boson.
Definition: SMWWWWVertex.h:124
-*- C++ -*-
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr