herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Lepton
MEee2VectorMeson.h
1
// -*- C++ -*-
2
//
3
// MEee2VectorMeson.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_MEee2VectorMeson_H
10
#define HERWIG_MEee2VectorMeson_H
11
//
12
// This is the declaration of the MEee2VectorMeson class.
13
//
14
15
#include "ThePEG/MatrixElement/MEBase.h"
16
#include "Herwig/PDT/GenericMassGenerator.fh"
17
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
18
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
19
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
20
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
21
22
namespace
Herwig
{
23
24
using namespace
ThePEG
;
25
26
using
Helicity::SpinorWaveFunction
;
27
using
Helicity::SpinorBarWaveFunction
;
28
using
Helicity::VectorWaveFunction
;
29
38
class
MEee2VectorMeson
:
public
MEBase
{
39
40
public
:
41
45
MEee2VectorMeson
() : coupling_(0.0012), lineShape_(false)
46
{}
47
54
virtual
unsigned
int
orderInAlphaS()
const
;
55
60
virtual
unsigned
int
orderInAlphaEW()
const
;
61
69
virtual
double
me2()
const
;
70
74
virtual
Energy2 scale()
const
;
75
83
virtual
void
setKinematics();
84
89
virtual
int
nDim()
const
;
90
99
virtual
bool
generateKinematics(
const
double
* r);
100
105
virtual
CrossSection dSigHatDR()
const
;
106
110
virtual
void
getDiagrams()
const
;
111
120
virtual
Selector<DiagramIndex>
diagrams(
const
DiagramVector
& dv)
const
;
121
129
virtual
Selector<const ColourLines *>
130
colourGeometries(tcDiagPtr diag)
const
;
131
135
virtual
void
constructVertex(
tSubProPtr
sub);
137
138
139
public
:
140
147
void
persistentOutput(
PersistentOStream
& os)
const
;
148
154
void
persistentInput(
PersistentIStream
& is,
int
version);
156
163
static
void
Init();
164
165
protected
:
166
173
inline
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
174
179
inline
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
181
182
protected
:
183
191
virtual
void
doinit();
193
194
private
:
195
199
ProductionMatrixElement
HelicityME(vector<SpinorWaveFunction> fin,
200
vector<SpinorBarWaveFunction> ain,
201
vector<VectorWaveFunction> vout,
double
& me)
const
;
202
private
:
203
208
MEee2VectorMeson
& operator=(
const
MEee2VectorMeson
&) =
delete
;
209
210
private
:
211
215
PDPtr
vector_
;
216
220
double
coupling_
;
221
225
bool
lineShape_
;
226
230
GenericMassGeneratorPtr
massGen_
;
231
232
};
233
234
}
235
236
#endif
/* HERWIG_MEee2VectorMeson_H */
ThePEG::PersistentIStream
Herwig::MEee2VectorMeson::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEee2VectorMeson.h:179
Herwig::MEee2VectorMeson::vector_
PDPtr vector_
The vector meson being produced.
Definition:
MEee2VectorMeson.h:215
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG
ThePEG::Helicity::SpinorWaveFunction
ThePEG::Helicity::VectorWaveFunction
Herwig::MEee2VectorMeson::coupling_
double coupling_
The coupling.
Definition:
MEee2VectorMeson.h:220
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process...
Definition:
ProductionMatrixElement.h:34
ThePEG::Helicity::SpinorBarWaveFunction
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Herwig::MEee2VectorMeson::MEee2VectorMeson
MEee2VectorMeson()
The default constructor.
Definition:
MEee2VectorMeson.h:45
ThePEG::Selector
Herwig::MEee2VectorMeson::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEee2VectorMeson.h:173
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::MEBase
Herwig::MEee2VectorMeson::massGen_
GenericMassGeneratorPtr massGen_
Pointer to the mass generator for the Higgs.
Definition:
MEee2VectorMeson.h:230
Herwig::MEee2VectorMeson
The MEee2VectorMeson class is designed to produce neutral vector mesons in collisions and is primari...
Definition:
MEee2VectorMeson.h:38
Herwig::MEee2VectorMeson::lineShape_
bool lineShape_
Use the mass generator for the line shape.
Definition:
MEee2VectorMeson.h:225
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13