herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Models
General
GenericHGGVertex.h
1
// -*- C++ -*-
2
#ifndef Herwig_GenericHGGVertex_H
3
#define Herwig_GenericHGGVertex_H
4
//
5
// This is the declaration of the GenericHGGVertex 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/Persistency/PersistentOStream.h"
12
#include "ThePEG/Persistency/PersistentIStream.h"
13
#include "ThePEG/Utilities/EnumIO.h"
14
#include "ThePEG/PDT/ParticleData.h"
15
#include "Herwig/Models/StandardModel/StandardModel.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
using namespace
ThePEG::Helicity
;
21
30
class
GenericHGGVertex
:
public
VVSLoopVertex
{
31
32
public
:
33
37
struct
Interaction
{
38
42
Interaction
(
PDPtr
in_particle=
PDPtr
(),SSSVertexPtr in_scalar=SSSVertexPtr(),
43
FFSVertexPtr in_fermion=FFSVertexPtr())
44
:
particle
(in_particle),
scalar
(in_scalar),
fermion
(in_fermion)
45
{}
46
50
PDPtr
particle
;
51
55
SSSVertexPtr
scalar
;
56
60
FFSVertexPtr
fermion
;
61
};
62
63
public
:
64
68
GenericHGGVertex
();
69
77
virtual
void
setCoupling
(Energy2 q2,
tcPDPtr
part1,
tcPDPtr
part2,
tcPDPtr
part3);
78
79
public
:
80
87
void
persistentOutput
(
PersistentOStream
& os)
const
;
88
94
void
persistentInput
(
PersistentIStream
& is,
int
version);
96
103
static
void
Init
();
104
105
protected
:
106
113
virtual
IBPtr
clone
()
const
;
114
119
virtual
IBPtr
fullclone
()
const
;
121
127
virtual
void
doinit
();
128
129
private
:
130
135
GenericHGGVertex
&
operator=
(
const
GenericHGGVertex
&) =
delete
;
136
137
private
:
138
142
void
initializeVertex
();
143
144
private
:
145
149
vector<PDPtr>
bosons_
;
150
154
bool
setup_
;
155
159
map<cPDPtr,vector<Interaction> >
vertices_
;
160
164
Energy2
q2Last_
;
165
169
Complex
coupLast_
;
170
174
long
idLast_
;
175
179
tcHwSMPtr
model_
;
180
};
181
185
inline
PersistentOStream
&
operator<<
(
PersistentOStream
& os,
186
const
GenericHGGVertex::Interaction
& x) {
187
os << x.
particle
<< x.
scalar
<< x.
fermion
;
188
return
os;
189
}
190
194
inline
PersistentIStream
&
operator>>
(
PersistentIStream
& is,
195
GenericHGGVertex::Interaction
& x) {
196
is >> x.
particle
>> x.
scalar
>> x.
fermion
;
197
return
is;
198
}
199
200
}
201
202
#endif
/* Herwig_GenericHGGVertex_H */
Herwig::GenericHGGVertex
The GenericHGGVertex class implements the coupling of the Higgs boson to gluons in a generic model us...
Definition:
GenericHGGVertex.h:30
Herwig::GenericHGGVertex::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::GenericHGGVertex::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::GenericHGGVertex::setCoupling
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)
Calculate couplings.
Herwig::GenericHGGVertex::setup_
bool setup_
Has it been set up?
Definition:
GenericHGGVertex.h:154
Herwig::GenericHGGVertex::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::GenericHGGVertex::operator=
GenericHGGVertex & operator=(const GenericHGGVertex &)=delete
The assignment operator is private and must never be called.
Herwig::GenericHGGVertex::bosons_
vector< PDPtr > bosons_
The bosons to consider as particles.
Definition:
GenericHGGVertex.h:149
Herwig::GenericHGGVertex::coupLast_
Complex coupLast_
Last value of the coupling calculated.
Definition:
GenericHGGVertex.h:169
Herwig::GenericHGGVertex::idLast_
long idLast_
Lasst id of the boson.
Definition:
GenericHGGVertex.h:174
Herwig::GenericHGGVertex::vertices_
map< cPDPtr, vector< Interaction > > vertices_
The vertices to use.
Definition:
GenericHGGVertex.h:159
Herwig::GenericHGGVertex::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::GenericHGGVertex::q2Last_
Energy2 q2Last_
The scale at which coupling was last evaluated.
Definition:
GenericHGGVertex.h:164
Herwig::GenericHGGVertex::GenericHGGVertex
GenericHGGVertex()
The default constructor.
Herwig::GenericHGGVertex::initializeVertex
void initializeVertex()
Initialize the vertex.
Herwig::GenericHGGVertex::model_
tcHwSMPtr model_
The model for running masses.
Definition:
GenericHGGVertex.h:179
Herwig::GenericHGGVertex::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::GenericHGGVertex::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::VVSLoopVertex
The VVSLoopVertex is designed to calculate the coefficents for the terms in the Passarino-Veltman ten...
Definition:
VVSLoopVertex.h:21
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Helicity
ThePEG
ThePEG::operator>>
PersistentIStream & operator>>(PersistentIStream &is, HandlerGroup< HDLR > &hg)
ThePEG::Complex
std::complex< double > Complex
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
ThePEG::operator<<
ostream & operator<<(ostream &, const Collision &)
Herwig::GenericHGGVertex::Interaction
Struct to store the stuff needed for the vertices.
Definition:
GenericHGGVertex.h:37
Herwig::GenericHGGVertex::Interaction::Interaction
Interaction(PDPtr in_particle=PDPtr(), SSSVertexPtr in_scalar=SSSVertexPtr(), FFSVertexPtr in_fermion=FFSVertexPtr())
Constructor.
Definition:
GenericHGGVertex.h:42
Herwig::GenericHGGVertex::Interaction::fermion
FFSVertexPtr fermion
The fermion vertex.
Definition:
GenericHGGVertex.h:60
Herwig::GenericHGGVertex::Interaction::scalar
SSSVertexPtr scalar
The scalar vertex.
Definition:
GenericHGGVertex.h:55
Herwig::GenericHGGVertex::Interaction::particle
PDPtr particle
The particle.
Definition:
GenericHGGVertex.h:50
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6