herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
DIS
MEChargedCurrentDIS.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEChargedCurrentDIS_H
3
#define HERWIG_MEChargedCurrentDIS_H
4
//
5
// This is the declaration of the MEChargedCurrentDIS 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
29
class
MEChargedCurrentDIS
:
public
DISBase
{
30
31
public
:
32
36
MEChargedCurrentDIS
();
37
44
virtual
unsigned
int
orderInAlphaS
()
const
;
45
50
virtual
unsigned
int
orderInAlphaEW
()
const
;
51
59
virtual
double
me2
()
const
;
60
64
virtual
void
getDiagrams
()
const
;
65
74
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
75
83
virtual
Selector<const ColourLines *>
84
colourGeometries
(tcDiagPtr diag)
const
;
85
89
virtual
void
constructVertex
(
tSubProPtr
);
91
92
93
public
:
94
101
void
persistentOutput
(
PersistentOStream
& os)
const
;
102
108
void
persistentInput
(
PersistentIStream
& is,
int
version);
110
117
static
void
Init
();
118
119
protected
:
120
131
double
helicityME
(vector<SpinorWaveFunction> & f1 ,
132
vector<SpinorWaveFunction> & f2,
133
vector<SpinorBarWaveFunction> & a1 ,
134
vector<SpinorBarWaveFunction> & a2,
135
bool
lorder,
bool
qorder,
136
bool
me)
const
;
137
142
virtual
double
A
(
tcPDPtr
lin,
tcPDPtr
lout,
tcPDPtr
qin,
tcPDPtr
qout,
143
Energy2
scale
)
const
;
144
145
protected
:
146
153
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
154
159
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
161
162
protected
:
163
171
virtual
void
doinit
();
173
174
private
:
175
180
MEChargedCurrentDIS
&
operator=
(
const
MEChargedCurrentDIS
&) =
delete
;
181
182
private
:
183
187
AbstractFFVVertexPtr
_theFFWVertex
;
188
192
unsigned
int
_maxflavour
;
193
197
unsigned
int
_massopt
;
198
202
ProductionMatrixElement
_me
;
203
211
tcPDPtr
_wp
;
212
216
tcPDPtr
_wm
;
218
};
219
220
}
221
222
#endif
/* HERWIG_MEChargedCurrentDIS_H */
Herwig::DISBase
The DISBase class is the base class for the implementation of DIS type processes including correction...
Definition:
DISBase.h:23
Herwig::DISBase::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEChargedCurrentDIS
The MEChargedCurrentDIS class provides the matrix elements for charged current DIS.
Definition:
MEChargedCurrentDIS.h:29
Herwig::MEChargedCurrentDIS::colourGeometries
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
Herwig::MEChargedCurrentDIS::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEChargedCurrentDIS::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEChargedCurrentDIS::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEChargedCurrentDIS.h:153
Herwig::MEChargedCurrentDIS::helicityME
double helicityME(vector< SpinorWaveFunction > &f1, vector< SpinorWaveFunction > &f2, vector< SpinorBarWaveFunction > &a1, vector< SpinorBarWaveFunction > &a2, bool lorder, bool qorder, bool me) const
Matrix element for .
Herwig::MEChargedCurrentDIS::_wm
tcPDPtr _wm
Pointer to the .
Definition:
MEChargedCurrentDIS.h:216
Herwig::MEChargedCurrentDIS::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEChargedCurrentDIS::_theFFWVertex
AbstractFFVVertexPtr _theFFWVertex
Pointer to the vertex for the helicity calculations.
Definition:
MEChargedCurrentDIS.h:187
Herwig::MEChargedCurrentDIS::operator=
MEChargedCurrentDIS & operator=(const MEChargedCurrentDIS &)=delete
The assignment operator is private and must never be called.
Herwig::MEChargedCurrentDIS::_maxflavour
unsigned int _maxflavour
The allowed flavours of the incoming quarks.
Definition:
MEChargedCurrentDIS.h:192
Herwig::MEChargedCurrentDIS::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEChargedCurrentDIS::MEChargedCurrentDIS
MEChargedCurrentDIS()
The default constructor.
Herwig::MEChargedCurrentDIS::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEChargedCurrentDIS::A
virtual double A(tcPDPtr lin, tcPDPtr lout, tcPDPtr qin, tcPDPtr qout, Energy2 scale) const
Calculate the coefficient A for the correlations in the hard radiation.
Herwig::MEChargedCurrentDIS::_massopt
unsigned int _massopt
Option for the mass of the outgoing quarks.
Definition:
MEChargedCurrentDIS.h:197
Herwig::MEChargedCurrentDIS::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
Herwig::MEChargedCurrentDIS::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEChargedCurrentDIS.h:202
Herwig::MEChargedCurrentDIS::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEChargedCurrentDIS::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEChargedCurrentDIS::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEChargedCurrentDIS.h:159
Herwig::MEChargedCurrentDIS::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEChargedCurrentDIS::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEChargedCurrentDIS::_wp
tcPDPtr _wp
Pointers to the intermediates resonances.
Definition:
MEChargedCurrentDIS.h:211
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process.
Definition:
ProductionMatrixElement.h:34
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::Selector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6