thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Helicity
Vertex
Vector
FFVVertex.h
1
// -*- C++ -*-
2
//
3
// FFVVertex.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 2003-2019 Peter Richardson, Leif Lonnblad
5
//
6
// ThePEG 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 ThePEG_FFVVertex_H
10
#define ThePEG_FFVVertex_H
11
//
12
// This is the declaration of the FFVVertex class.
13
14
#include <ThePEG/Helicity/Vertex/AbstractFFVVertex.h>
15
#include <ThePEG/Helicity/WaveFunction/VectorWaveFunction.h>
16
#include <ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h>
17
#include <ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h>
18
#include "FFVVertex.fh"
19
20
namespace
ThePEG
{
21
22
namespace
Helicity{
23
39
class
FFVVertex
:
public
AbstractFFVVertex
{
40
41
public
:
42
46
static
void
Init
();
47
48
public
:
49
62
virtual
Complex
evaluate
(
Energy2
q2,
const
SpinorWaveFunction
& sp1,
63
const
SpinorBarWaveFunction
& sbar2,
64
const
VectorWaveFunction
& vec3);
65
78
virtual
SpinorBarWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
79
const
SpinorBarWaveFunction
& sbar2,
80
const
VectorWaveFunction
& vec3,
81
complex<Energy> mass=-GeV,
82
complex<Energy> width=-GeV);
83
96
virtual
VectorWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
97
const
SpinorWaveFunction
& sp1,
98
const
SpinorBarWaveFunction
& sbar2,
99
complex<Energy> mass=-GeV,
100
complex<Energy> width=-GeV);
101
114
virtual
SpinorWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
115
const
SpinorWaveFunction
& sp1,
116
const
VectorWaveFunction
& vec3,
117
complex<Energy> mass=-GeV,
118
complex<Energy> width=-GeV);
120
149
virtual
SpinorWaveFunction
evaluateSmall
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
150
const
SpinorWaveFunction
& sp1,
151
const
VectorWaveFunction
& vec3,
152
unsigned
int
fhel,
unsigned
int
vhel,
153
double
ctheta,
double
phi,
double
stheta,
154
bool
includeEikonal =
true
,
155
SmallAngleDirection
direction =
PostiveZDirection
,
156
Energy
mass=-GeV,
Energy
width=-GeV);
157
178
virtual
SpinorBarWaveFunction
evaluateSmall
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
179
const
SpinorBarWaveFunction
& sbar2,
180
const
VectorWaveFunction
& vec3,
181
unsigned
int
fhel,
unsigned
int
vhel,
182
double
ctheta,
double
phi,
double
stheta,
183
bool
includeEikonal =
true
,
184
SmallAngleDirection
direction =
PostiveZDirection
,
185
Energy
mass=-GeV,
Energy
width=-GeV);
187
201
virtual
void
setCoupling
(
Energy2
q2,
tcPDPtr
part1,
202
tcPDPtr
part2,
tcPDPtr
part3)=0;
203
209
virtual
void
setCoupling
(
Energy2
,
tcPDPtr
,
tcPDPtr
,
tcPDPtr
,
tcPDPtr
) {
210
assert(
false
);
211
}
213
221
const
Complex
&
left
()
const
{
return
_left
; }
222
226
const
Complex
&
right
()
const
{
return
_right
; }
228
229
protected
:
230
238
void
left
(
const
Complex
& in) {
_left
= in; }
239
243
void
right
(
const
Complex
& in) {
_right
= in; }
245
246
private
:
247
251
FFVVertex
&
operator=
(
const
FFVVertex
&) =
delete
;
252
253
private
:
254
258
Complex
_left
;
259
263
Complex
_right
;
264
265
};
266
}
267
268
}
269
#endif
/* ThePEG_FFVVertex_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::FFVVertex
The FFVVertex class is the base class for all helicity amplitude vertices which use the renormalisabl...
Definition:
FFVVertex.h:39
ThePEG::Helicity::FFVVertex::left
void left(const Complex &in)
Set the couplings.
Definition:
FFVVertex.h:238
ThePEG::Helicity::FFVVertex::left
const Complex & left() const
Get the Couplings.
Definition:
FFVVertex.h:221
ThePEG::Helicity::FFVVertex::operator=
FFVVertex & operator=(const FFVVertex &)=delete
Private and non-existent assignment operator.
ThePEG::Helicity::FFVVertex::right
const Complex & right() const
Get the right coupling.
Definition:
FFVVertex.h:226
ThePEG::Helicity::FFVVertex::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::FFVVertex::setCoupling
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
Set coupling methods.
ThePEG::Helicity::FFVVertex::right
void right(const Complex &in)
Set the right coupling.
Definition:
FFVVertex.h:243
ThePEG::Helicity::FFVVertex::evaluate
virtual SpinorBarWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const SpinorBarWaveFunction &sbar2, const VectorWaveFunction &vec3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell barred spinor coming from the vertex.
ThePEG::Helicity::FFVVertex::_left
Complex _left
Left coupling.
Definition:
FFVVertex.h:258
ThePEG::Helicity::FFVVertex::evaluate
virtual VectorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const SpinorWaveFunction &sp1, const SpinorBarWaveFunction &sbar2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell vector coming from the vertex.
ThePEG::Helicity::FFVVertex::_right
Complex _right
Right coupling.
Definition:
FFVVertex.h:263
ThePEG::Helicity::FFVVertex::evaluate
virtual Complex evaluate(Energy2 q2, const SpinorWaveFunction &sp1, const SpinorBarWaveFunction &sbar2, const VectorWaveFunction &vec3)
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
ThePEG::Helicity::FFVVertex::setCoupling
virtual void setCoupling(Energy2, tcPDPtr, tcPDPtr, tcPDPtr, tcPDPtr)
Dummy setCouplings for a four point interaction This method is virtual and must be implemented in cla...
Definition:
FFVVertex.h:209
ThePEG::Helicity::FFVVertex::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::FFVVertex::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::Helicity::FFVVertex::evaluate
virtual SpinorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const SpinorWaveFunction &sp1, const VectorWaveFunction &vec3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell spinor 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::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