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