Back to home page

EIC code displayed by LXR

 
 

    


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

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