herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Models
General
GenericHPPVertex.h
1
// -*- C++ -*-
2
#ifndef Herwig_GenericHPPVertex_H
3
#define Herwig_GenericHPPVertex_H
4
//
5
// This is the declaration of the GenericHPPVertex class.
6
//
7
8
#include "VVSLoopVertex.h"
9
#include "ThePEG/Helicity/Vertex/Scalar/FFSVertex.h"
10
#include "ThePEG/Helicity/Vertex/Scalar/SSSVertex.h"
11
#include "ThePEG/Helicity/Vertex/Scalar/VVSVertex.h"
12
#include "ThePEG/Persistency/PersistentOStream.h"
13
#include "ThePEG/Persistency/PersistentIStream.h"
14
#include "ThePEG/Utilities/EnumIO.h"
15
#include "ThePEG/PDT/ParticleData.h"
16
#include "Herwig/Models/StandardModel/StandardModel.h"
17
18
namespace
Herwig
{
19
20
using namespace
ThePEG
;
21
using namespace
ThePEG::Helicity
;
22
31
class
GenericHPPVertex
:
public
VVSLoopVertex
{
32
33
public
:
34
38
struct
Interaction
{
39
43
Interaction
(
PDPtr
in_particle=
PDPtr
(),SSSVertexPtr in_scalar=SSSVertexPtr(),
44
FFSVertexPtr in_fermion=FFSVertexPtr(),
45
VVSVertexPtr in_vector=VVSVertexPtr())
46
: particle(in_particle), scalar(in_scalar), fermion(in_fermion), vector(in_vector)
47
{}
48
52
PDPtr
particle
;
53
57
SSSVertexPtr
scalar
;
58
62
FFSVertexPtr
fermion
;
63
67
VVSVertexPtr
vector
;
68
};
69
70
public
:
71
75
GenericHPPVertex
();
76
84
virtual
void
setCoupling (Energy2 q2,
tcPDPtr
part1,
tcPDPtr
part2,
tcPDPtr
part3);
85
86
public
:
87
94
void
persistentOutput(
PersistentOStream
& os)
const
;
95
101
void
persistentInput(
PersistentIStream
& is,
int
version);
103
110
static
void
Init();
111
112
protected
:
113
120
virtual
IBPtr
clone()
const
;
121
126
virtual
IBPtr
fullclone()
const
;
128
134
virtual
void
doinit();
135
136
private
:
137
142
GenericHPPVertex
& operator=(
const
GenericHPPVertex
&) =
delete
;
143
144
private
:
145
149
void
initializeVertex();
150
151
private
:
152
156
vector<PDPtr>
bosons_
;
157
161
bool
setup_
;
162
166
map<cPDPtr,vector<Interaction> >
vertices_
;
167
171
Energy2
q2Last_
;
172
176
Complex
coupLast_
;
177
181
long
idLast_
;
182
186
tcHwSMPtr
model_
;
187
};
188
192
inline
PersistentOStream
&
operator<<
(
PersistentOStream
& os,
193
const
GenericHPPVertex::Interaction
& x) {
194
os << x.
particle
<< x.
scalar
<< x.
fermion
<< x.
vector
;
195
return
os;
196
}
197
201
inline
PersistentIStream
&
operator>>
(
PersistentIStream
& is,
202
GenericHPPVertex::Interaction
& x) {
203
is >> x.
particle
>> x.
scalar
>> x.
fermion
>> x.
vector
;
204
return
is;
205
}
206
207
}
208
209
#endif
/* Herwig_GenericHPPVertex_H */
ThePEG::PersistentIStream
Herwig::GenericHPPVertex::Interaction
Struct to store the stuff needed for the vertices.
Definition:
GenericHPPVertex.h:38
ThePEG::Complex
std::complex< double > Complex
ThePEG::Helicity
Herwig::GenericHPPVertex::Interaction::Interaction
Interaction(PDPtr in_particle=PDPtr(), SSSVertexPtr in_scalar=SSSVertexPtr(), FFSVertexPtr in_fermion=FFSVertexPtr(), VVSVertexPtr in_vector=VVSVertexPtr())
Constructor.
Definition:
GenericHPPVertex.h:43
ThePEG::PersistentOStream
Herwig::GenericHPPVertex
The GenericHPPVertex class implements the coupling of the Higgs boson to gluons in a generic model us...
Definition:
GenericHPPVertex.h:31
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::GenericHPPVertex::coupLast_
Complex coupLast_
Last value of the coupling calculated.
Definition:
GenericHPPVertex.h:176
Herwig::GenericHPPVertex::Interaction::vector
VVSVertexPtr vector
The vector vertex.
Definition:
GenericHPPVertex.h:67
ThePEG
Herwig::GenericHPPVertex::idLast_
long idLast_
Lasst id of the boson.
Definition:
GenericHPPVertex.h:181
Herwig::operator<<
ostream & operator<<(ostream &, const DecayIntegrator &)
Output information on the DecayIntegrator for debugging purposes.
Herwig::GenericHPPVertex::setup_
bool setup_
Has it been set up?
Definition:
GenericHPPVertex.h:161
Herwig::operator>>
PersistentIStream & operator>>(PersistentIStream &is, map< ShowerInteraction, T, Cmp, A > &m)
Read a map with ShowerInteraction as the key.
Definition:
GeneralTwoBodyDecayer.h:288
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::GenericHPPVertex::Interaction::fermion
FFSVertexPtr fermion
The fermion vertex.
Definition:
GenericHPPVertex.h:62
Herwig::GenericHPPVertex::vertices_
map< cPDPtr, vector< Interaction > > vertices_
The vertices to use.
Definition:
GenericHPPVertex.h:166
Herwig::GenericHPPVertex::q2Last_
Energy2 q2Last_
The scale at which coupling was last evaluated.
Definition:
GenericHPPVertex.h:171
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Herwig::GenericHPPVertex::bosons_
vector< PDPtr > bosons_
The bosons to consider as particles.
Definition:
GenericHPPVertex.h:156
Herwig::VVSLoopVertex
The VVSLoopVertex is designed to calculate the coefficents for the terms in the Passarino-Veltman ten...
Definition:
VVSLoopVertex.h:21
Herwig::GenericHPPVertex::model_
tcHwSMPtr model_
The model for running masses.
Definition:
GenericHPPVertex.h:186
Herwig::GenericHPPVertex::Interaction::scalar
SSSVertexPtr scalar
The scalar vertex.
Definition:
GenericHPPVertex.h:57
Herwig::GenericHPPVertex::Interaction::particle
PDPtr particle
The particle.
Definition:
GenericHPPVertex.h:52
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13