|
|
|||
File indexing completed on 2026-08-06 09:38:23
0001 // -*- C++ -*- 0002 #ifndef HELICITY_AbstractRFSVertex_H 0003 #define HELICITY_AbstractRFSVertex_H 0004 // 0005 // This is the declaration of the AbstractRFSVertex 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/RSSpinorWaveFunction.h" 0012 #include "ThePEG/Helicity/WaveFunction/RSSpinorBarWaveFunction.h" 0013 #include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h" 0014 #include "AbstractRFSVertex.fh" 0015 0016 namespace ThePEG { 0017 namespace Helicity { 0018 0019 /** 0020 * The AbstractRFSVertex class provides a base class for all 0021 * spin-3/2 fermion-fermion-scalar vertices in ThePEG. 0022 */ 0023 class AbstractRFSVertex: public VertexBase { 0024 0025 public: 0026 0027 /** 0028 * Default constructor 0029 */ 0030 AbstractRFSVertex() : VertexBase(VertexType::RFS) {} 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 RS ferimon. 0041 * @param sbar2 The wavefunction for the antifermion. 0042 * @param sca3 The wavefunction for the scalar. 0043 */ 0044 virtual Complex evaluate(Energy2 q2,const RSSpinorWaveFunction & sp1, 0045 const SpinorBarWaveFunction & sbar2, 0046 const ScalarWaveFunction & sca3) = 0; 0047 /** 0048 * Evalulate the vertex. 0049 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0050 * @param sp1 The wavefunction for the ferimon. 0051 * @param sbar2 The wavefunction for the RS antifermion. 0052 * @param sca3 The wavefunction for the scalar. 0053 */ 0054 virtual Complex evaluate(Energy2 q2,const SpinorWaveFunction & sp1, 0055 const RSSpinorBarWaveFunction & sbar2, 0056 const ScalarWaveFunction & sca3) = 0; 0057 0058 /** 0059 * Evaluate the off-shell spinor coming from the vertex. 0060 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0061 * @param iopt Option of the shape of the Breit-Wigner for the off-shell spinor. 0062 * @param out The ParticleData pointer for the off-shell spinor. 0063 * @param sp1 The wavefunction for the ferimon. 0064 * @param sca3 The wavefunction for the scalar. 0065 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0066 * object 0067 * @param width The width of the off-shell particle if not taken from the ParticleData 0068 * object 0069 */ 0070 virtual SpinorWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0071 const RSSpinorWaveFunction & sp1, 0072 const ScalarWaveFunction & sca3, 0073 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0074 0075 /** 0076 * Evaluate the off-shell RS spinor coming from the vertex. 0077 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0078 * @param iopt Option of the shape of the Breit-Wigner for the off-shell spinor. 0079 * @param out The ParticleData pointer for the off-shell spinor. 0080 * @param sp1 The wavefunction for the ferimon. 0081 * @param sca3 The wavefunction for the scalar. 0082 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0083 * object 0084 * @param width The width of the off-shell particle if not taken from the ParticleData 0085 * object 0086 */ 0087 virtual RSSpinorWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0088 const SpinorWaveFunction & sp1, 0089 const ScalarWaveFunction & sca3, 0090 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0091 0092 /** 0093 * Evaluate the off-shell barred spinor coming from the vertex. 0094 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0095 * @param iopt Option of the shape of the Breit-Wigner for the off-shell barred spinor. 0096 * @param out The ParticleData pointer for the off-shell barred spinor. 0097 * @param sbar2 The wavefunction for the antifermion. 0098 * @param sca3 The wavefunction for the scalar. 0099 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0100 * object 0101 * @param width The width of the off-shell particle if not taken from the ParticleData 0102 * object 0103 */ 0104 virtual SpinorBarWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0105 const RSSpinorBarWaveFunction & sbar2, 0106 const ScalarWaveFunction & sca3, 0107 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0108 0109 /** 0110 * Evaluate the off-shell barred RS spinor coming from the vertex. 0111 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0112 * @param iopt Option of the shape of the Breit-Wigner for the off-shell barred spinor. 0113 * @param out The ParticleData pointer for the off-shell barred spinor. 0114 * @param sbar2 The wavefunction for the antifermion. 0115 * @param sca3 The wavefunction for the scalar. 0116 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0117 * object 0118 * @param width The width of the off-shell particle if not taken from the ParticleData 0119 * object 0120 */ 0121 virtual RSSpinorBarWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0122 const SpinorBarWaveFunction & sbar2, 0123 const ScalarWaveFunction & sca3, 0124 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0125 0126 /** 0127 * Evaluate the off-shell scalar coming from the vertex. 0128 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0129 * @param iopt Option of the shape of the Breit-Wigner for the off-shell scalar. 0130 * @param out The ParticleData pointer for the off-shell scalar. 0131 * @param sp1 The wavefunction for the RS ferimon. 0132 * @param sbar2 The wavefunction for the antifermion. 0133 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0134 * object 0135 * @param width The width of the off-shell particle if not taken from the ParticleData 0136 * object 0137 */ 0138 virtual ScalarWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0139 const RSSpinorWaveFunction & sp1, 0140 const SpinorBarWaveFunction & sbar2, 0141 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0142 0143 /** 0144 * Evaluate the off-shell scalar coming from the vertex. 0145 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0146 * @param iopt Option of the shape of the Breit-Wigner for the off-shell scalar. 0147 * @param out The ParticleData pointer for the off-shell scalar. 0148 * @param sp1 The wavefunction for the ferimon. 0149 * @param sbar2 The wavefunction for the RS antifermion. 0150 * @param mass The mass of the off-shell particle if not taken from the ParticleData 0151 * object 0152 * @param width The width of the off-shell particle if not taken from the ParticleData 0153 * object 0154 */ 0155 virtual ScalarWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out, 0156 const SpinorWaveFunction & sp1, 0157 const RSSpinorBarWaveFunction & sbar2, 0158 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0; 0159 //@} 0160 0161 public: 0162 0163 /** 0164 * The standard Init function used to initialize the interfaces. 0165 * Called exactly once for each class by the class description system 0166 * before the main function starts or 0167 * when this class is dynamically loaded. 0168 */ 0169 static void Init(); 0170 0171 private: 0172 0173 /** 0174 * The assignment operator is private and must never be called. 0175 * In fact, it should not even be implemented. 0176 */ 0177 AbstractRFSVertex & operator=(const AbstractRFSVertex &) = delete; 0178 0179 }; 0180 0181 } 0182 } 0183 0184 #endif /* HELICITY_AbstractRFSVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|