thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
AbstractVVVSVertex.h
1// -*- C++ -*-
2#ifndef HELICITY_AbstractVVVSVertex_H
3#define HELICITY_AbstractVVVSVertex_H
4//
5// This is the declaration of the AbstractVVVSVertex class.
6//
7
8#include "VertexBase.h"
9#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
10#include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
11#include "AbstractVVVSVertex.fh"
12
13namespace ThePEG {
14namespace Helicity {
15
21
22public:
23
27 AbstractVVVSVertex() : VertexBase(VertexType::VVVS) {}
28
42 virtual Complex evaluate(Energy2 q2, const VectorWaveFunction & vec1,
43 const VectorWaveFunction & vec2,
44 const VectorWaveFunction & vec3,
45 const ScalarWaveFunction & sca) = 0;
46
60 virtual VectorWaveFunction evaluate(Energy2 q2,int iopt, tcPDPtr out,
61 const VectorWaveFunction & vec2,
62 const VectorWaveFunction & vec3,
63 const ScalarWaveFunction & sca,
64 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
65
79 virtual ScalarWaveFunction evaluate(Energy2 q2,int iopt, tcPDPtr out,
80 const VectorWaveFunction & vec1,
81 const VectorWaveFunction & vec2,
82 const VectorWaveFunction & vec3,
83 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
85
86public:
87
94 static void Init();
95
96private:
97
103
104};
105
106}
107}
108
109#endif /* HELICITY_AbstractVVVSVertex_H */
The AbstractVVVSVertex class provides the base class for all vector-vector-vector interactions in The...
virtual VectorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec2, const VectorWaveFunction &vec3, const ScalarWaveFunction &sca, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
Evaluate the off-shell vector coming from the vertex.
static void Init()
The standard Init function used to initialize the interfaces.
virtual ScalarWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const VectorWaveFunction &vec3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
Evaluate the off-shell scalar coming from the vertex.
virtual Complex evaluate(Energy2 q2, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const VectorWaveFunction &vec3, const ScalarWaveFunction &sca)=0
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
AbstractVVVSVertex & operator=(const AbstractVVVSVertex &)=delete
The assignment operator is private and must never be called.
The VertexBase class is the base class for all helicity amplitude vertices.
Definition: VertexBase.h:83
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