thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Helicity
Vertex
Scalar
FFSVertex.h
1
// -*- C++ -*-
2
//
3
// FFSVertex.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_FFSVertex_H
10
#define ThePEG_FFSVertex_H
11
//
12
// This is the declaration of the FFSVertex class.
13
14
#include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
15
#include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
16
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
17
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
18
#include "FFSVertex.fh"
19
20
namespace
ThePEG
{
21
22
namespace
Helicity{
23
41
class
FFSVertex
:
public
AbstractFFSVertex
{
42
43
public
:
44
48
static
void
Init
();
49
50
public
:
51
64
Complex
evaluate
(
Energy2
q2,
const
SpinorWaveFunction
& sp1,
65
const
SpinorBarWaveFunction
& sbar2,
66
const
ScalarWaveFunction
& sca3);
67
80
SpinorWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
81
const
SpinorWaveFunction
& sp1,
82
const
ScalarWaveFunction
& sca3,
83
complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
84
97
SpinorBarWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
98
const
SpinorBarWaveFunction
& sbar2,
99
const
ScalarWaveFunction
& sca3,
100
complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
101
114
ScalarWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
115
const
SpinorWaveFunction
& sp1,
116
const
SpinorBarWaveFunction
& sbar2,
117
complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
118
132
virtual
void
setCoupling
(
Energy2
q2,
tcPDPtr
part1,
133
tcPDPtr
part2,
tcPDPtr
part3)=0;
134
140
virtual
void
setCoupling
(
Energy2
,
tcPDPtr
,
tcPDPtr
,
tcPDPtr
,
tcPDPtr
) {
141
assert(
false
);
142
}
144
152
Complex
left
() {
return
_left
; }
153
157
Complex
right
() {
return
_right
; }
159
160
protected
:
161
169
void
left
(
Complex
in) {
_left
= in; }
170
174
void
right
(
Complex
in) {
_right
= in; }
176
177
private
:
178
182
FFSVertex
&
operator=
(
const
FFSVertex
&) =
delete
;
183
184
private
:
185
189
Complex
_left
;
190
194
Complex
_right
;
195
196
};
197
}
198
199
}
200
#endif
/* ThePEG_FFSVertex_H */
ThePEG::Helicity::AbstractFFSVertex
The AbstractFFSVertex class provides a base class for all fermion-fermion-scalar vertices in ThePEG.
Definition:
AbstractFFSVertex.h:21
ThePEG::Helicity::FFSVertex
The FFSVertex class is the implementation of the interact of a scalar boson and a fermion-antifermion...
Definition:
FFSVertex.h:41
ThePEG::Helicity::FFSVertex::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:
FFSVertex.h:140
ThePEG::Helicity::FFSVertex::operator=
FFSVertex & operator=(const FFSVertex &)=delete
Private and non-existent assignment operator.
ThePEG::Helicity::FFSVertex::_left
Complex _left
Storage of the left coupling.
Definition:
FFSVertex.h:189
ThePEG::Helicity::FFSVertex::evaluate
Complex evaluate(Energy2 q2, const SpinorWaveFunction &sp1, const SpinorBarWaveFunction &sbar2, const ScalarWaveFunction &sca3)
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
ThePEG::Helicity::FFSVertex::right
void right(Complex in)
Set the right coupling.
Definition:
FFSVertex.h:174
ThePEG::Helicity::FFSVertex::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::Helicity::FFSVertex::evaluate
SpinorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const SpinorWaveFunction &sp1, const ScalarWaveFunction &sca3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell spinor coming from the vertex.
ThePEG::Helicity::FFSVertex::evaluate
SpinorBarWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const SpinorBarWaveFunction &sbar2, const ScalarWaveFunction &sca3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell barred spinor coming from the vertex.
ThePEG::Helicity::FFSVertex::_right
Complex _right
Storage of the right coupling.
Definition:
FFSVertex.h:194
ThePEG::Helicity::FFSVertex::left
Complex left()
Get the couplings.
Definition:
FFSVertex.h:152
ThePEG::Helicity::FFSVertex::evaluate
ScalarWaveFunction 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 scalar coming from the vertex.
ThePEG::Helicity::FFSVertex::left
void left(Complex in)
Set the couplings.
Definition:
FFSVertex.h:169
ThePEG::Helicity::FFSVertex::right
Complex right()
Get the right coupling.
Definition:
FFSVertex.h:157
ThePEG::Helicity::FFSVertex::setCoupling
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
Set coupling methods.
ThePEG::Helicity::ScalarWaveFunction
Definition:
ScalarWaveFunction.h:36
ThePEG::Helicity::SpinorBarWaveFunction
Definition:
SpinorBarWaveFunction.h:57
ThePEG::Helicity::SpinorWaveFunction
Definition:
SpinorWaveFunction.h:56
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