thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
GeneralVVSVertex.h
1// -*- C++ -*-
2#ifndef HELICITY_GeneralVVSVertex_H
3#define HELICITY_GeneralVVSVertex_H
4//
5// This is the declaration of the GeneralVVSVertex class.
6//
7
8#include "ThePEG/Helicity/Vertex/AbstractVVSVertex.h"
9#include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
10#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
11#include "GeneralVVSVertex.fh"
12
13namespace ThePEG {
14namespace Helicity {
15
16using namespace ThePEG;
17
35
36public:
37
42 _a11(0), _a12(0),
43 _a21(0), _a22(0),
44 _aEp(0)
45 {}
46
53 static void Init();
54
55public:
56
69 virtual Complex evaluate(Energy2 q2,const VectorWaveFunction & vec1,
70 const VectorWaveFunction & vec2,
71 const ScalarWaveFunction & sca3);
72
85 virtual VectorWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out,
86 const VectorWaveFunction & vec2,
87 const ScalarWaveFunction & sca3,
88 complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
89
102 virtual ScalarWaveFunction evaluate(Energy2 q2,int iopt, tcPDPtr out,
103 const VectorWaveFunction & vec1,
104 const VectorWaveFunction & vec2,
105 complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
107
121 virtual void setCoupling(Energy2 q2,tcPDPtr part1,
122 tcPDPtr part2,tcPDPtr part3)=0;
123
130 assert(false);
131 }
133
134public:
135
141 Complex a00() const {return _a00;}
142
146 Complex a11() const {return _a11;}
147
151 Complex a12() const {return _a12;}
152
156 Complex a21() const {return _a21;}
157
161 Complex a22() const {return _a22;}
162
166 Complex aEp() const {return _aEp;}
167
171 void a00(const Complex & val) {_a00 = val;}
172
176 void a11(const Complex & val) {_a11 = val;}
177
181 void a12(const Complex & val) {_a12 = val;}
182
186 void a21(const Complex & val) {_a21 = val;}
187
191 void a22(const Complex & val) {_a22 = val;}
192
196 void aEp(const Complex & val) {_aEp = val;}
198
199private:
200
206
207
208private:
209
216
221
226
231
236
242};
243
244}
245}
246#endif /* HELICITY_GeneralVVSVertex_H */
Here is the documentation of the AbstractVVSVertex class.
The GeneralVVSVertex class implements a general Vector-Vector-Scalar vertex allowing for decay modes ...
GeneralVVSVertex()
The default constructor.
void a22(const Complex &val)
Set tensor coefficient of .
void a00(const Complex &val)
Set tensor coefficient of .
GeneralVVSVertex & operator=(const GeneralVVSVertex &)=delete
The assignment operator is private and must never be called.
Complex a22() const
Access coefficient of .
void aEp(const Complex &val)
Set tensor coefficient of .
Complex a12() const
Access coefficient of .
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
Set coupling methods.
void a11(const Complex &val)
Set tensor coefficient of .
Complex a00() const
Access coefficient of .
void a12(const Complex &val)
Set tensor coefficient of .
virtual ScalarWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell scalar coming from the vertex.
Complex aEp() const
Access coefficient of .
virtual Complex evaluate(Energy2 q2, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3)
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
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...
Complex a21() const
Access coefficient of .
void a21(const Complex &val)
Set tensor coefficient of .
virtual VectorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell vector coming from the vertex.
static void Init()
The standard Init function used to initialize the interfaces.
Complex a11() const
Access coefficient of .
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