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