thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
FFVTVertex.h
1// -*- C++ -*-
2//
3// FFVTVertex.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_FFVTVertex_H
10#define ThePEG_FFVTVertex_H
11//
12// This is the declaration of the FFVTVertex class.
13//
14#include "ThePEG/Helicity/Vertex/AbstractFFVTVertex.h"
15#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
16#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
17#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
18#include "ThePEG/Helicity/WaveFunction/TensorWaveFunction.h"
19#include "FFVTVertex.fh"
20
21namespace ThePEG {
22namespace Helicity {
23
44
45public:
46
50 FFVTVertex() : left_(1.), right_(1.) {}
51
55 static void Init();
56
57public:
58
73 const SpinorBarWaveFunction & sbar2,
74 const VectorWaveFunction & vec3, const TensorWaveFunction & ten4);
76
85 assert(false);
86 }
87
98 virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3,
99 tcPDPtr part4)=0;
101
109 Complex left() const {return left_;}
110
114 void left(Complex in) {left_ = in;}
115
119 Complex right() const {return right_;}
120
124 void right(Complex in) {right_ = in;}
126
127private:
128
132 FFVTVertex & operator=(const FFVTVertex &) = delete;
133
134private:
135
140
145
146};
147}
148
149}
150#endif /* ThePEG_FFVTVertex_H */
The AbstractFFVTVertex class is the base class for all fermion-fermion-vector-tensor interactions in ...
The FFVTVertex class is the implementation of the fermion-fermion–vector-tensor vertex.
Definition: FFVTVertex.h:43
Complex left_
Left coupling.
Definition: FFVTVertex.h:139
virtual void setCoupling(Energy2, tcPDPtr, tcPDPtr, tcPDPtr)
Set coupling methods.
Definition: FFVTVertex.h:84
FFVTVertex()
Default constructor.
Definition: FFVTVertex.h:50
FFVTVertex & operator=(const FFVTVertex &)=delete
Private and non-existent assignment operator.
static void Init()
Standard Init function used to initialize the interfaces.
void right(Complex in)
Set right.
Definition: FFVTVertex.h:124
void left(Complex in)
Set left.
Definition: FFVTVertex.h:114
Complex right_
Right coupling.
Definition: FFVTVertex.h:144
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3, tcPDPtr part4)=0
Calculate the couplings for a four point interaction.
Complex evaluate(Energy2 q2, const SpinorWaveFunction &sp1, const SpinorBarWaveFunction &sbar2, const VectorWaveFunction &vec3, const TensorWaveFunction &ten4)
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
Complex right() const
Get right.
Definition: FFVTVertex.h:119
Complex left() const
Left and right couplings.
Definition: FFVTVertex.h:109
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
Definition: Complex.h:23