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