thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
13 namespace ThePEG {
14 namespace Helicity {
15 
16 using namespace ThePEG;
17 
35 
36 public:
37 
41  GeneralVVSVertex() : _a00(1),
42  _a11(0), _a12(0),
43  _a21(0), _a22(0),
44  _aEp(0)
45  {}
46 
53  static void Init();
54 
55 public:
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 
134 public:
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 
199 private:
200 
205  GeneralVVSVertex & operator=(const GeneralVVSVertex &) = delete;
206 
207 
208 private:
209 
216 
221 
226 
231 
236 
242 };
243 
244 }
245 }
246 #endif /* HELICITY_GeneralVVSVertex_H */
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
Definition: Complex.h:23
void a21(const Complex &val)
Set tensor 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
void a11(const Complex &val)
Set tensor coefficient of .
Complex a22() const
Access coefficient of .
Complex a12() const
Access coefficient of .
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...
void a12(const Complex &val)
Set tensor coefficient of .
GeneralVVSVertex()
The default constructor.
Complex aEp() const
Access coefficient of .
Here is the documentation of the AbstractVVSVertex class.
The GeneralVVSVertex class implements a general Vector-Vector-Scalar vertex allowing for decay modes ...
Complex a21() const
Access coefficient of .
void aEp(const Complex &val)
Set tensor coefficient of .
Complex a00() const
Access coefficient of .
void a22(const Complex &val)
Set tensor coefficient of .
Complex a11() const
Access coefficient of .
void a00(const Complex &val)
Set tensor coefficient of .