thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
AbstractSSTVertex.h
1 // -*- C++ -*-
2 #ifndef HELICITY_AbstractSSTVertex_H
3 #define HELICITY_AbstractSSTVertex_H
4 //
5 // This is the declaration of the AbstractSSTVertex class.
6 //
7 
8 #include "VertexBase.h"
9 #include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
10 #include "ThePEG/Helicity/WaveFunction/TensorWaveFunction.h"
11 #include "AbstractSSTVertex.fh"
12 
13 namespace ThePEG {
14 namespace Helicity {
15 
21 
22 public:
23 
24 
28  AbstractSSTVertex() : VertexBase(VertexType::SST) {}
29 
42  virtual Complex evaluate(Energy2 q2, const ScalarWaveFunction & sca1,
43  const ScalarWaveFunction & sca2,
44  const TensorWaveFunction & ten3) = 0;
45 
58  virtual ScalarWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out,
59  const ScalarWaveFunction & sca1,
60  const TensorWaveFunction & ten3,
61  complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
62 
75  virtual TensorWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out,
76  const ScalarWaveFunction & sca1,
77  const ScalarWaveFunction & sca2,
78  complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
80 
81 public:
82 
89  static void Init();
90 
91 private:
92 
97  AbstractSSTVertex & operator=(const AbstractSSTVertex &) = delete;
98 
99 };
100 
101 }
102 }
103 
104 
105 namespace ThePEG {
106 
107 }
108 #endif /* HELICITY_AbstractSSTVertex_H */
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
Definition: Complex.h:23
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
The AbstractSSTVertex class is the base class for scalar-scalar-tensor interactions in ThePEG...
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
AbstractSSTVertex & operator=(const AbstractSSTVertex &)=delete
The assignment operator is private and must never be called.
static void Init()
The standard Init function used to initialize the interfaces.
The VertexBase class is the base class for all helicity amplitude vertices.
Definition: VertexBase.h:83
virtual Complex evaluate(Energy2 q2, const ScalarWaveFunction &sca1, const ScalarWaveFunction &sca2, const TensorWaveFunction &ten3)=0
Members to calculate the helicity amplitude expressions for vertices and off-shell particles...
AbstractSSTVertex()
Default constructor.