thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Helicity
Vertex
AbstractFFVVertex.h
1
// -*- C++ -*-
2
#ifndef HELICITY_AbstractFFVVertex_H
3
#define HELICITY_AbstractFFVVertex_H
4
//
5
// This is the declaration of the AbstractFFVVertex class.
6
//
7
8
#include "VertexBase.h"
9
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
10
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
11
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
12
#include "AbstractFFVVertex.fh"
13
14
namespace
ThePEG
{
15
namespace
Helicity {
16
21
class
AbstractFFVVertex
:
public
VertexBase
{
22
23
public
:
24
28
enum
SmallAngleDirection
{
29
NegativeZDirection
= -1,
30
PostiveZDirection
= 1
31
};
32
33
public
:
34
35
39
AbstractFFVVertex
() :
VertexBase
(VertexType::FFV) {}
40
53
virtual
Complex
evaluate
(
Energy2
q2,
const
SpinorWaveFunction
& sp1,
54
const
SpinorBarWaveFunction
& sbar2,
55
const
VectorWaveFunction
& vec3) = 0;
56
69
virtual
SpinorBarWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
70
const
SpinorBarWaveFunction
& sbar2,
71
const
VectorWaveFunction
& vec3,
72
complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
73
86
virtual
VectorWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
87
const
SpinorWaveFunction
& sp1,
88
const
SpinorBarWaveFunction
& sbar2,
89
complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
90
103
virtual
SpinorWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
104
const
SpinorWaveFunction
& sp1,
105
const
VectorWaveFunction
& vec3,
106
complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
108
141
virtual
SpinorWaveFunction
evaluateSmall
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
142
const
SpinorWaveFunction
& sp1,
143
const
VectorWaveFunction
& vec3,
144
unsigned
int
fhel,
unsigned
int
vhel,
145
double
ctheta,
double
phi,
double
stheta,
146
bool
includeEikonal =
true
,
147
SmallAngleDirection
direction =
PostiveZDirection
,
148
Energy
mass=-GeV,
Energy
width=-GeV);
149
170
virtual
SpinorBarWaveFunction
evaluateSmall
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
171
const
SpinorBarWaveFunction
& sbar2,
172
const
VectorWaveFunction
& vec3,
173
unsigned
int
fhel,
unsigned
int
vhel,
174
double
ctheta,
double
phi,
double
stheta,
175
bool
includeEikonal =
true
,
176
SmallAngleDirection
direction =
PostiveZDirection
,
177
Energy
mass=-GeV,
Energy
width=-GeV);
179
180
public
:
181
188
static
void
Init
();
189
190
private
:
191
196
AbstractFFVVertex
&
operator=
(
const
AbstractFFVVertex
&) =
delete
;
197
198
};
199
200
}
201
}
202
203
204
namespace
ThePEG
{
205
206
}
207
#endif
/* HELICITY_AbstractFFVVertex_H */
ThePEG::Helicity::AbstractFFVVertex
The AbstractFFVVertex class provides a base class for all fermion-fermion-vector vertices in ThePEG.
Definition:
AbstractFFVVertex.h:21
ThePEG::Helicity::AbstractFFVVertex::SmallAngleDirection
SmallAngleDirection
Enum for the direction in the small angle limit.
Definition:
AbstractFFVVertex.h:28
ThePEG::Helicity::AbstractFFVVertex::PostiveZDirection
@ PostiveZDirection
Along +z.
Definition:
AbstractFFVVertex.h:30
ThePEG::Helicity::AbstractFFVVertex::NegativeZDirection
@ NegativeZDirection
Along -z.
Definition:
AbstractFFVVertex.h:29
ThePEG::Helicity::AbstractFFVVertex::operator=
AbstractFFVVertex & operator=(const AbstractFFVVertex &)=delete
The assignment operator is private and must never be called.
ThePEG::Helicity::AbstractFFVVertex::AbstractFFVVertex
AbstractFFVVertex()
Default constructor.
Definition:
AbstractFFVVertex.h:39
ThePEG::Helicity::AbstractFFVVertex::evaluateSmall
virtual SpinorWaveFunction evaluateSmall(Energy2 q2, int iopt, tcPDPtr out, const SpinorWaveFunction &sp1, const VectorWaveFunction &vec3, unsigned int fhel, unsigned int vhel, double ctheta, double phi, double stheta, bool includeEikonal=true, SmallAngleDirection direction=PostiveZDirection, Energy mass=-GeV, Energy width=-GeV)
Special members for off-shell fermion wavefunctions with massless gauge bosons at small angles in the...
ThePEG::Helicity::AbstractFFVVertex::evaluate
virtual SpinorBarWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const SpinorBarWaveFunction &sbar2, const VectorWaveFunction &vec3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
Evaluate the off-shell barred spinor coming from the vertex.
ThePEG::Helicity::AbstractFFVVertex::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::Helicity::AbstractFFVVertex::evaluate
virtual Complex evaluate(Energy2 q2, const SpinorWaveFunction &sp1, const SpinorBarWaveFunction &sbar2, const VectorWaveFunction &vec3)=0
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
ThePEG::Helicity::AbstractFFVVertex::evaluate
virtual SpinorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const SpinorWaveFunction &sp1, const VectorWaveFunction &vec3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
Evaluate the off-shell spinor coming from the vertex.
ThePEG::Helicity::AbstractFFVVertex::evaluateSmall
virtual SpinorBarWaveFunction evaluateSmall(Energy2 q2, int iopt, tcPDPtr out, const SpinorBarWaveFunction &sbar2, const VectorWaveFunction &vec3, unsigned int fhel, unsigned int vhel, double ctheta, double phi, double stheta, bool includeEikonal=true, SmallAngleDirection direction=PostiveZDirection, Energy mass=-GeV, Energy width=-GeV)
Small angle approx for an off-shell spinor.
ThePEG::Helicity::AbstractFFVVertex::evaluate
virtual VectorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const SpinorWaveFunction &sp1, const SpinorBarWaveFunction &sbar2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
Evaluate the off-shell vector coming from the vertex.
ThePEG::Helicity::SpinorBarWaveFunction
Definition:
SpinorBarWaveFunction.h:57
ThePEG::Helicity::SpinorWaveFunction
Definition:
SpinorWaveFunction.h:56
ThePEG::Helicity::VectorWaveFunction
Definition:
VectorWaveFunction.h:50
ThePEG::Helicity::VertexBase
The VertexBase class is the base class for all helicity amplitude vertices.
Definition:
VertexBase.h:83
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::Qty< 0, 2, 0 >
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::Complex
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
Definition:
Complex.h:23
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6