|
|
|||
File indexing completed on 2026-08-06 09:38:23
0001 // -*- C++ -*- 0002 #ifndef HELICITY_AbstractFFSVertex_H 0003 #define HELICITY_AbstractFFSVertex_H 0004 // 0005 // This is the declaration of the AbstractFFSVertex class. 0006 // 0007 0008 #include "VertexBase.h" 0009 #include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h" 0010 #include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h" 0011 #include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h" 0012 #include "AbstractFFSVertex.fh" 0013 0014 namespace ThePEG { 0015 namespace Helicity { 0016 0017 /** 0018 * The AbstractFFSVertex class provides a base class for all 0019 * fermion-fermion-scalar vertices in ThePEG. 0020 */ 0021 class AbstractFFSVertex: public VertexBase { 0022 0023 public: 0024 0025 /** 0026 * Default constructor 0027 */ 0028 AbstractFFSVertex() : VertexBase(VertexType::FFS) {} 0029 0030 /** 0031 * Members to calculate the helicity amplitude expressions for vertices 0032 * and off-shell particles. 0033 */ 0034 //@{ 0035 /** 0036 * Evalulate the vertex. 0037 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0038 * @param sp1 The wavefunction for the ferimon. 0039 * @param sbar2 The wavefunction for the antifermion. 0040 * @param sca3 The wavefunction for the scalar. 0041 */ 0042 virtual Complex evaluate(Energy2 q2,const SpinorWaveFunction & sp1, 0043 const SpinorBarWaveFunction & sbar2, 0044 const ScalarWaveFunction & sca3) = 0; 0045 0046 /** 0047 * Evaluate the off-shell spinor coming from the vertex. 0048 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0049 * @param iopt Option of the shape of the Breit-Wigner for the off-shell spinor. 0050 * @param out The ParticleData pointer for the off-shell spinor. 0051 * @param sp1 The wavefunction for the ferimon. 0052 * @param sca3 The wavefunction for the scalar. 0053 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0054 * object 0055 * @param width The width of the off-shell particle if not taken from the ParticleData 0056 * object 0057 */ 0058 virtual SpinorWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0059 const SpinorWaveFunction & sp1, 0060 const ScalarWaveFunction & sca3, 0061 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0062 0063 /** 0064 * Evaluate the off-shell barred spinor coming from the vertex. 0065 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0066 * @param iopt Option of the shape of the Breit-Wigner for the off-shell barred spinor. 0067 * @param out The ParticleData pointer for the off-shell barred spinor. 0068 * @param sbar2 The wavefunction for the antifermion. 0069 * @param sca3 The wavefunction for the scalar. 0070 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0071 * object 0072 * @param width The width of the off-shell particle if not taken from the ParticleData 0073 * object 0074 */ 0075 virtual SpinorBarWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0076 const SpinorBarWaveFunction & sbar2, 0077 const ScalarWaveFunction & sca3, 0078 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0079 0080 /** 0081 * Evaluate the off-shell scalar coming from the vertex. 0082 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0083 * @param iopt Option of the shape of the Breit-Wigner for the off-shell scalar. 0084 * @param out The ParticleData pointer for the off-shell scalar. 0085 * @param sp1 The wavefunction for the ferimon. 0086 * @param sbar2 The wavefunction for the antifermion. 0087 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0088 * object 0089 * @param width The width of the off-shell particle if not taken from the ParticleData 0090 * object 0091 */ 0092 virtual ScalarWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0093 const SpinorWaveFunction & sp1, 0094 const SpinorBarWaveFunction & sbar2, 0095 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0096 //@} 0097 0098 public: 0099 0100 /** 0101 * The standard Init function used to initialize the interfaces. 0102 * Called exactly once for each class by the class description system 0103 * before the main function starts or 0104 * when this class is dynamically loaded. 0105 */ 0106 static void Init(); 0107 0108 private: 0109 0110 /** 0111 * The assignment operator is private and must never be called. 0112 * In fact, it should not even be implemented. 0113 */ 0114 AbstractFFSVertex & operator=(const AbstractFFSVertex &) = delete; 0115 0116 }; 0117 0118 } 0119 } 0120 0121 0122 namespace ThePEG { 0123 0124 } 0125 #endif /* HELICITY_AbstractFFSVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|