thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Helicity
Vertex
Vector
GeneralFFVVertex.h
1
// -*- C++ -*-
2
//
3
// GeneralFFVVertex.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_GeneralFFVVertex_H
10
#define ThePEG_GeneralFFVVertex_H
11
//
12
// This is the declaration of the GeneralFFVVertex 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 "GeneralFFVVertex.fh"
19
20
namespace
ThePEG
{
21
22
namespace
Helicity{
23
38
class
GeneralFFVVertex
:
public
AbstractFFVVertex
{
39
40
public
:
41
45
static
void
Init
();
46
59
Complex
evaluate
(
Energy2
q2,
const
SpinorWaveFunction
& sp1,
60
const
SpinorBarWaveFunction
& sbar2,
const
VectorWaveFunction
& vec3);
61
74
SpinorBarWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
75
const
SpinorBarWaveFunction
& sbar2,
76
const
VectorWaveFunction
& vec3,
77
complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
78
91
VectorWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
92
const
SpinorWaveFunction
& sp1,
93
const
SpinorBarWaveFunction
& sbar2,
94
complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
95
108
SpinorWaveFunction
evaluate
(
Energy2
q2,
int
iopt,
tcPDPtr
out,
109
const
SpinorWaveFunction
& sp1,
110
const
VectorWaveFunction
& vec3,
111
complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
113
127
virtual
void
setCoupling
(
Energy2
q2,
tcPDPtr
part1,
128
tcPDPtr
part2,
tcPDPtr
part3)=0;
129
135
virtual
void
setCoupling
(
Energy2
,
tcPDPtr
,
tcPDPtr
,
tcPDPtr
,
tcPDPtr
) {
136
assert(
false
);
137
}
139
147
const
Complex
&
getLeft
() {
return
_left
; }
148
152
const
Complex
&
getRight
() {
return
_right
; }
153
157
const
complex<InvEnergy>
getLeftSigma
() {
return
_leftSigma
; }
158
162
const
complex<InvEnergy>
getRightSigma
() {
return
_rightSigma
; }
164
165
protected
:
166
174
void
setLeft
(
const
Complex
& in) {
_left
= in; }
175
179
void
setRight
(
const
Complex
& in) {
_right
= in; }
180
184
void
setLeftSigma
(
const
complex<InvEnergy> & in) {
_leftSigma
= in; }
185
189
void
setRightSigma
(
const
complex<InvEnergy> & in) {
_rightSigma
= in; }
191
192
private
:
193
197
GeneralFFVVertex
&
operator=
(
const
GeneralFFVVertex
&) =
delete
;
198
199
private
:
200
204
Complex
_left
;
205
209
Complex
_right
;
210
214
complex<InvEnergy>
_leftSigma
;
215
219
complex<InvEnergy>
_rightSigma
;
220
221
};
222
}
223
224
}
225
#endif
/* ThePEG_GeneralFFVVertex_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::GeneralFFVVertex
The GeneralFFVVertex class is the base class for all helicity amplitude vertices which use a general ...
Definition:
GeneralFFVVertex.h:38
ThePEG::Helicity::GeneralFFVVertex::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::Helicity::GeneralFFVVertex::getRight
const Complex & getRight()
Get the right coupling.
Definition:
GeneralFFVVertex.h:152
ThePEG::Helicity::GeneralFFVVertex::setRight
void setRight(const Complex &in)
Set the right coupling.
Definition:
GeneralFFVVertex.h:179
ThePEG::Helicity::GeneralFFVVertex::evaluate
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::GeneralFFVVertex::setLeftSigma
void setLeftSigma(const complex< InvEnergy > &in)
Set the left coupling for the term.
Definition:
GeneralFFVVertex.h:184
ThePEG::Helicity::GeneralFFVVertex::getRightSigma
const complex< InvEnergy > getRightSigma()
Get the right coupling for the term.
Definition:
GeneralFFVVertex.h:162
ThePEG::Helicity::GeneralFFVVertex::setLeft
void setLeft(const Complex &in)
Set the couplings.
Definition:
GeneralFFVVertex.h:174
ThePEG::Helicity::GeneralFFVVertex::_leftSigma
complex< InvEnergy > _leftSigma
Left coupling.
Definition:
GeneralFFVVertex.h:214
ThePEG::Helicity::GeneralFFVVertex::setCoupling
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
Set coupling methods.
ThePEG::Helicity::GeneralFFVVertex::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:
GeneralFFVVertex.h:135
ThePEG::Helicity::GeneralFFVVertex::setRightSigma
void setRightSigma(const complex< InvEnergy > &in)
Set the right coupling for the term.
Definition:
GeneralFFVVertex.h:189
ThePEG::Helicity::GeneralFFVVertex::operator=
GeneralFFVVertex & operator=(const GeneralFFVVertex &)=delete
Private and non-existent assignment operator.
ThePEG::Helicity::GeneralFFVVertex::_left
Complex _left
Left coupling.
Definition:
GeneralFFVVertex.h:204
ThePEG::Helicity::GeneralFFVVertex::evaluate
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::GeneralFFVVertex::_right
Complex _right
Right coupling.
Definition:
GeneralFFVVertex.h:209
ThePEG::Helicity::GeneralFFVVertex::_rightSigma
complex< InvEnergy > _rightSigma
Right coupling.
Definition:
GeneralFFVVertex.h:219
ThePEG::Helicity::GeneralFFVVertex::evaluate
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::GeneralFFVVertex::evaluate
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::GeneralFFVVertex::getLeftSigma
const complex< InvEnergy > getLeftSigma()
Get the left coupling for the term.
Definition:
GeneralFFVVertex.h:157
ThePEG::Helicity::GeneralFFVVertex::getLeft
const Complex & getLeft()
Get the Couplings.
Definition:
GeneralFFVVertex.h:147
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