|
|
|||
File indexing completed on 2026-08-06 09:24:00
0001 // -*- C++ -*- 0002 // 0003 // MelikhovFormFactor.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_MelikhovFormFactor_H 0010 #define HERWIG_MelikhovFormFactor_H 0011 // 0012 // This is the declaration of the MelikhovFormFactor class. 0013 // 0014 0015 #include "ScalarFormFactor.h" 0016 0017 namespace Herwig { 0018 using namespace ThePEG; 0019 0020 /** \ingroup Decay 0021 * 0022 * The MelikhovFormFactor class implements the model of Phys. Lett. B 380 (1996) 363 0023 * for the form factors for \f$B\to\pi,\rho\f$. 0024 * 0025 * @see ScalarFormFactor 0026 * 0027 */ 0028 class MelikhovFormFactor: public ScalarFormFactor { 0029 0030 public: 0031 0032 /** 0033 * The default constructor. 0034 */ 0035 MelikhovFormFactor(); 0036 0037 /** @name Form-Factors */ 0038 //@{ 0039 /** 0040 * The form factor for the weak decay of a scalar to a scalar. 0041 * @param q2 The scale \f$q^2\f$. 0042 * @param iloc The location in the form-factor list. 0043 * @param id0 The PDG code of the incoming meson. 0044 * @param id1 The PDG code of the outgoing meson. 0045 * @param m0 The mass of the incoming meson. 0046 * @param m1 The mass of the outgoing meson. 0047 * @param f0 The form-factor \f$f_0\f$. 0048 * @param fp The form-factor \f$f_+\f$. 0049 */ 0050 virtual void ScalarScalarFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1, 0051 Energy m0,Energy m1, 0052 Complex & f0,Complex & fp) const; 0053 0054 /** 0055 * The form factor for the weak decay of a scalar to a vector. 0056 * @param q2 The scale \f$q^2\f$. 0057 * @param iloc The location in the form-factor list. 0058 * @param id0 The PDG code of the incoming meson. 0059 * @param id1 The PDG code of the outgoing meson. 0060 * @param m0 The mass of the incoming meson. 0061 * @param m1 The mass of the outgoing meson. 0062 * @param V The form-factor \f$V\f$ 0063 * @param A0 The form-factor \f$A_0\f$ 0064 * @param A1 The form-factor \f$A_1\f$ 0065 * @param A2 The form-factor \f$A_2\f$ 0066 */ 0067 virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, 0068 Energy m0, Energy m1, Complex & V, 0069 Complex & A0,Complex & A1,Complex & A2) const; 0070 //@} 0071 0072 /** 0073 * Output the setup information for the particle database 0074 * @param os The stream to output the information to 0075 * @param header Whether or not to output the information for MySQL 0076 * @param create Whether or not to add a statement creating the object 0077 */ 0078 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const; 0079 0080 public: 0081 0082 /** @name Functions used by the persistent I/O system. */ 0083 //@{ 0084 /** 0085 * Function used to write out object persistently. 0086 * @param os the persistent output stream written to. 0087 */ 0088 void persistentOutput(PersistentOStream & os) const; 0089 0090 /** 0091 * Function used to read in object persistently. 0092 * @param is the persistent input stream read from. 0093 * @param version the version number of the object when written. 0094 */ 0095 void persistentInput(PersistentIStream & is, int version); 0096 //@} 0097 0098 /** 0099 * The standard Init function used to initialize the interfaces. 0100 * Called exactly once for each class by the class description system 0101 * before the main function starts or 0102 * when this class is dynamically loaded. 0103 */ 0104 static void Init(); 0105 0106 protected: 0107 0108 /** @name Clone Methods. */ 0109 //@{ 0110 /** 0111 * Make a simple clone of this object. 0112 * @return a pointer to the new object. 0113 */ 0114 virtual IBPtr clone() const {return new_ptr(*this);} 0115 0116 /** Make a clone of this object, possibly modifying the cloned object 0117 * to make it sane. 0118 * @return a pointer to the new object. 0119 */ 0120 virtual IBPtr fullclone() const {return new_ptr(*this);} 0121 //@} 0122 0123 protected: 0124 0125 /** @name Standard Interfaced functions. */ 0126 //@{ 0127 /** 0128 * Initialize this object after the setup phase before saving and 0129 * EventGenerator to disk. 0130 * @throws InitException if object could not be initialized properly. 0131 */ 0132 virtual void doinit(); 0133 //@} 0134 0135 private: 0136 0137 /** 0138 * The assignment operator is private and must never be called. 0139 * In fact, it should not even be implemented. 0140 */ 0141 MelikhovFormFactor & operator=(const MelikhovFormFactor &) = delete; 0142 0143 private: 0144 0145 /** @name Parameters for the form factors */ 0146 //@{ 0147 /** 0148 * The set of fit parameters to use 0149 */ 0150 unsigned int _ifit; 0151 0152 /** 0153 * The value of \f$R_+(0)\f$ for the \f$B\to\pi\f$ form factor. 0154 */ 0155 double _Rplus0; 0156 0157 /** 0158 * The value of \f$M_+\f$ for the \f$B\to\pi\f$ form factor. 0159 */ 0160 Energy _Mplus; 0161 0162 /** 0163 * The value of \f$n_+\f$ for the \f$B\to\pi\f$ form factor. 0164 */ 0165 double _nplus; 0166 0167 /** 0168 * The value of \f$R_V(0)\f$ for the \f$B\to\rho\f$ form factor. 0169 */ 0170 double _RV0; 0171 0172 /** 0173 * The value of \f$M_V\f$ for the \f$B\to\rho\f$ form factor. 0174 */ 0175 Energy _MV; 0176 0177 /** 0178 * The value of \f$n_V\f$ for the \f$B\to\rho\f$ form factor. 0179 */ 0180 double _nV; 0181 0182 /** 0183 * The value of \f$R_1(0)\f$ for the \f$B\to\rho\f$ form factor. 0184 */ 0185 double _R10; 0186 0187 /** 0188 * The value of \f$M_1\f$ for the \f$B\to\rho\f$ form factor. 0189 */ 0190 Energy _M1; 0191 0192 /** 0193 * The value of \f$n_1\f$ for the \f$B\to\rho\f$ form factor. 0194 */ 0195 double _n1; 0196 0197 /** 0198 * The value of \f$R_2(0)\f$ for the \f$B\to\rho\f$ form factor. 0199 */ 0200 double _R20; 0201 0202 /** 0203 * The value of \f$M_2\f$ for the \f$B\to\rho\f$ form factor. 0204 */ 0205 Energy _M2; 0206 0207 /** 0208 * The value of \f$n_2\f$ for the \f$B\to\rho\f$ form factor. 0209 */ 0210 double _n2; 0211 //@} 0212 }; 0213 0214 } 0215 0216 #endif /* HERWIG_MelikhovFormFactor_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|