|
|
|||
File indexing completed on 2026-08-06 09:24:00
0001 // -*- C++ -*- 0002 // 0003 // WSBFormFactor.h is a part of Herwig - A multi-purpose Monte Carlo event generator 0004 // Copyright (C) 2002-2019 The Herwig Collaboration 0005 // 0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details. 0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 0008 // 0009 #ifndef HERWIG_WSBFormFactor_H 0010 #define HERWIG_WSBFormFactor_H 0011 // 0012 // This is the declaration of the WSBFormFactor class. 0013 // 0014 #include "ScalarFormFactor.h" 0015 0016 namespace Herwig { 0017 using namespace ThePEG; 0018 0019 /** \ingroup Decay 0020 * 0021 * The WSBFormFactor class is the implementation of the form factor 0022 * model of Z.Phys. C29, 637 for the semi-leptonic form factors. It includes 0023 * form factors for a number of \f$D\f$, \f$B\f$ and \f$D_s\f$ decays. 0024 * In practice the parameters 0025 * of the model were taken from Z.Phys. C34, 103 which includes a number of 0026 * decay modes which were not considered in the original paper. 0027 * 0028 * This form factor model is included both to give an alternative for many modes 0029 * to the ISGW models and for use in the factorisation approxmation for hadronic 0030 * decays. 0031 * 0032 * @see ScalarFormFactor 0033 * @see ISGWFormFactor 0034 * @see ISGW2FormFactor 0035 * 0036 */ 0037 0038 class WSBFormFactor: public ScalarFormFactor { 0039 0040 public: 0041 0042 /** 0043 * Default constructor 0044 */ 0045 WSBFormFactor(); 0046 0047 /** @name Form-Factors */ 0048 //@{ 0049 /** 0050 * The form factor for the weak decay of a scalar to a scalar. 0051 * @param q2 The scale \f$q^2\f$. 0052 * @param iloc The location in the form-factor list. 0053 * @param id0 The PDG code of the incoming meson. 0054 * @param id1 The PDG code of the outgoing meson. 0055 * @param m0 The mass of the incoming meson. 0056 * @param m1 The mass of the outgoing meson. 0057 * @param f0 The form-factor \f$f_0\f$. 0058 * @param fp The form-factor \f$f_+\f$. 0059 */ 0060 virtual void ScalarScalarFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1, 0061 Energy m0,Energy m1, 0062 Complex & f0,Complex & fp) const; 0063 0064 /** 0065 * The form factor for the weak decay of a scalar to a vector. 0066 * @param q2 The scale \f$q^2\f$. 0067 * @param iloc The location in the form-factor list. 0068 * @param id0 The PDG code of the incoming meson. 0069 * @param id1 The PDG code of the outgoing meson. 0070 * @param m0 The mass of the incoming meson. 0071 * @param m1 The mass of the outgoing meson. 0072 * @param V The form-factor \f$V\f$ 0073 * @param A0 The form-factor \f$A_0\f$ 0074 * @param A1 The form-factor \f$A_1\f$ 0075 * @param A2 The form-factor \f$A_2\f$ 0076 */ 0077 virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, 0078 Energy m0, Energy m1, Complex & V, 0079 Complex & A0,Complex & A1,Complex & A2) const; 0080 //@} 0081 0082 /** 0083 * Output the setup information for the particle database 0084 * @param os The stream to output the information to 0085 * @param header Whether or not to output the information for MySQL 0086 * @param create Whether or not to add a statement creating the object 0087 */ 0088 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const; 0089 0090 public: 0091 0092 /** @name Functions used by the persistent I/O system. */ 0093 //@{ 0094 /** 0095 * Function used to write out object persistently. 0096 * @param os the persistent output stream written to. 0097 */ 0098 void persistentOutput(PersistentOStream & os) const; 0099 0100 /** 0101 * Function used to read in object persistently. 0102 * @param is the persistent input stream read from. 0103 * @param version the version number of the object when written. 0104 */ 0105 void persistentInput(PersistentIStream & is, int version); 0106 //@} 0107 0108 /** 0109 * Standard Init function used to initialize the interfaces. 0110 */ 0111 static void Init(); 0112 0113 protected: 0114 0115 /** @name Clone Methods. */ 0116 //@{ 0117 /** 0118 * Make a simple clone of this object. 0119 * @return a pointer to the new object. 0120 */ 0121 virtual IBPtr clone() const {return new_ptr(*this);} 0122 0123 /** Make a clone of this object, possibly modifying the cloned object 0124 * to make it sane. 0125 * @return a pointer to the new object. 0126 */ 0127 virtual IBPtr fullclone() const {return new_ptr(*this);} 0128 //@} 0129 0130 protected: 0131 0132 /** @name Standard Interfaced functions. */ 0133 //@{ 0134 0135 /** 0136 * Initialize this object after the setup phase before saving and 0137 * EventGenerator to disk. 0138 * @throws InitException if object could not be initialized properly. 0139 */ 0140 virtual void doinit(); 0141 //@} 0142 0143 private: 0144 0145 /** 0146 * Private and non-existent assignment operator. 0147 */ 0148 WSBFormFactor & operator=(const WSBFormFactor &) = delete; 0149 0150 private: 0151 0152 /** @name Parameters for the form factors */ 0153 //@{ 0154 /** 0155 * The form factor at \f$q^2=0\f$ for scalar decays. 0156 */ 0157 vector<double> _F0; 0158 0159 /** 0160 * the form factor \f$V\f$ at \f$q^2=0\f$ for vector decays. 0161 */ 0162 vector<double> _V; 0163 0164 /** 0165 * the form factor \f$A_0\f$ at \f$q^2=0\f$ for vector decays. 0166 */ 0167 vector<double> _A0; 0168 0169 /** 0170 * the form factor \f$A_1\f$ at \f$q^2=0\f$ for vector decays. 0171 */ 0172 vector<double> _A1; 0173 0174 /** 0175 * the form factor \f$A_2\f$ at \f$q^2=0\f$ for vector decays. 0176 */ 0177 vector<double> _A2; 0178 0179 /** 0180 * Spin-0 mass for the scalar form factors 0181 */ 0182 vector<Energy> _mS0; 0183 0184 /** 0185 * Spin-1 mass for the scalar form factors 0186 */ 0187 vector<Energy> _mS1; 0188 0189 /** 0190 * Spin-0 mass for the vector form factors 0191 */ 0192 vector<Energy> _mV0; 0193 0194 /** 0195 * Spin-1 mass for the vector form factors 0196 */ 0197 vector<Energy> _mV1; 0198 //@} 0199 0200 /** 0201 * The \f$\eta-\eta'\f$ mixing angle 0202 */ 0203 double _thetaeta; 0204 }; 0205 0206 } 0207 0208 #endif /* HERWIG_WSBFormFactor_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|