thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
AbstractVVSSVertex.h
1 // -*- C++ -*-
2 #ifndef HELICITY_AbstractVVSSVertex_H
3 #define HELICITY_AbstractVVSSVertex_H
4 //
5 // This is the declaration of the AbstractVVSSVertex class.
6 //
7 
8 #include "VertexBase.h"
9 #include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
10 #include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
11 #include "AbstractVVSSVertex.fh"
12 
13 namespace ThePEG {
14 namespace Helicity {
15 
21 
22 public:
23 
27  AbstractVVSSVertex() : VertexBase(VertexType::VVSS) {}
28 
42  virtual Complex evaluate(Energy2 q2, const VectorWaveFunction & vec1,
43  const VectorWaveFunction & vec2,
44  const ScalarWaveFunction & sca3,
45  const ScalarWaveFunction & sca4) = 0;
46 
60  virtual VectorWaveFunction evaluate(Energy2 q2, int iopt,tcPDPtr out,
61  const VectorWaveFunction & vec2,
62  const ScalarWaveFunction & sca3,
63  const ScalarWaveFunction & sca4,
64  complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
65 
79  virtual ScalarWaveFunction evaluate(Energy2 q2, int iopt,tcPDPtr out,
80  const VectorWaveFunction & vec1,
81  const VectorWaveFunction & vec2,
82  const ScalarWaveFunction & sca3,
83  complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
85 
86 public:
87 
94  static void Init();
95 
96 private:
97 
102  AbstractVVSSVertex & operator=(const AbstractVVSSVertex &) = delete;
103 
104 };
105 
106 }
107 }
108 
109 
110 namespace ThePEG {
111 
112 }
113 #endif /* HELICITY_AbstractVVSSVertex_H */
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
Definition: Complex.h:23
The AbstractVVSSVertex class is the base class for vector-vector-scalar-scalar interactions in ThePEG...
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
virtual Complex evaluate(Energy2 q2, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3, const ScalarWaveFunction &sca4)=0
Members to calculate the helicity amplitude expressions for vertices and off-shell particles...
The VertexBase class is the base class for all helicity amplitude vertices.
Definition: VertexBase.h:83
static void Init()
The standard Init function used to initialize the interfaces.
AbstractVVSSVertex()
Default constructor.
AbstractVVSSVertex & operator=(const AbstractVVSSVertex &)=delete
The assignment operator is private and must never be called.