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