thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
GeneralVSSVertex.h
1// -*- C++ -*-
2#ifndef Helicity_GeneralVSSVertex_H
3#define Helicity_GeneralVSSVertex_H
4//
5// This is the declaration of the GeneralVSSVertex class.
6//
7
8#include "ThePEG/Helicity/Vertex/AbstractVSSVertex.h"
9#include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
10#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
11#include "GeneralVSSVertex.fh"
12
13namespace ThePEG {
14namespace Helicity {
15
16using namespace ThePEG;
17
25
26public:
27
31 GeneralVSSVertex() : a_(1.), b_(-1.)
32 {}
33
40 static void Init();
41
55 const ScalarWaveFunction & sca2, const ScalarWaveFunction & sca3);
56
70 const ScalarWaveFunction & sca2,
71 const ScalarWaveFunction & sca3,
72 complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
73
87 const VectorWaveFunction & vec1,
88 const ScalarWaveFunction & sca2,
89 complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
90
104 virtual void setCoupling(Energy2 q2,tcPDPtr part1,
105 tcPDPtr part2,tcPDPtr part3)=0;
106
113 assert(false);
114 }
116
117protected:
118
126 Complex a() const {return a_;}
127
131 Complex b() const {return b_;}
132
136 void a(Complex in) {a_=in;}
137
141 void b(Complex in) {b_=in;}
143
144private:
145
151
152private:
153
158
163
164};
165
166}
167}
168
169#endif /* Helicity_GeneralVSSVertex_H */
The AbstractVSSVertex class is the base class for vector-scalar-scalar interactions in ThePEG.
Here is the documentation of the GeneralVSSVertex class.
Complex b() const
Access coefficient of .
void b(Complex in)
Set coefficient of .
VectorWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const ScalarWaveFunction &sca2, const ScalarWaveFunction &sca3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell vector coming from the vertex.
Complex evaluate(Energy2 q2, const VectorWaveFunction &vec1, const ScalarWaveFunction &sca2, const ScalarWaveFunction &sca3)
Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
GeneralVSSVertex & operator=(const GeneralVSSVertex &)=delete
The assignment operator is private and must never be called.
Complex a_
The coefficent of .
static void Init()
The standard Init function used to initialize the interfaces.
Complex b_
The coefficent of .
void a(Complex in)
Set coefficient of .
Complex a() const
Member functions top set/get the coefficents.
ScalarWaveFunction evaluate(Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec1, const ScalarWaveFunction &sca2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
Evaluate the off-shell scalar coming from the vertex.
GeneralVSSVertex()
The default constructor.
virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
Set coupling methods.
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...
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