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