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