|
|
|||
File indexing completed on 2026-08-06 09:23:59
0001 // -*- C++ -*- 0002 #ifndef HERWIG_SU3BaryonOctetOctetScalarDecayer_H 0003 #define HERWIG_SU3BaryonOctetOctetScalarDecayer_H 0004 // This is the declaration of the SU3BaryonOctetOctetScalarDecayer class. 0005 0006 #include "Baryon1MesonDecayerBase.h" 0007 0008 namespace Herwig { 0009 using namespace ThePEG; 0010 0011 /** \ingroup Decay 0012 * 0013 * The <code>SU3BaryonOctetOctetScalarDecayer</code> class is a simple decayer for 0014 * the strong decay of the excited baryon \f$SU(3)\f$ octets to lower lying 0015 * baryon octets and a pseudoscalar meson from the lightest 0016 * multiplet, i.e. \f$\pi\f$, \f$K\f$, \f$\eta\f$, etc.. 0017 * 0018 * The interaction Lagrangian is taken to have the form 0019 * 0020 * \f[-\frac{s_d}{4\sqrt{2}f_\pi} \left[{\rm tr} (\bar{R}p_\phi\!\!\!\!\!\!\!\!\not\,\,\,\,\, 0021 * \{\phi,B\})\right] 0022 * -\frac{s_f}{4\sqrt{2}f_\pi} \left[{\rm tr} (\bar{R}p_\phi\!\!\!\!\!\!\!\!\not\,\,\,\,\, 0023 * [\phi,B])\right],\f] 0024 * where \f$R\f$ is the matrix field for the excited resonance, \f$\phi\f$ is the matrix 0025 * field for the pseudoscalar mesons, \f$f_\pi\f$ is the pion decay constant 0026 * and \f$B\f$ is the matrix field for the ground 0027 * state baryon octet for the decay of a spin\f$\frac12\f$ multiplet. 0028 * 0029 * The above form is used for \f$\frac12^-\f$ excited baryon resonances 0030 * and the above form with 0031 * an additional \f$\gamma_5\f$ is used for excited \f$\frac12^+\f$ baryon resonances. 0032 0033 * For the decay of a spin-\f$\frac32\f$ multiplet we use the form 0034 * 0035 * \f[-\frac{s_d}{4\sqrt{2}f_\pi} \left[{\rm tr} (\bar{R}^\mu p_{\phi,\mu}\{\phi,B\})\right] 0036 * -\frac{s_f}{4\sqrt{2}f_\pi} \left[{\rm tr} (\bar{R}^\mu p_{\phi,\mu} [\phi,B])\right],\f] 0037 * where \f$R^\mu\f$ is the matrix field for the excited resonance. This form is used 0038 * for \f$\frac32^+\f$ excited baryon resonances and this form with an additional 0039 * \f$\gamma_5\f$ for excited \f$\frac32^-\f$ resonances. 0040 * 0041 * The decay to spin-\f$\frac32\f$ resonances in not yet implemented but can 0042 * be included if necessary. 0043 * 0044 * This is one of a number of decayers based on \f$SU(3)\f$ symmetry which are 0045 * intended for the decay of excited baryons. 0046 * 0047 * @see Baryon1MesonDecayerBase 0048 * @see SU3BaryonOctetOctetPhotonDecayer 0049 * @see SU3BaryonDecupletOctetPhotonDecayer 0050 * @see SU3BaryonDecupletOctetScalarDecayer 0051 * @see SU3BaryonSingletOctetPhotonDecayer 0052 * @see SU3BaryonSingletOctetScalarDecayer 0053 * @see SU3BaryonOctetDecupletScalarDecayer 0054 * @see SU3BaryonOctetOctetScalarDecayer 0055 * 0056 */ 0057 class SU3BaryonOctetOctetScalarDecayer: public Baryon1MesonDecayerBase { 0058 0059 public: 0060 0061 /** 0062 * Default constructor. 0063 */ 0064 SU3BaryonOctetOctetScalarDecayer(); 0065 0066 /** 0067 * Which of the possible decays is required 0068 * @param cc Is this mode the charge conjugate 0069 * @param parent The decaying particle 0070 * @param children The decay products 0071 */ 0072 virtual int modeNumber(bool & cc, tcPDPtr parent, 0073 const tPDVector & children) const; 0074 0075 /** 0076 * Output the setup information for the particle database 0077 * @param os The stream to output the information to 0078 * @param header Whether or not to output the information for MySQL 0079 */ 0080 virtual void dataBaseOutput(ofstream & os,bool header) const; 0081 0082 public: 0083 0084 /** @name Functions used by the persistent I/O system. */ 0085 //@{ 0086 /** 0087 * Function used to write out object persistently. 0088 * @param os the persistent output stream written to. 0089 */ 0090 void persistentOutput(PersistentOStream & os) const; 0091 0092 /** 0093 * Function used to read in object persistently. 0094 * @param is the persistent input stream read from. 0095 * @param version the version number of the object when written. 0096 */ 0097 void persistentInput(PersistentIStream & is, int version); 0098 //@} 0099 0100 /** 0101 * Standard Init function used to initialize the interfaces. 0102 */ 0103 static void Init(); 0104 0105 protected: 0106 0107 /** 0108 * Coupling Members. 0109 */ 0110 //@{ 0111 /** 0112 * Couplings for spin-\f$\frac12\f$ to spin-\f$\frac12\f$ and a scalar. 0113 * @param imode The mode 0114 * @param m0 The mass of the decaying particle. 0115 * @param m1 The mass of the outgoing baryon. 0116 * @param m2 The mass of the outgoing meson. 0117 * @param A The coupling \f$A\f$ described above. 0118 * @param B The coupling \f$B\f$ described above. 0119 */ 0120 virtual void halfHalfScalarCoupling(int imode,Energy m0,Energy m1,Energy m2, 0121 Complex& A,Complex& B) const; 0122 0123 /** 0124 * Couplings for spin-\f$\frac12\f$ to spin-\f$\frac32\f$ and a scalar. 0125 * @param imode The mode 0126 * @param m0 The mass of the decaying particle. 0127 * @param m1 The mass of the outgoing baryon. 0128 * @param m2 The mass of the outgoing meson. 0129 * @param A The coupling \f$A\f$ described above. 0130 * @param B The coupling \f$B\f$ described above. 0131 */ 0132 virtual void threeHalfHalfScalarCoupling(int imode,Energy m0,Energy m1,Energy m2, 0133 Complex& A,Complex& B) const; 0134 //@} 0135 0136 protected: 0137 0138 /** @name Clone Methods. */ 0139 //@{ 0140 /** 0141 * Make a simple clone of this object. 0142 * @return a pointer to the new object. 0143 */ 0144 virtual IBPtr clone() const { return new_ptr(*this);} 0145 0146 /** Make a clone of this object, possibly modifying the cloned object 0147 * to make it sane. 0148 * @return a pointer to the new object. 0149 */ 0150 virtual IBPtr fullclone() const { return new_ptr(*this);} 0151 //@} 0152 0153 protected: 0154 0155 /** @name Standard Interfaced functions. */ 0156 //@{ 0157 /** 0158 * Initialize this object after the setup phase before saving and 0159 * EventGenerator to disk. 0160 * @throws InitException if object could not be initialized properly. 0161 */ 0162 virtual void doinit(); 0163 0164 /** 0165 * Initialize this object to the begining of the run phase. 0166 */ 0167 virtual void doinitrun(); 0168 //@} 0169 0170 private: 0171 0172 /** 0173 * Private and non-existent assignment operator. 0174 */ 0175 SU3BaryonOctetOctetScalarDecayer & operator=(const SU3BaryonOctetOctetScalarDecayer &) = delete; 0176 0177 private: 0178 0179 /** 0180 * set-up the modes 0181 */ 0182 void setupModes(unsigned int) const; 0183 0184 private: 0185 0186 /** 0187 * The couplings of comutator term. 0188 */ 0189 double _sf; 0190 0191 /** 0192 * The couplings of anticomutator term. 0193 */ 0194 double _sd; 0195 0196 /** 0197 * the relative parities of the two baryon multiplets 0198 */ 0199 bool _parity; 0200 0201 /** 0202 * the pion decay constant 0203 */ 0204 Energy _fpi; 0205 0206 /** 0207 * PDG codes for the lower lying baryon octet baryons 0208 */ 0209 //@{ 0210 /** 0211 * The PDG code for the \f$p\f$-like member of the outgoing octet. 0212 */ 0213 int _proton; 0214 0215 /** 0216 * The PDG code for the \f$n\f$-like member of the outgoing octet. 0217 */ 0218 int _neutron; 0219 0220 /** 0221 * The PDG code for the \f$\Sigma^0\f$-like member of the outgoing octet. 0222 */ 0223 int _sigma0; 0224 0225 /** 0226 * The PDG code for the \f$\Sigma^+\f$-like member of the outgoing octet. 0227 */ 0228 int _sigmap; 0229 0230 /** 0231 * The PDG code for the \f$\Sigma^-\f$-like member of the outgoing octet. 0232 */ 0233 int _sigmam; 0234 0235 /** 0236 * The PDG code for the \f$\Sigma^0\f$-like member of the outgoing octet. 0237 */ 0238 int _lambda; 0239 0240 /** 0241 * The PDG code for the \f$\Xi^0\f$-like member of the outgoing octet. 0242 */ 0243 int _xi0; 0244 0245 /** 0246 * The PDG code for the \f$\Xi^-\f$-like member of the outgoing octet. 0247 */ 0248 int _xim; 0249 //@} 0250 0251 0252 /** 0253 * PDG codes for the higher baryon octet baryons 0254 */ 0255 //@{ 0256 /** 0257 * The PDG code for the \f$p\f$-like member of the outgoing octet. 0258 */ 0259 int _eproton; 0260 0261 /** 0262 * The PDG code for the \f$n\f$-like member of the outgoing octet. 0263 */ 0264 int _eneutron; 0265 0266 /** 0267 * The PDG code for the \f$\Sigma^0\f$-like member of the outgoing octet. 0268 */ 0269 int _esigma0; 0270 0271 /** 0272 * The PDG code for the \f$\Sigma^+\f$-like member of the outgoing octet. 0273 */ 0274 int _esigmap; 0275 0276 /** 0277 * The PDG code for the \f$\Sigma^-\f$-like member of the outgoing octet. 0278 */ 0279 int _esigmam; 0280 0281 /** 0282 * The PDG code for the \f$\Sigma^0\f$-like member of the outgoing octet. 0283 */ 0284 int _elambda; 0285 0286 /** 0287 * The PDG code for the \f$\Xi^0\f$-like member of the outgoing octet. 0288 */ 0289 int _exi0; 0290 0291 /** 0292 * The PDG code for the \f$\Xi^-\f$-like member of the outgoing octet. 0293 */ 0294 int _exim; 0295 //@} 0296 0297 /** 0298 * PDG code for the incoming baryons 0299 */ 0300 mutable vector<int> _incomingB; 0301 0302 /** 0303 * PDG code for the outgoing baryons 0304 */ 0305 mutable vector<int> _outgoingB; 0306 0307 /** 0308 * PDG code for the outgoing mesons 0309 */ 0310 mutable vector<int> _outgoingM; 0311 0312 /** 0313 * the maximum weight for the various modes 0314 */ 0315 vector<double> _maxweight; 0316 0317 /** 0318 * The couplings for the different modes 0319 */ 0320 mutable vector<InvEnergy> _prefactor; 0321 0322 }; 0323 0324 } 0325 0326 0327 #endif /* HERWIG_SU3BaryonOctetOctetScalarDecayer_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|