|
|
|||
File indexing completed on 2026-08-06 09:23:59
0001 // -*- C++ -*- 0002 #ifndef THEPEG_SU3BaryonSingletOctetPhotonDecayer_H 0003 #define THEPEG_SU3BaryonSingletOctetPhotonDecayer_H 0004 // This is the declaration of the SU3BaryonSingletOctetPhotonDecayer class. 0005 0006 #include "Baryon1MesonDecayerBase.h" 0007 0008 namespace Herwig { 0009 using namespace ThePEG; 0010 0011 /** \ingroup Decay 0012 * 0013 * The <code>SU3BaryonSingletOctetPhotonDecayer</code> class performs the 0014 * radiative decay of an \f$SU(3)\f$ singlet baryon to an \f$SU(3)\f$ octet baryon. 0015 * 0016 * The Lagrangian is taken to be 0017 * \f[iC\left[ {\rm tr}\left(\bar{S}\sigma_{\mu\nu}f^{\mu\nu}_+,B\right) 0018 * +{\rm tr}\left(\bar{B}\sigma_{\mu\nu}f^{\mu\nu}_+,S\right) 0019 * \right] 0020 * \f] 0021 * where \f$B\f$ is the matrix field for the ground state baryon multiplet, \f$S\f$ 0022 * is the singlet field and \f$f^{\mu\nu}_+\f$ is the chiral 0023 * field strength tensor for the electromagentic field given by 0024 * \f[ f^{\mu\nu}_+ = Q F^{\mu\nu} = \left(\begin{array}{ccc}\frac23&0&0\\ 0025 * 0&-\frac13&0\\ 0026 * 0&0&-\frac13 0027 * \end{array}\right) F^{\mu\nu},\f] 0028 * where \f$F^{\mu\nu}\f$ is the electromagentic field strength tensor. 0029 * This form is used for the case where both the singlet and the baryon multiplet 0030 * have the same parity and 0031 * an additional \f$\gamma_5\f$ is added for the case where the multiplets have 0032 * opposite parity. 0033 * 0034 * For the decay of spin-\f$\frac32\f$ baryons we use the form 0035 * \f[ 0036 * ir_d\left[ {\rm tr}\left(\bar{S}^\mu\gamma_\nu f^{\mu\nu}_+,B\right) 0037 * +{\rm tr}\left(\bar{B}\gamma_\nu f^{\mu\nu}_+,S^\mu\right) 0038 * \right],\f] 0039 * where \f$S^\mu\f$ is the matrix field for the excited baryon multiplet. 0040 * This form is used when the baryon's have the same parity and this form with 0041 * an additional \f$\gamma_5\f$ when they have opposite parity. 0042 * 0043 * This is one of a number of decayers based on \f$SU(3)\f$ symmetry which are 0044 * intended for the decay of excited baryons. 0045 * 0046 * @see Baryon1MesonDecayerBase 0047 * @see SU3BaryonOctetOctetPhotonDecayer 0048 * @see SU3BaryonDecupletOctetPhotonDecayer 0049 * @see SU3BaryonDecupletOctetScalarDecayer 0050 * @see SU3BaryonSingletOctetPhotonDecayer 0051 * @see SU3BaryonSingletOctetScalarDecayer 0052 * @see SU3BaryonOctetDecupletScalarDecayer 0053 * @see SU3BaryonOctetOctetScalarDecayer 0054 */ 0055 class SU3BaryonSingletOctetPhotonDecayer: public Baryon1MesonDecayerBase { 0056 0057 public: 0058 0059 /** 0060 * Default constructor. 0061 */ 0062 SU3BaryonSingletOctetPhotonDecayer(); 0063 0064 /** 0065 * Which of the possible decays is required 0066 * @param cc Is this mode the charge conjugate 0067 * @param parent The decaying particle 0068 * @param children The decay products 0069 */ 0070 virtual int modeNumber(bool & cc, tcPDPtr parent, 0071 const tPDVector & children) const; 0072 0073 /** 0074 * Output the setup information for the particle database 0075 * @param os The stream to output the information to 0076 * @param header Whether or not to output the information for MySQL 0077 */ 0078 virtual void dataBaseOutput(ofstream & os,bool header) 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 * Standard Init function used to initialize the interfaces. 0100 */ 0101 static void Init(); 0102 0103 protected: 0104 0105 /** 0106 * Coupling Members. 0107 */ 0108 //@{ 0109 /** 0110 * Couplings for spin-\f$\frac12\f$ to spin-\f$\frac12\f$ and a vector. 0111 * @param imode The mode 0112 * @param m0 The mass of the decaying particle. 0113 * @param m1 The mass of the outgoing baryon. 0114 * @param m2 The mass of the outgoing meson. 0115 * @param A1 The coupling \f$A_1\f$ described above. 0116 * @param A2 The coupling \f$A_2\f$ described above. 0117 * @param B1 The coupling \f$B_1\f$ described above. 0118 * @param B2 The coupling \f$B_2\f$ described above. 0119 */ 0120 virtual void halfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2, 0121 Complex& A1,Complex& A2, 0122 Complex& B1,Complex& B2) const; 0123 0124 /** 0125 * Couplings for spin-\f$\frac12\f$ to spin-\f$\frac32\f$ and a vector. 0126 * @param imode The mode 0127 * @param m0 The mass of the decaying particle. 0128 * @param m1 The mass of the outgoing baryon. 0129 * @param m2 The mass of the outgoing meson. 0130 * @param A1 The coupling \f$A_1\f$ described above. 0131 * @param A2 The coupling \f$A_2\f$ described above. 0132 * @param A3 The coupling \f$A_3\f$ described above. 0133 * @param B1 The coupling \f$B_1\f$ described above. 0134 * @param B2 The coupling \f$B_2\f$ described above. 0135 * @param B3 The coupling \f$B_3\f$ described above. 0136 */ 0137 virtual void threeHalfHalfVectorCoupling(int imode,Energy m0,Energy m1,Energy m2, 0138 Complex& A1,Complex& A2,Complex& A3, 0139 Complex& B1,Complex& B2,Complex& B3) const; 0140 //@} 0141 0142 protected: 0143 0144 /** @name Clone Methods. */ 0145 //@{ 0146 /** 0147 * Make a simple clone of this object. 0148 * @return a pointer to the new object. 0149 */ 0150 virtual IBPtr clone() const {return new_ptr(*this);} 0151 0152 /** Make a clone of this object, possibly modifying the cloned object 0153 * to make it sane. 0154 * @return a pointer to the new object. 0155 */ 0156 virtual IBPtr fullclone() const {return new_ptr(*this);} 0157 //@} 0158 0159 protected: 0160 0161 /** @name Standard Interfaced functions. */ 0162 //@{ 0163 /** 0164 * Initialize this object after the setup phase before saving and 0165 * EventGenerator to disk. 0166 * @throws InitException if object could not be initialized properly. 0167 */ 0168 virtual void doinit(); 0169 0170 /** 0171 * Initialize this object to the begining of the run phase. 0172 */ 0173 virtual void doinitrun(); 0174 //@} 0175 0176 private: 0177 0178 /** 0179 * Private and non-existent assignment operator. 0180 */ 0181 SU3BaryonSingletOctetPhotonDecayer & operator=(const SU3BaryonSingletOctetPhotonDecayer &) = delete; 0182 0183 private: 0184 0185 /** 0186 * set-up the modes 0187 */ 0188 void setupModes(unsigned int) const; 0189 0190 private: 0191 0192 /** 0193 * the coupling 0194 */ 0195 InvEnergy _c; 0196 0197 /** 0198 * the relative parities of the two baryon multiplets 0199 */ 0200 bool _parity; 0201 0202 /** 0203 * PDG codes for the lower lying baryon octet baryons 0204 */ 0205 //@{ 0206 /** 0207 * The PDG code for the \f$\Sigma^0\f$-like member of the outgoing octet. 0208 */ 0209 int _sigma0; 0210 0211 /** 0212 * The PDG code for the \f$\Sigma^0\f$-like member of the outgoing octet. 0213 */ 0214 int _lambda; 0215 0216 /** 0217 * PDG code for the various excited baryon 0218 */ 0219 int _elambda; 0220 0221 /** 0222 * outgoing baryon for the various modes 0223 */ 0224 mutable vector<int> _outgoingB; 0225 0226 /** 0227 * the maximum weight for the various modes 0228 */ 0229 vector<double> _maxweight; 0230 0231 /** 0232 * The couplings for the different modes. 0233 */ 0234 mutable vector<InvEnergy> _prefactor; 0235 }; 0236 0237 } 0238 0239 0240 #endif /* THEPEG_SU3BaryonSingletOctetPhotonDecayer_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|