|
|
|||
File indexing completed on 2026-08-06 09:24:17
0001 // -*- C++ -*- 0002 #ifndef HERWIG_LHModel_H 0003 #define HERWIG_LHModel_H 0004 // 0005 // This is the declaration of the LHModel class. 0006 // 0007 0008 #include "Herwig/Models/General/BSMModel.h" 0009 #include "ThePEG/Helicity/Vertex/AbstractVSSVertex.h" 0010 #include "ThePEG/Helicity/Vertex/AbstractVVSSVertex.h" 0011 #include "LHModel.fh" 0012 0013 namespace Herwig { 0014 0015 using namespace ThePEG; 0016 0017 /** 0018 * The LHModel class is the main class for the implementation of the Little Higgs model in Herwig. 0019 * In inherits from the StandardModel class and implements the calcuation of the couplings 0020 * and masses in the Little Higgs model and storage of the additional couplings. 0021 * 0022 * @see \ref LHModelInterfaces "The interfaces" 0023 * defined for LHModel. 0024 */ 0025 class LHModel: public BSMModel { 0026 0027 public: 0028 0029 /** 0030 * The default constructor. 0031 */ 0032 LHModel(); 0033 0034 public: 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 public: 0061 0062 /** 0063 * Access to the parameters of the model 0064 */ 0065 //@{ 0066 /** 0067 * The \f$\lambda_1\f$ top Yukawa coupling 0068 */ 0069 double lambda1() const {return _lambda1;} 0070 0071 /** 0072 * The \f$\lambda_2\f$ top Yukawa coupling 0073 */ 0074 double lambda2() const {return _lambda2;} 0075 0076 /** 0077 * The sine of the \f$\theta\f$ mixing angle 0078 */ 0079 double sinTheta() const {return _s;} 0080 0081 /** 0082 * The cosine of the \f$\theta\f$ mixing angle 0083 */ 0084 double cosTheta() const {return _c;} 0085 0086 /** 0087 * The sine of the \f$\theta'\f$ mixing angle 0088 */ 0089 double sinThetaPrime() const {return _sp;} 0090 0091 /** 0092 * The cosine of the \f$\theta'\f$ mixing angle 0093 */ 0094 double cosThetaPrime() const {return _cp;} 0095 0096 /** 0097 * The sine of the Higgs mixing angle 0098 */ 0099 double sinTheta0() const {return _s0;} 0100 0101 /** 0102 * The cosine of the Higgs mixing angle 0103 */ 0104 double cosTheta0() const {return _c0;} 0105 0106 /** 0107 * The sine of the pseudoscalar Higgs mixing angle 0108 */ 0109 double sinThetaP() const {return _sP;} 0110 0111 /** 0112 * The cosine of the pseudoscalar Higgs mixing angle 0113 */ 0114 double cosThetaP() const {return _cP;} 0115 0116 /** 0117 * The sine of the charged Higgs mixing angle 0118 */ 0119 double sinThetaPlus() const {return _sPlus;} 0120 0121 /** 0122 * The cosine of the charged Higgs mixing angle 0123 */ 0124 double cosThetaPlus() const {return _cPlus;} 0125 0126 /** 0127 * The vacuum expection value 0128 */ 0129 Energy vev() const {return _v;} 0130 0131 /** 0132 * The vacuum expection value 0133 */ 0134 Energy vevPrime() const {return _v*_vacratio;} 0135 0136 /** 0137 * The \f$f\f$ scale of the non-linear \f$\sigma\f$-model 0138 */ 0139 Energy f() const {return _f;} 0140 //@} 0141 0142 protected: 0143 0144 /** @name Clone Methods. */ 0145 //@{ 0146 /** 0147 * Make a simple clone of this object. 0148 * @return a pointer to the new object. 0149 */ 0150 virtual IBPtr clone() const {return new_ptr(*this);} 0151 0152 /** Make a clone of this object, possibly modifying the cloned object 0153 * to make it sane. 0154 * @return a pointer to the new object. 0155 */ 0156 virtual IBPtr fullclone() const {return new_ptr(*this);} 0157 //@} 0158 0159 protected: 0160 0161 /** @name Standard Interfaced functions. */ 0162 //@{ 0163 /** 0164 * Initialize this object after the setup phase before saving an 0165 * EventGenerator to disk. 0166 * @throws InitException if object could not be initialized properly. 0167 */ 0168 virtual void doinit(); 0169 //@} 0170 0171 private: 0172 0173 /** 0174 * The assignment operator is private and must never be called. 0175 * In fact, it should not even be implemented. 0176 */ 0177 LHModel & operator=(const LHModel &) = delete; 0178 0179 private: 0180 0181 /** 0182 * Parameters for the model 0183 */ 0184 //@{ 0185 /** 0186 * The value of \f$\cot\theta\f$ for the mixing with the \f$g\f$ coupling 0187 */ 0188 double _cott; 0189 0190 /** 0191 * The value of \f$\tan\theta'\f$ for the mixing with the \f$g'\f$ coupling 0192 */ 0193 double _tantp; 0194 0195 /** 0196 * The vacuum expection valve 0197 */ 0198 Energy _v; 0199 0200 /** 0201 * The ratio \f$\lambda_2/\lambda_1\f$ 0202 */ 0203 double _lamratio; 0204 0205 /** 0206 * The mass of the lightest Higgs boson 0207 */ 0208 Energy _mH; 0209 0210 /** 0211 * The ratio of the vacuum exception values \f$v'/v\f$ 0212 */ 0213 double _vacratio; 0214 0215 /** 0216 * The scale for the non-linear \f$\sigma\f$-model 0217 */ 0218 Energy _f; 0219 0220 /** 0221 * The top Yukawa couplings 0222 */ 0223 double _lambda1,_lambda2; 0224 0225 /** 0226 * The sine of the \f$\theta\f$ mixing angle 0227 */ 0228 double _s; 0229 0230 /** 0231 * The cosine of the \f$\theta\f$ mixing angle 0232 */ 0233 double _c; 0234 0235 /** 0236 * The sine of the \f$\theta'\f$ mixing angle 0237 */ 0238 double _sp; 0239 0240 /** 0241 * The cosine of the \f$\theta'\f$ mixing angle 0242 */ 0243 double _cp; 0244 0245 /** 0246 * The sine of the Higgs mixing angle 0247 */ 0248 double _s0; 0249 0250 /** 0251 * The cosine of the Higgs mixing angle 0252 */ 0253 double _c0; 0254 0255 /** 0256 * The sine of the pseudoscalar Higgs mixing angle 0257 */ 0258 double _sP; 0259 0260 /** 0261 * The cosine of the pseudoscalar Higgs mixing angle 0262 */ 0263 double _cP; 0264 0265 /** 0266 * The sine of the charged Higgs mixing angle 0267 */ 0268 double _sPlus; 0269 0270 /** 0271 * The cosine of the charged Higgs mixing angle 0272 */ 0273 double _cPlus; 0274 //@} 0275 0276 /** 0277 * Additional vertices 0278 */ 0279 //@{ 0280 /** 0281 * WHH Vertex 0282 */ 0283 AbstractVSSVertexPtr WHHVertex_; 0284 //@} 0285 }; 0286 0287 } 0288 0289 #endif /* HERWIG_LHModel_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|