thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
13 namespace ThePEG {
14 namespace Helicity {
15 
16 using namespace ThePEG;
17 
25 
26 public:
27 
31  GeneralVSSVertex() : a_(1.), b_(-1.)
32  {}
33 
40  static void Init();
41 
54  Complex evaluate(Energy2 q2,const VectorWaveFunction & vec1,
55  const ScalarWaveFunction & sca2, const ScalarWaveFunction & sca3);
56 
69  VectorWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out,
70  const ScalarWaveFunction & sca2,
71  const ScalarWaveFunction & sca3,
72  complex<Energy> mass=-GeV, complex<Energy> width=-GeV);
73 
86  ScalarWaveFunction evaluate(Energy2 q2,int iopt, tcPDPtr out,
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 
117 protected:
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 
144 private:
145 
150  GeneralVSSVertex & operator=(const GeneralVSSVertex &) = delete;
151 
152 private:
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...
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
Definition: Complex.h:23
Complex a_
The coefficent of .
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
Here is the documentation of the GeneralVSSVertex class.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
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 b(Complex in)
Set coefficient of .
void a(Complex in)
Set coefficient of .
Complex b() const
Access coefficient of .
GeneralVSSVertex()
The default constructor.
Complex a() const
Member functions top set/get the coefficents.
Complex b_
The coefficent of .