thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
AbstractVVVVertex.h
1// -*- C++ -*-
2#ifndef HELICITY_AbstractVVVVertex_H
3#define HELICITY_AbstractVVVVertex_H
4//
5// This is the declaration of the AbstractVVVVertex class.
6//
7
8#include "VertexBase.h"
9#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
10#include "AbstractVVVVertex.fh"
11
12namespace ThePEG {
13namespace Helicity {
14
20
21public:
22
26 AbstractVVVVertex() : VertexBase(VertexType::VVV) {}
27
40 virtual Complex evaluate(Energy2 q2, const VectorWaveFunction & vec1,
41 const VectorWaveFunction & vec2,
42 const VectorWaveFunction & vec3) = 0;
43
56 virtual VectorWaveFunction evaluate(Energy2 q2,int iopt, tcPDPtr out,
57 const VectorWaveFunction & vec2,
58 const VectorWaveFunction & vec3,
59 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
61
62public:
63
70 static void Init();
71
72private:
73
79
80};
81
82}
83}
84
85
86namespace ThePEG {
87
88}
89#endif /* HELICITY_AbstractVVVVertex_H */
The AbstractVVVVertex class provides the base class for all vector-vector-vector interactions in TheP...
AbstractVVVVertex()
Default constructor.
static void Init()
The standard Init function used to initialize the interfaces.
AbstractVVVVertex & operator=(const AbstractVVVVertex &)=delete
The assignment operator is private and must never be called.
virtual Complex evaluate(Energy2 q2, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const VectorWaveFunction &vec3)=0
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
virtual VectorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec2, const VectorWaveFunction &vec3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
Evaluate the off-shell vector coming from the vertex.
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