|
|
|||
File indexing completed on 2026-08-06 09:24:18
0001 // -*- C++ -*- 0002 #ifndef HERWIG_LHWWWVertex_H 0003 #define HERWIG_LHWWWVertex_H 0004 // 0005 // This is the declaration of the LHWWWVertex class. 0006 // 0007 0008 #include "ThePEG/Helicity/Vertex/Vector/VVVVertex.h" 0009 #include "LHModel.h" 0010 0011 namespace Herwig { 0012 using namespace ThePEG; 0013 using ThePEG::Helicity::Direction; 0014 0015 /** 0016 * The LHWWWVertex class implements the triple boson coupling in the Little 0017 * Higgs model for the electroweak bosons of the Standard Model and the 0018 * additional \f$A_H\f$, \f$Z_H\f$ and \f$W_H^\pm\f$ bosons. 0019 */ 0020 class LHWWWVertex: public Helicity::VVVVertex { 0021 0022 public: 0023 0024 /** 0025 * The default constructor. 0026 */ 0027 inline LHWWWVertex(); 0028 0029 /** 0030 * Calculate the couplings. 0031 * @param q2 The scale \f$q^2\f$ for the coupling at the vertex. 0032 * @param part1 The ParticleData pointer for the first particle. 0033 * @param part2 The ParticleData pointer for the second particle. 0034 * @param part3 The ParticleData pointer for the third particle. 0035 * @param d1 The direction for the first particle. 0036 * @param d2 The direction for the second particle. 0037 * @param d3 The direction for the third particle. 0038 */ 0039 virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3); 0040 0041 public: 0042 0043 /** @name Functions used by the persistent I/O system. */ 0044 //@{ 0045 /** 0046 * Function used to write out object persistently. 0047 * @param os the persistent output stream written to. 0048 */ 0049 void persistentOutput(PersistentOStream & os) const; 0050 0051 /** 0052 * Function used to read in object persistently. 0053 * @param is the persistent input stream read from. 0054 * @param version the version number of the object when written. 0055 */ 0056 void persistentInput(PersistentIStream & is, int version); 0057 //@} 0058 0059 /** 0060 * The standard Init function used to initialize the interfaces. 0061 * Called exactly once for each class by the class description system 0062 * before the main function starts or 0063 * when this class is dynamically loaded. 0064 */ 0065 static void Init(); 0066 0067 protected: 0068 0069 /** @name Clone Methods. */ 0070 //@{ 0071 /** 0072 * Make a simple clone of this object. 0073 * @return a pointer to the new object. 0074 */ 0075 virtual IBPtr clone() const {return new_ptr(*this);} 0076 0077 /** Make a clone of this object, possibly modifying the cloned object 0078 * to make it sane. 0079 * @return a pointer to the new object. 0080 */ 0081 virtual IBPtr fullclone() const {return new_ptr(*this);} 0082 //@} 0083 0084 0085 protected: 0086 0087 /** @name Standard Interfaced functions. */ 0088 //@{ 0089 /** 0090 * Initialize this object after the setup phase before saving an 0091 * EventGenerator to disk. 0092 * @throws InitException if object could not be initialized properly. 0093 */ 0094 virtual void doinit(); 0095 //@} 0096 0097 private: 0098 0099 /** 0100 * The assignment operator is private and must never be called. 0101 * In fact, it should not even be implemented. 0102 */ 0103 LHWWWVertex & operator=(const LHWWWVertex &) = delete; 0104 0105 private: 0106 0107 /** 0108 * Storage of the couplings. 0109 */ 0110 //@{ 0111 /** 0112 * The correction factors for the different interacting particles 0113 */ 0114 vector<double> _corr; 0115 0116 /** 0117 * The last value of the electroweak coupling calculated. 0118 */ 0119 Complex _couplast; 0120 0121 /** 0122 * The scale \f$q^2\f$ at which the coupling was last evaluated. 0123 */ 0124 Energy2 _q2last; 0125 //@} 0126 0127 }; 0128 0129 } 0130 0131 #endif /* HERWIG_LHWWWVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|