|
|
|||
File indexing completed on 2026-08-06 09:24:18
0001 // -*- C++ -*- 0002 #ifndef Herwig_SMHZPVertex_H 0003 #define Herwig_SMHZPVertex_H 0004 // 0005 // This is the declaration of the SMHZPVertex class. 0006 // 0007 0008 #include "ThePEG/Helicity/Vertex/Scalar/GeneralVVSVertex.h" 0009 0010 namespace Herwig { 0011 0012 using namespace ThePEG; 0013 0014 /** 0015 * Here is the documentation of the SMHZPVertex class. 0016 * 0017 * @see \ref SMHZPVertexInterfaces "The interfaces" 0018 * defined for SMHZPVertex. 0019 */ 0020 class SMHZPVertex: public GeneralVVSVertex { 0021 0022 public: 0023 0024 /** 0025 * The default constructor. 0026 */ 0027 SMHZPVertex(); 0028 0029 /** 0030 * Calculate couplings 0031 *@param q2 Scale at which to evaluate coupling 0032 *@param part1 ParticleData pointer to first particle 0033 *@param part2 ParticleData pointer to second particle 0034 *@param part3 ParticleData pointer to third particle 0035 */ 0036 virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2, 0037 tcPDPtr part3); 0038 0039 /** @name Functions used by the persistent I/O system. */ 0040 //@{ 0041 /** 0042 * Function used to write out object persistently. 0043 * @param os the persistent output stream written to. 0044 */ 0045 void persistentOutput(PersistentOStream & os) const; 0046 0047 /** 0048 * Function used to read in object persistently. 0049 * @param is the persistent input stream read from. 0050 * @param version the version number of the object when written. 0051 */ 0052 void persistentInput(PersistentIStream & is, int version); 0053 //@} 0054 0055 /** 0056 * The standard Init function used to initialize the interfaces. 0057 * Called exactly once for each class by the class description system 0058 * before the main function starts or 0059 * when this class is dynamically loaded. 0060 */ 0061 static void Init(); 0062 0063 protected: 0064 0065 /** @name Clone Methods. */ 0066 //@{ 0067 /** 0068 * Make a simple clone of this object. 0069 * @return a pointer to the new object. 0070 */ 0071 virtual IBPtr clone() const; 0072 0073 /** Make a clone of this object, possibly modifying the cloned object 0074 * to make it sane. 0075 * @return a pointer to the new object. 0076 */ 0077 virtual IBPtr fullclone() const; 0078 //@} 0079 0080 protected: 0081 0082 /** @name Standard Interfaced functions. */ 0083 //@{ 0084 /** 0085 * Initialize this object after the setup phase before saving an 0086 * EventGenerator to disk. 0087 * @throws InitException if object could not be initialized properly. 0088 */ 0089 virtual void doinit(); 0090 //@} 0091 0092 private: 0093 0094 /** 0095 * The assignment operator is private and must never be called. 0096 * In fact, it should not even be implemented. 0097 */ 0098 SMHZPVertex & operator=(const SMHZPVertex &) = delete; 0099 0100 private: 0101 0102 /** 0103 * Functions for the loops from PLB 276 350 0104 */ 0105 //@{ 0106 /** 0107 * The \f$I_1(\tau,\lambda)\f$ function from PLB 276 350 0108 */ 0109 Complex I1(double tau,double lambda) const; 0110 0111 /** 0112 * The \f$I_2(\tau,\lambda)\f$ function from PLB 276 350 0113 */ 0114 Complex I2(double tau,double lambda) const; 0115 0116 /** 0117 * The \f$f(\tau)\f$ function from PLB 276 350 0118 */ 0119 Complex f(double tau) const; 0120 0121 /** 0122 * The \f$g(\tau)\f$ function from PLB 276 350 0123 */ 0124 Complex g(double tau) const; 0125 //@} 0126 0127 private: 0128 0129 /** 0130 *Storage of couplings 0131 */ 0132 //@{ 0133 /** 0134 * Last value of the coupling calculated 0135 */ 0136 Complex _couplast; 0137 0138 /** 0139 * The scale \f$q^2\f$ at which coupling was last evaluated 0140 */ 0141 Energy2 _q2last; 0142 //@} 0143 0144 /** 0145 * Pointer to Standard Model object 0146 */ 0147 tcHwSMPtr _theSM; 0148 0149 /** 0150 * The mass of the \f$W\f$ boson. 0151 */ 0152 Energy _mw; 0153 0154 /** 0155 * The mass of the \f$Z^0\f$ boson. 0156 */ 0157 Energy _mz; 0158 0159 /** 0160 * define quark mass scheme (fixed/running) 0161 */ 0162 unsigned int _massopt; 0163 0164 /** 0165 * The minimum flavour number in quark loops 0166 */ 0167 int _minloop; 0168 0169 /** 0170 * The maximum flavour number in quark loops 0171 */ 0172 int _maxloop; 0173 0174 }; 0175 0176 } 0177 0178 #endif /* Herwig_SMHZPVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|