Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:38:23

0001 // -*- C++ -*-
0002 #ifndef HELICITY_AbstractFFSTVertex_H
0003 #define HELICITY_AbstractFFSTVertex_H
0004 //
0005 // This is the declaration of the AbstractFFSTVertex class.
0006 //
0007 
0008 #include "VertexBase.h"
0009 #include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
0010 #include "ThePEG/Helicity/WaveFunction/TensorWaveFunction.h"
0011 #include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
0012 #include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
0013 #include "AbstractFFSTVertex.fh"
0014 
0015 namespace ThePEG {
0016 namespace Helicity {
0017 
0018 /**
0019  * The AbstractFFSTVertex class is the base class for all 
0020  * fermion-fermion-scalar-tensor interactions in ThePEG.
0021  */
0022 class AbstractFFSTVertex: public VertexBase {
0023 
0024 public:
0025   
0026 
0027   /**
0028    * Default constructor
0029    */
0030   AbstractFFSTVertex() : VertexBase(VertexType::FFST) {}
0031 
0032   /**
0033    * Members to calculate the helicity amplitude expressions for vertices
0034    * and off-shell particles.
0035    */
0036   //@{
0037   /**
0038    * Evalulate the vertex.
0039    * @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
0040    * @param sp1   The wavefunction for the ferimon.
0041    * @param sbar2 The wavefunction for the antifermion.
0042    * @param sca3  The wavefunction for the vector.
0043    * @param ten4  The wavefunction for the tensor.
0044    */
0045   virtual Complex evaluate(Energy2 q2,const SpinorWaveFunction & sp1,
0046                const SpinorBarWaveFunction & sbar2,
0047                const ScalarWaveFunction & sca3,
0048                const TensorWaveFunction & ten4) = 0;
0049   //@}
0050 
0051 public:
0052 
0053   /**
0054    * The standard Init function used to initialize the interfaces.
0055    * Called exactly once for each class by the class description system
0056    * before the main function starts or
0057    * when this class is dynamically loaded.
0058    */
0059   static void Init();
0060 
0061 private:
0062 
0063   /**
0064    * The assignment operator is private and must never be called.
0065    * In fact, it should not even be implemented.
0066    */
0067   AbstractFFSTVertex & operator=(const AbstractFFSTVertex &) = delete;
0068 
0069 };
0070 
0071 }
0072 }
0073 
0074 
0075 namespace ThePEG {
0076 
0077 }
0078 #endif /* HELICITY_AbstractFFSTVertex_H */