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