herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
DIS
MENeutralCurrentDIS.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MENeutralCurrentDIS_H
3
#define HERWIG_MENeutralCurrentDIS_H
4
//
5
// This is the declaration of the MENeutralCurrentDIS class.
6
//
7
8
#include "DISBase.h"
9
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.fh"
10
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
11
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
12
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
13
14
namespace
Herwig
{
15
16
using namespace
ThePEG
;
17
27
class
MENeutralCurrentDIS
:
public
DISBase
{
28
29
public
:
30
34
MENeutralCurrentDIS
();
35
42
virtual
unsigned
int
orderInAlphaS()
const
;
43
48
virtual
unsigned
int
orderInAlphaEW()
const
;
49
57
virtual
double
me2()
const
;
58
62
virtual
void
getDiagrams()
const
;
63
72
virtual
Selector<DiagramIndex>
diagrams(
const
DiagramVector
& dv)
const
;
73
81
virtual
Selector<const ColourLines *>
82
colourGeometries(tcDiagPtr diag)
const
;
83
87
virtual
void
constructVertex(
tSubProPtr
);
89
90
public
:
91
98
void
persistentOutput(
PersistentOStream
& os)
const
;
99
105
void
persistentInput(
PersistentIStream
& is,
int
version);
107
114
static
void
Init();
115
116
protected
:
117
128
double
helicityME(vector<SpinorWaveFunction> & f1 ,
129
vector<SpinorWaveFunction> & f2,
130
vector<SpinorBarWaveFunction> & a1 ,
131
vector<SpinorBarWaveFunction> & a2,
132
bool
lorder,
bool
qorder,
133
bool
me)
const
;
134
135
139
inline
unsigned
int
gammaZOption
()
const
{
return
_gammaZ;}
140
145
virtual
double
A(
tcPDPtr
lin,
tcPDPtr
lout,
tcPDPtr
qin,
tcPDPtr
qout,
146
Energy2 scale)
const
;
147
148
protected
:
149
157
virtual
void
doinit();
159
160
protected
:
161
168
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
169
174
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
176
177
private
:
178
183
MENeutralCurrentDIS
& operator=(
const
MENeutralCurrentDIS
&) =
delete
;
184
185
private
:
186
194
AbstractFFVVertexPtr
_theFFZVertex
;
195
199
AbstractFFVVertexPtr
_theFFPVertex
;
201
209
tcPDPtr
_z0
;
210
214
tcPDPtr
_gamma
;
216
224
int
_minflavour
;
225
229
int
_maxflavour
;
230
234
unsigned
int
_gammaZ
;
236
240
ProductionMatrixElement
_me
;
241
249
double
_sinW
;
250
254
double
_cosW
;
255
259
Energy2
_mz2
;
261
262
};
263
264
}
265
266
#endif
/* HERWIG_MENeutralCurrentDIS_H */
Herwig::MENeutralCurrentDIS::_theFFPVertex
AbstractFFVVertexPtr _theFFPVertex
Pointer to the photon vertex.
Definition:
MENeutralCurrentDIS.h:199
ThePEG::PersistentIStream
Herwig::MENeutralCurrentDIS::_minflavour
int _minflavour
Switches to control the particles in the hard process.
Definition:
MENeutralCurrentDIS.h:224
Herwig::MENeutralCurrentDIS::gammaZOption
unsigned int gammaZOption() const
Option for treatment of terms.
Definition:
MENeutralCurrentDIS.h:139
Herwig::MENeutralCurrentDIS::_theFFZVertex
AbstractFFVVertexPtr _theFFZVertex
Pointer to the vertices for the helicity calculations.
Definition:
MENeutralCurrentDIS.h:194
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MENeutralCurrentDIS::_maxflavour
int _maxflavour
Maximum flavour of the incoming quarks.
Definition:
MENeutralCurrentDIS.h:229
ThePEG
Herwig::MENeutralCurrentDIS
The MENeutralCurrentDIS class provides the matrix elements for neutral current DIS.
Definition:
MENeutralCurrentDIS.h:27
Herwig::MENeutralCurrentDIS::_cosW
double _cosW
Definition:
MENeutralCurrentDIS.h:254
Herwig::MENeutralCurrentDIS::_z0
tcPDPtr _z0
Pointers to the intermediate resonances.
Definition:
MENeutralCurrentDIS.h:209
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process...
Definition:
ProductionMatrixElement.h:34
Herwig::MENeutralCurrentDIS::_sinW
double _sinW
Electroweak parameters.
Definition:
MENeutralCurrentDIS.h:249
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::Selector
Herwig::MENeutralCurrentDIS::_gammaZ
unsigned int _gammaZ
Whether to include both and or only one.
Definition:
MENeutralCurrentDIS.h:234
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MENeutralCurrentDIS::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MENeutralCurrentDIS.h:240
Herwig::MENeutralCurrentDIS::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MENeutralCurrentDIS.h:174
Herwig::MENeutralCurrentDIS::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MENeutralCurrentDIS.h:168
Herwig::MENeutralCurrentDIS::_mz2
Energy2 _mz2
The square of the Z mass.
Definition:
MENeutralCurrentDIS.h:259
Herwig::MENeutralCurrentDIS::_gamma
tcPDPtr _gamma
Pointer to the photon ParticleData object.
Definition:
MENeutralCurrentDIS.h:214
Herwig::DISBase
The DISBase class is the base class for the implementation of DIS type processes including correction...
Definition:
DISBase.h:23
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13