thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
AbstractSSSVertex.h
1// -*- C++ -*-
2#ifndef HELICITY_AbstractSSSVertex_H
3#define HELICITY_AbstractSSSVertex_H
4//
5// This is the declaration of the AbstractSSSVertex class.
6//
7
8#include "VertexBase.h"
9#include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
10#include "AbstractSSSVertex.fh"
11
12namespace ThePEG {
13namespace Helicity {
14
20
21public:
22
26 AbstractSSSVertex() : VertexBase(VertexType::SSS) {}
27
40 virtual Complex evaluate(Energy2 q2,const ScalarWaveFunction & sca1,
41 const ScalarWaveFunction & sca2,
42 const ScalarWaveFunction & sca3) = 0;
43
56 virtual ScalarWaveFunction evaluate(Energy2 q2,int iopt, tcPDPtr out,
57 const ScalarWaveFunction & sca1,
58 const ScalarWaveFunction & sca2,
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_AbstractSSSVertex_H */
The AbstractSSSVertex class is the base class for all scalar-scalar-scalar interactions in ThePEG.
virtual ScalarWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const ScalarWaveFunction &sca1, const ScalarWaveFunction &sca2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
Evaluate the off-shell scalar coming from the vertex.
static void Init()
The standard Init function used to initialize the interfaces.
virtual Complex evaluate(Energy2 q2, const ScalarWaveFunction &sca1, const ScalarWaveFunction &sca2, const ScalarWaveFunction &sca3)=0
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
AbstractSSSVertex & operator=(const AbstractSSSVertex &)=delete
The assignment operator is private and must never be called.
AbstractSSSVertex()
Default constructor.
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