|
|
|||
File indexing completed on 2026-08-06 09:24:00
0001 // -*- C++ -*- 0002 #ifndef Herwig_CzyzNucleonFormFactor_H 0003 #define Herwig_CzyzNucleonFormFactor_H 0004 // 0005 // This is the declaration of the CzyzNucleonFormFactor class. 0006 // 0007 0008 #include "BaryonFormFactor.h" 0009 0010 namespace Herwig { 0011 0012 using namespace ThePEG; 0013 0014 /** 0015 * The CzyzNucleonFormFactor class implements the model of 0016 * Phys.Rev. D90 (2014) no.11, 114021 for the proton and neutron form factors 0017 * 0018 * @see \ref CzyzNucleonFormFactorInterfaces "The interfaces" 0019 * defined for CzyzNucleonFormFactor. 0020 */ 0021 class CzyzNucleonFormFactor: public BaryonFormFactor { 0022 0023 public: 0024 0025 /** 0026 * The default constructor. 0027 */ 0028 CzyzNucleonFormFactor(); 0029 0030 /** 0031 * The form factor for the weak decay of a spin \f$\frac12\f$ baryon to a 0032 * spin \f$\frac12\f$ baryon. 0033 * @param q2 The scale \f$q^2\f$. 0034 * @param iloc The location in the form factor list. 0035 * @param id0 The PDG code of the incoming baryon. 0036 * @param id1 The PDG code of the outgoing baryon. 0037 * @param m0 The mass of the incoming baryon. 0038 * @param m1 The mass of the outgoing baryon. 0039 * @param f1v The form factor \f$F^V_1\f$. 0040 * @param f2v The form factor \f$F^V_2\f$. 0041 * @param f3v The form factor \f$F^V_3\f$. 0042 * @param f1a The form factor \f$F^A_1\f$. 0043 * @param f2a The form factor \f$F^A_2\f$. 0044 * @param f3a The form factor \f$F^A_3\f$. 0045 * @param virt Whether the q2 is space or timelike 0046 */ 0047 virtual void SpinHalfSpinHalfFormFactor(Energy2 q2,int iloc, int id0, int id1, 0048 Energy m0, Energy m1, 0049 Complex & f1v,Complex & f2v,Complex & f3v, 0050 Complex & f1a,Complex & f2a,Complex & f3a, 0051 FlavourInfo flavour, 0052 Virtuality virt=SpaceLike); 0053 0054 /** 0055 * Output the setup information for the particle database 0056 * @param os The stream to output the information to 0057 * @param header Whether or not to output the information for MySQL 0058 * @param create Whether or not to add a statement creating the object 0059 */ 0060 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const; 0061 0062 public: 0063 0064 /** @name Functions used by the persistent I/O system. */ 0065 //@{ 0066 /** 0067 * Function used to write out object persistently. 0068 * @param os the persistent output stream written to. 0069 */ 0070 void persistentOutput(PersistentOStream & os) const; 0071 0072 /** 0073 * Function used to read in object persistently. 0074 * @param is the persistent input stream read from. 0075 * @param version the version number of the object when written. 0076 */ 0077 void persistentInput(PersistentIStream & is, int version); 0078 //@} 0079 0080 /** 0081 * The standard Init function used to initialize the interfaces. 0082 * Called exactly once for each class by the class description system 0083 * before the main function starts or 0084 * when this class is dynamically loaded. 0085 */ 0086 static void Init(); 0087 0088 protected: 0089 0090 /** @name Clone Methods. */ 0091 //@{ 0092 /** 0093 * Make a simple clone of this object. 0094 * @return a pointer to the new object. 0095 */ 0096 virtual IBPtr clone() const; 0097 0098 /** Make a clone of this object, possibly modifying the cloned object 0099 * to make it sane. 0100 * @return a pointer to the new object. 0101 */ 0102 virtual IBPtr fullclone() const; 0103 //@} 0104 0105 protected: 0106 0107 /** 0108 * Initialize this object after the setup phase before saving an 0109 * EventGenerator to disk. 0110 * @throws InitException if object could not be initialized properly. 0111 */ 0112 virtual void doinit(); 0113 0114 private: 0115 0116 /** 0117 * The assignment operator is private and must never be called. 0118 * In fact, it should not even be implemented. 0119 */ 0120 CzyzNucleonFormFactor & operator=(const CzyzNucleonFormFactor &) = delete; 0121 0122 private: 0123 0124 /** 0125 * The masses of the \f$\rho\f$ resonances 0126 */ 0127 vector<Energy> rhoMasses_; 0128 0129 /** 0130 * The widths of the \f$\rho\f$ resonances 0131 */ 0132 vector<Energy> rhoWidths_; 0133 0134 /** 0135 * The masses of the \f$\omega\f$ resonances 0136 */ 0137 vector<Energy> omegaMasses_; 0138 0139 /** 0140 * The widths of the \f$\omega\f$ resonances 0141 */ 0142 vector<Energy> omegaWidths_; 0143 0144 /** 0145 * The real part of the \f$c_1\f$ couplings 0146 */ 0147 vector<double> c1Re_; 0148 0149 /** 0150 * The imaginary part of the \f$c_1\f$ couplings 0151 */ 0152 vector<double> c1Im_; 0153 0154 /** 0155 * The real part of the \f$c_2\f$ couplings 0156 */ 0157 vector<double> c2Re_; 0158 0159 /** 0160 * The imaginary part of the \f$c_2\f$ couplings 0161 */ 0162 vector<double> c2Im_; 0163 0164 /** 0165 * The real part of the \f$c_3\f$ couplings 0166 */ 0167 vector<double> c3Re_; 0168 0169 /** 0170 * The imaginary part of the \f$c_3\f$ couplings 0171 */ 0172 vector<double> c3Im_; 0173 0174 /** 0175 * The real part of the \f$c_4\f$ couplings 0176 */ 0177 vector<double> c4Re_; 0178 0179 /** 0180 * The imaginary part of the \f$c_4\f$ couplings 0181 */ 0182 vector<double> c4Im_; 0183 0184 /** 0185 * The complex \f$c_1\f$ coupling 0186 */ 0187 vector<Complex> c1_; 0188 0189 /** 0190 * The complex \f$c_2\f$ coupling 0191 */ 0192 vector<Complex> c2_; 0193 0194 /** 0195 * The complex \f$c_3\f$ coupling 0196 */ 0197 vector<Complex> c3_; 0198 0199 /** 0200 * The complex \f$c_4\f$ coupling 0201 */ 0202 vector<Complex> c4_; 0203 0204 /** 0205 * Proton magentic moment 0206 */ 0207 double mup_; 0208 0209 /** 0210 * Neutron magentic moment 0211 */ 0212 double mun_; 0213 0214 /** 0215 * \f$a\f$ parameter 0216 */ 0217 double a_; 0218 0219 /** 0220 * \f$b\f$ parameter 0221 */ 0222 double b_; 0223 }; 0224 0225 } 0226 0227 #endif /* Herwig_CzyzNucleonFormFactor_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|