herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
General
MEff2rf.h
1
// -*- C++ -*-
2
#ifndef Herwig_MEff2rf_H
3
#define Herwig_MEff2rf_H
4
//
5
// This is the declaration of the MEff2rf class.
6
//
7
8
#include "GeneralHardME.h"
9
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
10
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
11
#include "ThePEG/Helicity/WaveFunction/RSSpinorWaveFunction.h"
12
#include "ThePEG/Helicity/WaveFunction/RSSpinorBarWaveFunction.h"
13
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
14
#include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
15
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
16
#include "ThePEG/Helicity/Vertex/AbstractRFSVertex.h"
17
#include "ThePEG/Helicity/Vertex/AbstractRFVVertex.h"
18
19
namespace
Herwig
{
20
21
using namespace
ThePEG
;
22
using
Helicity::SpinorWaveFunction
;
23
using
Helicity::SpinorBarWaveFunction
;
24
using
Helicity::RSSpinorWaveFunction
;
25
using
Helicity::RSSpinorBarWaveFunction
;
26
34
class
MEff2rf
:
public
GeneralHardME
{
35
36
public
:
37
39
typedef
vector<SpinorWaveFunction>
SpinorVector
;
40
42
typedef
vector<SpinorBarWaveFunction>
SpinorBarVector
;
43
45
typedef
vector<RSSpinorWaveFunction>
RSSpinorVector
;
46
48
typedef
vector<RSSpinorBarWaveFunction>
RSSpinorBarVector
;
49
50
public
:
51
61
virtual
double
me2
()
const
;
63
64
private
:
65
76
ProductionMatrixElement
77
ffb2rfbHeME
(
double
&
me2
,
bool
first)
const
;
78
87
ProductionMatrixElement
88
ffb2rbfHeME
(
double
&
me2
,
bool
first)
const
;
89
97
ProductionMatrixElement
ff2rfHeME
(
double
&
me2
,
bool
first)
const
;
98
108
ProductionMatrixElement
fbfb2rbfbHeME
(
double
&
me2
,
bool
first)
const
;
109
118
ProductionMatrixElement
119
ffb2mfmfHeME
(
double
&
me2
,
bool
first)
const
;
121
126
virtual
void
constructVertex
(
tSubProPtr
sub);
127
128
public
:
129
136
void
persistentOutput
(
PersistentOStream
& os)
const
;
137
143
void
persistentInput
(
PersistentIStream
& is,
int
version);
145
152
static
void
Init
();
153
154
protected
:
155
162
virtual
IBPtr
clone
()
const
;
163
168
virtual
IBPtr
fullclone
()
const
;
170
171
protected
:
172
180
virtual
void
doinit
();
182
183
private
:
184
189
MEff2rf
&
operator=
(
const
MEff2rf
&) =
delete
;
190
191
private
:
192
196
vector<pair<AbstractFFSVertexPtr, AbstractRFSVertexPtr> >
scalar_
;
197
201
vector<pair<AbstractFFVVertexPtr, AbstractRFVVertexPtr> >
vector_
;
202
206
mutable
std::array<SpinorVector,3>
spin_
;
207
211
mutable
std::array<SpinorBarVector,3>
sbar_
;
212
213
mutable
RSSpinorVector
rs_;
214
mutable
RSSpinorBarVector
rsbar_;
215
};
216
217
}
218
219
#endif
/* Herwig_MEff2rf_H */
Herwig::GeneralHardME
This defines the GeneralHardME class that is designed to serve as a base class for matrix elements of...
Definition:
GeneralHardME.h:40
Herwig::MEff2rf
This is the implementation of the matrix element for a fermion-fermion to fermion RS fermion process...
Definition:
MEff2rf.h:34
Herwig::MEff2rf::constructVertex
virtual void constructVertex(tSubProPtr sub)
Construct the vertex information for the spin correlations.
Herwig::MEff2rf::operator=
MEff2rf & operator=(const MEff2rf &)=delete
The assignment operator is private and must never be called.
Herwig::MEff2rf::RSSpinorBarVector
vector< RSSpinorBarWaveFunction > RSSpinorBarVector
Vector of RSSpinorBarWaveFunctions.
Definition:
MEff2rf.h:48
Herwig::MEff2rf::sbar_
std::array< SpinorBarVector, 3 > sbar_
Barred spinors.
Definition:
MEff2rf.h:211
Herwig::MEff2rf::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEff2rf::ffb2rbfHeME
ProductionMatrixElement ffb2rbfHeME(double &me2, bool first) const
Compute the matrix element for .
Herwig::MEff2rf::fbfb2rbfbHeME
ProductionMatrixElement fbfb2rbfbHeME(double &me2, bool first) const
Compute the matrix element for .
Herwig::MEff2rf::ff2rfHeME
ProductionMatrixElement ff2rfHeME(double &me2, bool first) const
Compute the matrix element for .
Herwig::MEff2rf::spin_
std::array< SpinorVector, 3 > spin_
Spinors.
Definition:
MEff2rf.h:206
Herwig::MEff2rf::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::MEff2rf::ffb2mfmfHeME
ProductionMatrixElement ffb2mfmfHeME(double &me2, bool first) const
Compute the matrix element for .
Herwig::MEff2rf::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEff2rf::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEff2rf::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::MEff2rf::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEff2rf::SpinorVector
vector< SpinorWaveFunction > SpinorVector
Vector of SpinorWaveFunctions.
Definition:
MEff2rf.h:39
Herwig::MEff2rf::scalar_
vector< pair< AbstractFFSVertexPtr, AbstractRFSVertexPtr > > scalar_
Store the vector of FFSVertex pairs.
Definition:
MEff2rf.h:196
Herwig::MEff2rf::RSSpinorVector
vector< RSSpinorWaveFunction > RSSpinorVector
Vector of RSSpinorWaveFunctions.
Definition:
MEff2rf.h:45
Herwig::MEff2rf::vector_
vector< pair< AbstractFFVVertexPtr, AbstractRFVVertexPtr > > vector_
Store the vector of FFVVertex pairs.
Definition:
MEff2rf.h:201
Herwig::MEff2rf::ffb2rfbHeME
ProductionMatrixElement ffb2rfbHeME(double &me2, bool first) const
Compute the matrix element for .
Herwig::MEff2rf::SpinorBarVector
vector< SpinorBarWaveFunction > SpinorBarVector
Vector of SpinorBarWaveFunctions.
Definition:
MEff2rf.h:42
Herwig::MEff2rf::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process.
Definition:
ProductionMatrixElement.h:34
ThePEG::Helicity::RSSpinorBarWaveFunction
ThePEG::Helicity::RSSpinorWaveFunction
ThePEG::Helicity::SpinorBarWaveFunction
ThePEG::Helicity::SpinorWaveFunction
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6