ThePEG  1.8.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 
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 
115  virtual void setCoupling(Energy2 q2,tcPDPtr part1, tcPDPtr part2,
116  tcPDPtr part3)=0;
117 
118 public:
119 
125  Complex a00() const {return _a00;}
126 
130  Complex a11() const {return _a11;}
131 
135  Complex a12() const {return _a12;}
136 
140  Complex a21() const {return _a21;}
141 
145  Complex a22() const {return _a22;}
146 
150  Complex aEp() const {return _aEp;}
151 
155  void a00(const Complex & val) {_a00 = val;}
156 
160  void a11(const Complex & val) {_a11 = val;}
161 
165  void a12(const Complex & val) {_a12 = val;}
166 
170  void a21(const Complex & val) {_a21 = val;}
171 
175  void a22(const Complex & val) {_a22 = val;}
176 
180  void aEp(const Complex & val) {_aEp = val;}
182 
183 private:
184 
190 
195  GeneralVVSVertex & operator=(const GeneralVVSVertex &);
196 
197 
198 private:
199 
206 
211 
216 
221 
226 
232 };
233 
234 }
235 }
236 
237 #include "ThePEG/Utilities/ClassTraits.h"
238 
239 namespace ThePEG {
240 
245 template <>
246 struct BaseClassTrait<Helicity::GeneralVVSVertex,1> {
248  typedef Helicity::AbstractVVSVertex NthBase;
249 };
250 
253 template <>
254 struct ClassTraits<Helicity::GeneralVVSVertex>
255  : public ClassTraitsBase<Helicity::GeneralVVSVertex> {
257  static string className() { return "Helicity::GeneralVVSVertex"; }
258 };
259 
262 }
263 
264 #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:681
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 a12() const
Access coefficient of .
void a12(const Complex &val)
Set tensor coefficient of .
static AbstractNoPIOClassDescription< GeneralVVSVertex > initGeneralVVSVertex
The static object used to initialize the description of this class.
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
Complex a00() const
Access coefficient of .
GeneralVVSVertex()
The default constructor.
Here is the documentation of the AbstractVVSVertex class.
The GeneralVVSVertex class implements a general Vector-Vector-Scalar vertex allowing for decay modes ...
Complex a11() const
Access coefficient of .
Complex a22() const
Access coefficient of .
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
void aEp(const Complex &val)
Set tensor coefficient of .
void a22(const Complex &val)
Set tensor coefficient of .
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
Complex aEp() const
Access coefficient of .
void a00(const Complex &val)
Set tensor coefficient of .
Complex a21() const
Access coefficient of .
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52