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