Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer 3 // * License and Disclaimer * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/ 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. 9 // * include a list of copyright holders. * 10 // * 10 // * * 11 // * Neither the authors of this software syst 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitatio 16 // * for the full disclaimer and the limitation of liability. * 17 // * 17 // * * 18 // * This code implementation is the result 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboratio 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distri 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you ag 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publicati 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Sof 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************* 24 // ******************************************************************** 25 // 25 // >> 26 // >> 27 // >> 28 // 26 // ------------------------------------------- 29 // -------------------------------------------------------------- 27 // GEANT 4 class implementation file << 30 // GEANT 4 class implementation file 28 // History: first implementation, based o 31 // History: first implementation, based on object model of 29 // 10 oct 1998 H.Kurashige 32 // 10 oct 1998 H.Kurashige 30 // ------------------------------------------- 33 // --------------------------------------------------------------- 31 // 01 Oct. 02 Fixed PDG codes for a0(1450), 34 // 01 Oct. 02 Fixed PDG codes for a0(1450), f0(1370), k0_star(1430) 32 // << 33 // Update mass and width following PDG 2023 << 34 35 35 #include "G4ExcitedMesonConstructor.hh" 36 #include "G4ExcitedMesonConstructor.hh" 36 37 37 #include "G4DecayTable.hh" << 38 #include "G4SystemOfUnits.hh" 38 #include "G4ExcitedMesons.hh" << 39 #include "G4ParticleDefinition.hh" 39 #include "G4ParticleTable.hh" 40 #include "G4ParticleTable.hh" 40 #include "G4PhaseSpaceDecayChannel.hh" 41 #include "G4PhaseSpaceDecayChannel.hh" 41 #include "G4SystemOfUnits.hh" << 42 #include "G4VDecayChannel.hh" 42 #include "G4VDecayChannel.hh" >> 43 #include "G4DecayTable.hh" >> 44 >> 45 >> 46 G4ExcitedMesonConstructor::G4ExcitedMesonConstructor(G4int , >> 47 G4int ) >> 48 : type("meson"), leptonNumber(0), baryonNumber(0) >> 49 { >> 50 } 43 51 44 G4ExcitedMesonConstructor::G4ExcitedMesonConst << 52 G4ExcitedMesonConstructor::~G4ExcitedMesonConstructor() >> 53 { >> 54 } 45 55 46 void G4ExcitedMesonConstructor::Construct(G4in 56 void G4ExcitedMesonConstructor::Construct(G4int idx) 47 { 57 { 48 G4int iType; 58 G4int iType; 49 if (idx < 0) { << 59 if (idx < 0 ) { 50 for (G4int state = 0; state < NMultiplets; << 60 for (G4int state=0; state< NMultiplets; state +=1) { 51 for (iType = 0; iType < NMesonTypes; iTy << 61 for (iType = 0; iType < NMesonTypes ; iType++) 52 ConstructMesons(state, iType); << 62 ConstructMesons(state, iType); 53 } << 63 } 54 } << 64 } else if (idx < NMultiplets ) { 55 else if (idx < NMultiplets) { << 65 for (iType = 0; iType < NMesonTypes ; iType++) 56 for (iType = 0; iType < NMesonTypes; iType << 66 ConstructMesons(idx, iType); 57 ConstructMesons(idx, iType); << 67 } else { 58 } << 59 else { << 60 #ifdef G4VERBOSE 68 #ifdef G4VERBOSE 61 if (G4ParticleTable::GetParticleTable()->G << 69 if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>1) { 62 G4cerr << "G4ExcitedMesonConstructor::Co 70 G4cerr << "G4ExcitedMesonConstructor::Construct()"; 63 G4cerr << " illegal index os state = " 71 G4cerr << " illegal index os state = " << idx << G4endl; 64 } 72 } 65 #endif 73 #endif 66 } 74 } 67 } 75 } 68 76 69 G4bool G4ExcitedMesonConstructor::Exist(G4int 77 G4bool G4ExcitedMesonConstructor::Exist(G4int idxState, G4int idxType) 70 { 78 { 71 G4bool value = true; 79 G4bool value = true; 72 if (idxType == TEtaPrime) { << 80 if ( idxType == TEtaPrime ) { 73 if (idxState == N13P0) value = false; << 81 if (idxState==N13P0) value = false; 74 if (idxState == N13D1) value = false; << 82 if (idxState==N13D1) value = false; 75 } << 83 } else if ( idxType == TPi ) { 76 else if (idxType == TPi) { << 84 if (idxState==N23P2) value = false; 77 if (idxState == N23P2) value = false; << 78 } 85 } 79 return value; 86 return value; 80 } 87 } 81 88 >> 89 #include "G4ExcitedMesons.hh" >> 90 82 void G4ExcitedMesonConstructor::ConstructMeson 91 void G4ExcitedMesonConstructor::ConstructMesons(G4int iState, G4int iType) 83 { 92 { 84 if (!Exist(iState, iType)) return; << 93 if (!Exist(iState, iType) ) return; 85 94 86 // Construct Resonace particles as dynami 95 // Construct Resonace particles as dynamic object 87 // Arguments for constructor are as follo 96 // Arguments for constructor are as follows 88 // name mass << 97 // name mass width 89 // charge 2*spin << 98 // charge 2*spin 90 // parity C-conjugation 99 // parity C-conjugation 91 // 2*Isospin 2*Isospin3 << 100 // 2*Isospin 2*Isospin3 92 // G-parity 101 // G-parity 93 // type lepton number Bary << 102 // type lepton number Baryon number 94 // PDG encoding 103 // PDG encoding 95 // stable lifetime de << 104 // stable lifetime decay table 96 << 105 >> 106 97 G4String aName; 107 G4String aName; 98 G4ExcitedMesons* particle; 108 G4ExcitedMesons* particle; 99 << 109 100 for (G4int iIso3 = (-1) * iIsoSpin[iType]; i << 110 for ( G4int iIso3=(-1)*iIsoSpin[iType]; iIso3<=iIsoSpin[iType]; iIso3+=2) { 101 aName = GetName(iIso3, iState, iType); << 111 aName= GetName(iIso3, iState, iType); 102 G4double fmass = mass[iState][iType]; << 112 G4double fmass = mass[iState][iType]; 103 G4double fwidth = width[iState][iType]; 113 G4double fwidth = width[iState][iType]; 104 if ((iType == TK) || (iType == TAntiK)) { << 114 if ( (iType== TK) || (iType==TAntiK ) ) { 105 if (GetCharge(iIso3, iType) == 0.0) { << 115 if ( GetCharge(iIso3,iType) == 0.0) { 106 fmass += massKdiff[iState]; << 116 fmass += massKdiff[iState]; 107 fwidth += widthKdiff[iState]; << 117 fwidth += widthKdiff[iState]; 108 } 118 } 109 } << 119 } 110 << 120 particle = new G4ExcitedMesons( 111 // clang-format off << 121 aName, fmass, fwidth, 112 particle = new G4ExcitedMesons( << 113 aName, fmass, fwidth, << 114 GetCharge(iIso3,iType), i 122 GetCharge(iIso3,iType), iSpin[iState], 115 iParity[iState], iChargeConjugation[i 123 iParity[iState], iChargeConjugation[iState], 116 iIsoSpin[iType], << 124 iIsoSpin[iType], iIso3, 117 iGParity[iState][iType], 125 iGParity[iState][iType], 118 type, leptonNumb << 126 type, leptonNumber, baryonNumber, 119 GetEncoding(iIso3, iState, iType), 127 GetEncoding(iIso3, iState, iType), 120 false, 0 << 128 false, 0.0, NULL 121 ); 129 ); 122 // clang-format on << 123 130 124 if ((iType == TEta) || (iType == TEtaPrime << 131 if ( (iType==TEta) || (iType==TEtaPrime) || ((iType==TPi)&&(iIso3==0)) ) { 125 // set same encoding for AntiParticle << 132 // set same encoding for AntiParticle 126 particle->SetAntiPDGEncoding(GetEncoding 133 particle->SetAntiPDGEncoding(GetEncoding(iIso3, iState, iType)); 127 } 134 } 128 particle->SetMultipletName(name[iState][iT 135 particle->SetMultipletName(name[iState][iType]); 129 particle->SetDecayTable(CreateDecayTable(a << 136 particle->SetDecayTable(CreateDecayTable( aName, iIso3, iState, iType)); 130 } 137 } 131 } 138 } 132 139 133 G4int G4ExcitedMesonConstructor::GetQuarkConte << 140 >> 141 G4int G4ExcitedMesonConstructor::GetQuarkContents(G4int iQ, >> 142 G4int iIso3, >> 143 G4int iType) 134 { 144 { 135 // Quark contents 145 // Quark contents 136 146 137 G4int quark = 0; << 147 G4int quark=0; 138 if (iType == TPi) { 148 if (iType == TPi) { 139 if (iIso3 == 2) { << 149 if ( iIso3 == 2 ){ 140 if (iQ == 0) { << 150 if ( iQ == 0 ){ quark = 2; } 141 quark = 2; << 151 else { quark = 1; } 142 } << 152 } else if ( iIso3 == 0 ){ 143 else { << 144 quark = 1; << 145 } << 146 } << 147 else if (iIso3 == 0) { << 148 quark = 1; 153 quark = 1; >> 154 } else if ( iIso3 == -2 ){ >> 155 if ( iQ == 0 ){ quark = 1; } >> 156 else { quark = 2; } 149 } 157 } 150 else if (iIso3 == -2) { << 158 } else if (iType == TEta) { 151 if (iQ == 0) { << 152 quark = 1; << 153 } << 154 else { << 155 quark = 2; << 156 } << 157 } << 158 } << 159 else if (iType == TEta) { << 160 quark = 2; 159 quark = 2; 161 } << 160 162 else if (iType == TEtaPrime) { << 161 } else if (iType == TEtaPrime) { 163 quark = 3; 162 quark = 3; 164 } << 163 165 else if (iType == TAntiK) { << 164 } else if (iType == TAntiK) { 166 if (iIso3 == 1) { << 165 if ( iIso3 == 1 ){ 167 if (iQ == 0) { << 166 if ( iQ == 0 ){ quark = 3; } 168 quark = 3; << 167 else { quark = 1; } 169 } << 168 } else if ( iIso3 == -1 ){ 170 else { << 169 if ( iQ == 0 ){ quark = 3; } 171 quark = 1; << 170 else { quark = 2; } 172 } << 171 } 173 } << 172 174 else if (iIso3 == -1) { << 173 } else if (iType == TK) { 175 if (iQ == 0) { << 174 if ( iIso3 == 1 ){ 176 quark = 3; << 175 if ( iQ == 0 ){ quark = 2; } 177 } << 176 else { quark = 3; } 178 else { << 177 } else if ( iIso3 == -1 ){ 179 quark = 2; << 178 if ( iQ == 0 ){ quark = 1; } 180 } << 179 else { quark = 3; } 181 } << 182 } << 183 else if (iType == TK) { << 184 if (iIso3 == 1) { << 185 if (iQ == 0) { << 186 quark = 2; << 187 } << 188 else { << 189 quark = 3; << 190 } << 191 } << 192 else if (iIso3 == -1) { << 193 if (iQ == 0) { << 194 quark = 1; << 195 } << 196 else { << 197 quark = 3; << 198 } << 199 } 180 } >> 181 200 } 182 } 201 return quark; 183 return quark; 202 } 184 } 203 185 204 G4double G4ExcitedMesonConstructor::GetCharge( << 186 G4double G4ExcitedMesonConstructor::GetCharge(G4int iIsoSpin3, G4int idxType ) 205 { 187 { 206 // clang-format off << 188 static const G4double quark_charge[7] = 207 static const G4double quark_charge[7] = << 208 { 189 { 209 0., -1./3., +2./3., -1./3., +2./3., -1./3. 190 0., -1./3., +2./3., -1./3., +2./3., -1./3., +2./3. 210 }; 191 }; 211 // clang-format on << 192 212 << 193 G4double charge = quark_charge[GetQuarkContents(0, iIsoSpin3, idxType)]*eplus; 213 G4double charge = quark_charge[GetQuarkConte << 194 charge -= quark_charge[GetQuarkContents(1, iIsoSpin3, idxType)]*eplus; 214 charge -= quark_charge[GetQuarkContents(1, i << 215 return charge; 195 return charge; 216 } 196 } 217 197 218 G4int G4ExcitedMesonConstructor::GetEncoding(G << 198 G4int G4ExcitedMesonConstructor::GetEncoding(G4int iIsoSpin3, >> 199 G4int idxState, >> 200 G4int idxType ) 219 { 201 { 220 G4int encoding = encodingOffset[idxState]; 202 G4int encoding = encodingOffset[idxState]; 221 encoding += iSpin[idxState] + 1; << 203 encoding += iSpin[idxState] +1; 222 G4int iQ = 0; 204 G4int iQ = 0; 223 G4int iQbar = 1; 205 G4int iQbar = 1; 224 206 225 if (idxType == TPi) { << 207 if ( idxType == TPi ) { 226 if (iIsoSpin3 < 0) { << 208 if (iIsoSpin3<0) { 227 iQ = 1; 209 iQ = 1; 228 iQbar = 0; << 210 iQbar = 0; 229 } 211 } 230 } << 212 } else if ( idxType == TK ) { 231 else if (idxType == TK) { << 232 iQ = 1; 213 iQ = 1; 233 iQbar = 0; << 214 iQbar = 0; 234 } 215 } 235 216 236 encoding += 100 * GetQuarkContents(iQ, iIsoS << 217 237 encoding += 10 * GetQuarkContents(iQbar, iIs << 218 encoding += 100*GetQuarkContents(iQ, iIsoSpin3, idxType); 238 if (idxType == TPi) { << 219 encoding += 10*GetQuarkContents(iQbar, iIsoSpin3, idxType); 239 if (iIsoSpin3 < 0) { << 220 if ( idxType == TPi ) { 240 encoding *= -1; << 221 if (iIsoSpin3<0) { >> 222 encoding *= -1; 241 } 223 } 242 } << 224 } else if ( idxType == TAntiK ) { 243 else if (idxType == TAntiK) { << 225 encoding *= -1; 244 encoding *= -1; << 245 } 226 } 246 227 247 // PDG2005 << 228 // PDG2005 248 // << 229 // 249 if (idxState == 9) { << 230 if (idxState == 9 ) { 250 if (idxType == TEta) { 231 if (idxType == TEta) { 251 // f2(1810) 9030225 << 232 // f2(1810) 9030225 252 encoding = 9030225; 233 encoding = 9030225; 253 } << 234 } else if (idxType == TEtaPrime) { 254 else if (idxType == TEtaPrime) { << 235 // f2(2010) 9060225 255 // f2(2010) 9060225 << 256 encoding = 9060225; 236 encoding = 9060225; 257 } 237 } 258 } 238 } 259 239 260 // PDG2013 << 240 // PDG2013 261 if (idxState == 1) { << 241 if (idxState == 1 ) { 262 if (idxType == TEta) { 242 if (idxType == TEta) { 263 // f0(1370) 30221 << 243 // f0(1370) 30221 264 encoding = 30221; 244 encoding = 30221; 265 } 245 } 266 } 246 } 267 return encoding; 247 return encoding; 268 } 248 } 269 249 270 G4DecayTable* G4ExcitedMesonConstructor::Creat << 250 G4DecayTable* G4ExcitedMesonConstructor::CreateDecayTable( 271 << 251 const G4String& parentName, >> 252 G4int iIso3, >> 253 G4int iState, >> 254 G4int iType) 272 { 255 { 273 // create decay table << 256 // create decay table 274 auto decayTable = new G4DecayTable(); << 257 G4DecayTable* decayTable = new G4DecayTable(); 275 G4double br; 258 G4double br; 276 << 259 277 if ((iType == TK) || (iType == TAntiK)) { << 260 if ((iType==TK)||(iType==TAntiK)) { 278 if ((br = bRatio[iState][iType][MKPi]) > 0 << 261 279 AddKPiMode(decayTable, parentName, br, i << 262 if ( (br=bRatio[iState][iType][MKPi]) >0.0) { >> 263 AddKPiMode( decayTable, parentName, br, iIso3, iType ); 280 } 264 } 281 if ((br = bRatio[iState][iType][MKStarPi]) << 265 if ( (br=bRatio[iState][iType][MKStarPi]) >0.0) { 282 AddKStarPiMode(decayTable, parentName, b << 266 AddKStarPiMode( decayTable, parentName, br, iIso3, iType ); 283 } 267 } 284 if ((br = bRatio[iState][iType][MKRho]) > << 268 if ( (br=bRatio[iState][iType][MKRho]) >0.0) { 285 AddKRhoMode(decayTable, parentName, br, << 269 AddKRhoMode( decayTable, parentName, br, iIso3, iType ); 286 } 270 } 287 if ((br = bRatio[iState][iType][MKOmega]) << 271 if ( (br=bRatio[iState][iType][MKOmega]) >0.0) { 288 AddKOmegaMode(decayTable, parentName, br << 272 AddKOmegaMode( decayTable, parentName, br, iIso3, iType ); 289 } 273 } 290 if ((br = bRatio[iState][iType][MKStar2Pi] << 274 if ( (br=bRatio[iState][iType][MKStar2Pi]) >0.0) { 291 AddKStar2PiMode(decayTable, parentName, << 275 AddKStar2PiMode( decayTable, parentName, br, iIso3, iType ); 292 } 276 } 293 if ((br = bRatio[iState][iType][MKTwoPi]) << 277 if ( (br=bRatio[iState][iType][MKTwoPi]) >0.0) { 294 AddKTwoPiMode(decayTable, parentName, br << 278 AddKTwoPiMode( decayTable, parentName, br, iIso3, iType ); 295 } 279 } 296 if ((br = bRatio[iState][iType][MKEta]) > << 280 if ( (br=bRatio[iState][iType][MKEta]) >0.0) { 297 AddKEtaMode(decayTable, parentName, br, << 281 AddKEtaMode( decayTable, parentName, br, iIso3, iType ); 298 } 282 } 299 } << 283 300 else { << 284 } else { 301 if ((br = bRatio[iState][iType][MPiGamma]) << 285 if ( (br=bRatio[iState][iType][MPiGamma]) >0.0) { 302 AddPiGammaMode(decayTable, parentName, b << 286 AddPiGammaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 303 } 287 } 304 if ((br = bRatio[iState][iType][MRhoGamma] << 288 if ( (br=bRatio[iState][iType][MRhoGamma]) >0.0) { 305 AddRhoGammaMode(decayTable, parentName, << 289 AddRhoGammaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 306 } 290 } 307 if ((br = bRatio[iState][iType][M2Pi]) > 0 << 291 if ( (br=bRatio[iState][iType][M2Pi]) >0.0) { 308 Add2PiMode(decayTable, parentName, br, i << 292 Add2PiMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 309 } 293 } 310 if ((br = bRatio[iState][iType][MPiRho]) > << 294 if ( (br=bRatio[iState][iType][MPiRho]) >0.0) { 311 AddPiRhoMode(decayTable, parentName, br, << 295 AddPiRhoMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 312 } 296 } 313 if ((br = bRatio[iState][iType][MPiEta]) > << 297 if ( (br=bRatio[iState][iType][MPiEta]) >0.0) { 314 AddPiEtaMode(decayTable, parentName, br, << 298 AddPiEtaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 315 } 299 } 316 if ((br = bRatio[iState][iType][M3Pi]) > 0 << 300 if ( (br=bRatio[iState][iType][M3Pi]) >0.0) { 317 Add3PiMode(decayTable, parentName, br, i << 301 Add3PiMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 318 } 302 } 319 if ((br = bRatio[iState][iType][M4Pi]) > 0 << 303 if ( (br=bRatio[iState][iType][M4Pi]) >0.0) { 320 Add4PiMode(decayTable, parentName, br, i << 304 Add4PiMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 321 } 305 } 322 if ((br = bRatio[iState][iType][MKKStar]) << 306 if ( (br=bRatio[iState][iType][MKKStar]) >0.0) { 323 AddKKStarMode(decayTable, parentName, br << 307 AddKKStarMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 324 } 308 } 325 if ((br = bRatio[iState][iType][M2PiEta]) << 309 if ( (br=bRatio[iState][iType][M2PiEta]) >0.0) { 326 Add2PiEtaMode(decayTable, parentName, br << 310 Add2PiEtaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 327 } 311 } 328 if ((br = bRatio[iState][iType][MRhoEta]) << 312 if ( (br=bRatio[iState][iType][MRhoEta]) >0.0) { 329 AddRhoEtaMode(decayTable, parentName, br << 313 AddRhoEtaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 330 } 314 } 331 if ((br = bRatio[iState][iType][M2PiRho]) << 315 if ( (br=bRatio[iState][iType][M2PiRho]) >0.0) { 332 Add2PiRhoMode(decayTable, parentName, br << 316 Add2PiRhoMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 333 } 317 } 334 if ((br = bRatio[iState][iType][M2PiOmega] << 318 if ( (br=bRatio[iState][iType][M2PiOmega]) >0.0) { 335 Add2PiOmegaMode(decayTable, parentName, << 319 Add2PiOmegaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 336 } 320 } 337 if ((br = bRatio[iState][iType][M2Eta]) > << 321 if ( (br=bRatio[iState][iType][M2Eta]) >0.0) { 338 Add2EtaMode(decayTable, parentName, br, << 322 Add2EtaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 339 } 323 } 340 if ((br = bRatio[iState][iType][M2K]) > 0. << 324 if ( (br=bRatio[iState][iType][M2K]) >0.0) { 341 Add2KMode(decayTable, parentName, br, iI << 325 Add2KMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 342 } 326 } 343 if ((br = bRatio[iState][iType][M2KPi]) > << 327 if ( (br=bRatio[iState][iType][M2KPi]) >0.0) { 344 Add2KPiMode(decayTable, parentName, br, << 328 Add2KPiMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 345 } 329 } 346 if ((br = bRatio[iState][iType][MPiOmega]) << 330 if ( (br=bRatio[iState][iType][MPiOmega]) >0.0) { 347 AddPiOmegaMode(decayTable, parentName, b << 331 AddPiOmegaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 348 } 332 } 349 if ((br = bRatio[iState][iType][MPiF2]) > << 333 if ( (br=bRatio[iState][iType][MPiF2]) >0.0) { 350 AddPiF2Mode(decayTable, parentName, br, << 334 AddPiF2Mode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 351 } 335 } 352 if ((br = bRatio[iState][iType][MPiF0]) > << 336 if ( (br=bRatio[iState][iType][MPiF0]) >0.0) { 353 AddPiF0Mode(decayTable, parentName, br, << 337 AddPiF0Mode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 354 } 338 } 355 if ((br = bRatio[iState][iType][MPiA2]) > << 339 if ( (br=bRatio[iState][iType][MPiA2]) >0.0) { 356 AddPiA2Mode(decayTable, parentName, br, << 340 AddPiA2Mode( decayTable, parentName, br, iIso3, iIsoSpin[iType] ); 357 } 341 } 358 } 342 } 359 343 360 return decayTable; 344 return decayTable; 361 } 345 } 362 346 363 G4DecayTable* G4ExcitedMesonConstructor::AddKP << 347 G4DecayTable* G4ExcitedMesonConstructor::AddKPiMode( 364 << 348 G4DecayTable* decayTable, const G4String& nameParent, 365 << 349 G4double br, G4int iIso3, G4int iType) 366 { 350 { 367 G4VDecayChannel* mode; 351 G4VDecayChannel* mode; 368 // << 352 // 369 if (iIso3 == +1) { 353 if (iIso3 == +1) { 370 if (iType == TK) { << 354 if (iType == TK) { 371 mode = new G4PhaseSpaceDecayChannel(name << 355 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, >> 356 "kaon+","pi0"); 372 decayTable->Insert(mode); 357 decayTable->Insert(mode); 373 mode = new G4PhaseSpaceDecayChannel(name << 358 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 359 "kaon0","pi+"); 374 decayTable->Insert(mode); 360 decayTable->Insert(mode); 375 } << 361 }else if (iType==TAntiK) { 376 else if (iType == TAntiK) { << 362 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, 377 mode = new G4PhaseSpaceDecayChannel(name << 363 "anti_kaon0","pi0"); 378 decayTable->Insert(mode); 364 decayTable->Insert(mode); 379 mode = new G4PhaseSpaceDecayChannel(name << 365 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 366 "kaon-","pi+"); 380 decayTable->Insert(mode); 367 decayTable->Insert(mode); 381 } << 368 } 382 } << 369 } else if (iIso3 == -1) { 383 else if (iIso3 == -1) { << 370 if (iType == TK) { 384 if (iType == TK) { << 371 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, 385 mode = new G4PhaseSpaceDecayChannel(name << 372 "kaon0","pi0"); 386 decayTable->Insert(mode); 373 decayTable->Insert(mode); 387 mode = new G4PhaseSpaceDecayChannel(name << 374 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 375 "kaon+","pi-"); 388 decayTable->Insert(mode); 376 decayTable->Insert(mode); 389 } << 377 390 else if (iType == TAntiK) { << 378 }else if (iType==TAntiK) { 391 mode = new G4PhaseSpaceDecayChannel(name << 379 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, >> 380 "kaon-","pi0"); 392 decayTable->Insert(mode); 381 decayTable->Insert(mode); 393 mode = new G4PhaseSpaceDecayChannel(name << 382 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 383 "anti_kaon0","pi-"); 394 decayTable->Insert(mode); 384 decayTable->Insert(mode); 395 } 385 } 396 } 386 } 397 387 398 return decayTable; 388 return decayTable; 399 } 389 } 400 G4DecayTable* G4ExcitedMesonConstructor::AddKT << 390 G4DecayTable* G4ExcitedMesonConstructor::AddKTwoPiMode( 401 << 391 G4DecayTable* decayTable, const G4String& nameParent, 402 << 392 G4double br, G4int iIso3, G4int iType) 403 { 393 { 404 G4VDecayChannel* mode; 394 G4VDecayChannel* mode; 405 // << 395 // 406 if (iIso3 == +1) { 396 if (iIso3 == +1) { 407 if (iType == TK) { << 397 if (iType == TK) { 408 mode = new G4PhaseSpaceDecayChannel(name << 398 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, >> 399 "k2_star(1430)+","pi0"); 409 decayTable->Insert(mode); 400 decayTable->Insert(mode); 410 mode = new G4PhaseSpaceDecayChannel(name << 401 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 402 "k2_star(1430)0","pi+"); 411 decayTable->Insert(mode); 403 decayTable->Insert(mode); 412 } << 404 }else if (iType==TAntiK) { 413 else if (iType == TAntiK) { << 405 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, 414 mode = new G4PhaseSpaceDecayChannel(name << 406 "anti_k2_star(1430)0","pi0"); 415 decayTable->Insert(mode); 407 decayTable->Insert(mode); 416 mode = new G4PhaseSpaceDecayChannel(name << 408 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 409 "k2_star(1430)-","pi+"); 417 decayTable->Insert(mode); 410 decayTable->Insert(mode); 418 } << 411 } 419 } << 412 } else if (iIso3 == -1) { 420 else if (iIso3 == -1) { << 413 if (iType == TK) { 421 if (iType == TK) { << 414 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, 422 mode = new G4PhaseSpaceDecayChannel(name << 415 "k2_star(1430)0","pi0"); 423 decayTable->Insert(mode); 416 decayTable->Insert(mode); 424 mode = new G4PhaseSpaceDecayChannel(name << 417 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 418 "k2_star(1430)+","pi-"); 425 decayTable->Insert(mode); 419 decayTable->Insert(mode); 426 } << 420 427 else if (iType == TAntiK) { << 421 }else if (iType==TAntiK) { 428 mode = new G4PhaseSpaceDecayChannel(name << 422 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, >> 423 "k2_star(1430)-","pi0"); 429 decayTable->Insert(mode); 424 decayTable->Insert(mode); 430 mode = << 425 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, 431 new G4PhaseSpaceDecayChannel(nameParen << 426 "anti_k2_star(1430)0","pi-"); 432 decayTable->Insert(mode); 427 decayTable->Insert(mode); 433 } 428 } 434 } 429 } 435 430 436 return decayTable; 431 return decayTable; 437 } 432 } 438 433 439 G4DecayTable* G4ExcitedMesonConstructor::AddKO << 434 G4DecayTable* G4ExcitedMesonConstructor::AddKOmegaMode( 440 << 435 G4DecayTable* decayTable, const G4String& nameParent, 441 << 436 G4double br, G4int iIso3, G4int iType) 442 { 437 { 443 G4VDecayChannel* mode; 438 G4VDecayChannel* mode; 444 // << 439 // 445 if (iIso3 == +1) { 440 if (iIso3 == +1) { 446 if (iType == TK) { << 441 if (iType == TK) { 447 mode = new G4PhaseSpaceDecayChannel(name << 442 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 443 "kaon+","omega"); 448 decayTable->Insert(mode); 444 decayTable->Insert(mode); 449 } << 445 }else if (iType==TAntiK) { 450 else if (iType == TAntiK) { << 446 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, 451 mode = new G4PhaseSpaceDecayChannel(name << 447 "anti_kaon0","omega"); 452 decayTable->Insert(mode); 448 decayTable->Insert(mode); 453 } << 449 } 454 } << 450 } else if (iIso3 == -1) { 455 else if (iIso3 == -1) { << 451 if (iType == TK) { 456 if (iType == TK) { << 452 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, 457 mode = new G4PhaseSpaceDecayChannel(name << 453 "kaon0","omega"); 458 decayTable->Insert(mode); 454 decayTable->Insert(mode); 459 } << 455 }else if (iType==TAntiK) { 460 else if (iType == TAntiK) { << 456 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, 461 mode = new G4PhaseSpaceDecayChannel(name << 457 "kaon-","omega"); 462 decayTable->Insert(mode); 458 decayTable->Insert(mode); 463 } 459 } 464 } 460 } 465 461 466 return decayTable; 462 return decayTable; 467 } 463 } 468 464 469 G4DecayTable* G4ExcitedMesonConstructor::AddKE << 465 G4DecayTable* G4ExcitedMesonConstructor::AddKEtaMode( 470 << 466 G4DecayTable* decayTable, const G4String& nameParent, 471 << 467 G4double br, G4int iIso3, G4int iType) 472 { 468 { 473 G4VDecayChannel* mode; 469 G4VDecayChannel* mode; 474 // << 470 // 475 if (iIso3 == +1) { 471 if (iIso3 == +1) { 476 if (iType == TK) { << 472 if (iType == TK) { 477 mode = new G4PhaseSpaceDecayChannel(name << 473 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 474 "kaon+","eta"); 478 decayTable->Insert(mode); 475 decayTable->Insert(mode); 479 } << 476 }else if (iType==TAntiK) { 480 else if (iType == TAntiK) { << 477 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, 481 mode = new G4PhaseSpaceDecayChannel(name << 478 "anti_kaon0","eta"); 482 decayTable->Insert(mode); 479 decayTable->Insert(mode); 483 } << 480 } 484 } << 481 } else if (iIso3 == -1) { 485 else if (iIso3 == -1) { << 482 if (iType == TK) { 486 if (iType == TK) { << 483 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, 487 mode = new G4PhaseSpaceDecayChannel(name << 484 "kaon0","eta"); 488 decayTable->Insert(mode); 485 decayTable->Insert(mode); 489 } << 486 }else if (iType==TAntiK) { 490 else if (iType == TAntiK) { << 487 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, 491 mode = new G4PhaseSpaceDecayChannel(name << 488 "kaon-","eta"); 492 decayTable->Insert(mode); 489 decayTable->Insert(mode); 493 } 490 } 494 } 491 } 495 492 496 return decayTable; 493 return decayTable; 497 } 494 } 498 495 499 G4DecayTable* G4ExcitedMesonConstructor::AddKR << 496 G4DecayTable* G4ExcitedMesonConstructor::AddKRhoMode( 500 << 497 G4DecayTable* decayTable, const G4String& nameParent, 501 << 498 G4double br, G4int iIso3, G4int iType) 502 { 499 { 503 G4VDecayChannel* mode; 500 G4VDecayChannel* mode; 504 // << 501 // 505 if (iIso3 == +1) { 502 if (iIso3 == +1) { 506 if (iType == TK) { << 503 if (iType == TK) { 507 mode = new G4PhaseSpaceDecayChannel(name << 504 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, >> 505 "kaon+","rho0"); 508 decayTable->Insert(mode); 506 decayTable->Insert(mode); 509 mode = new G4PhaseSpaceDecayChannel(name << 507 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 508 "kaon0","rho+"); 510 decayTable->Insert(mode); 509 decayTable->Insert(mode); 511 } << 510 }else if (iType==TAntiK) { 512 else if (iType == TAntiK) { << 511 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, 513 mode = new G4PhaseSpaceDecayChannel(name << 512 "anti_kaon0","rho0"); 514 decayTable->Insert(mode); 513 decayTable->Insert(mode); 515 mode = new G4PhaseSpaceDecayChannel(name << 514 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 515 "kaon-","rho+"); 516 decayTable->Insert(mode); 516 decayTable->Insert(mode); 517 } << 517 } 518 } << 518 } else if (iIso3 == -1) { 519 else if (iIso3 == -1) { << 519 if (iType == TK) { 520 if (iType == TK) { << 520 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, 521 mode = new G4PhaseSpaceDecayChannel(name << 521 "kaon0","rho0"); 522 decayTable->Insert(mode); 522 decayTable->Insert(mode); 523 mode = new G4PhaseSpaceDecayChannel(name << 523 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 524 "kaon+","rho-"); 524 decayTable->Insert(mode); 525 decayTable->Insert(mode); 525 } << 526 526 else if (iType == TAntiK) { << 527 }else if (iType==TAntiK) { 527 mode = new G4PhaseSpaceDecayChannel(name << 528 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, >> 529 "kaon-","rho0"); 528 decayTable->Insert(mode); 530 decayTable->Insert(mode); 529 mode = new G4PhaseSpaceDecayChannel(name << 531 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 532 "anti_kaon0","rho-"); 530 decayTable->Insert(mode); 533 decayTable->Insert(mode); 531 } 534 } 532 } 535 } 533 536 534 return decayTable; 537 return decayTable; 535 } 538 } 536 539 537 G4DecayTable* G4ExcitedMesonConstructor::AddKS << 540 G4DecayTable* G4ExcitedMesonConstructor::AddKStarPiMode( 538 << 541 G4DecayTable* decayTable, const G4String& nameParent, 539 << 542 G4double br, G4int iIso3, G4int iType) 540 { 543 { 541 G4VDecayChannel* mode; 544 G4VDecayChannel* mode; 542 // << 545 // 543 if (iIso3 == +1) { 546 if (iIso3 == +1) { 544 if (iType == TK) { << 547 if (iType == TK) { 545 mode = new G4PhaseSpaceDecayChannel(name << 548 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, >> 549 "k_star+","pi0"); 546 decayTable->Insert(mode); 550 decayTable->Insert(mode); 547 mode = new G4PhaseSpaceDecayChannel(name << 551 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 552 "k_star0","pi+"); 548 decayTable->Insert(mode); 553 decayTable->Insert(mode); 549 } << 554 }else if (iType==TAntiK) { 550 else if (iType == TAntiK) { << 555 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, 551 mode = new G4PhaseSpaceDecayChannel(name << 556 "anti_k_star0","pi0"); 552 decayTable->Insert(mode); 557 decayTable->Insert(mode); 553 mode = new G4PhaseSpaceDecayChannel(name << 558 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 559 "k_star-","pi+"); 554 decayTable->Insert(mode); 560 decayTable->Insert(mode); 555 } << 561 } 556 } << 562 } else if (iIso3 == -1) { 557 else if (iIso3 == -1) { << 563 if (iType == TK) { 558 if (iType == TK) { << 564 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, 559 mode = new G4PhaseSpaceDecayChannel(name << 565 "k_star0","pi0"); 560 decayTable->Insert(mode); 566 decayTable->Insert(mode); 561 mode = new G4PhaseSpaceDecayChannel(name << 567 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 568 "k_star+","pi-"); 562 decayTable->Insert(mode); 569 decayTable->Insert(mode); 563 } << 570 564 else if (iType == TAntiK) { << 571 }else if (iType==TAntiK) { 565 mode = new G4PhaseSpaceDecayChannel(name << 572 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2, >> 573 "k_star-","pi0"); 566 decayTable->Insert(mode); 574 decayTable->Insert(mode); 567 mode = new G4PhaseSpaceDecayChannel(name << 575 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2, >> 576 "anti_k_star0","pi-"); 568 decayTable->Insert(mode); 577 decayTable->Insert(mode); 569 } 578 } 570 } 579 } 571 580 572 return decayTable; 581 return decayTable; 573 } 582 } 574 583 575 G4DecayTable* G4ExcitedMesonConstructor::AddKS << 584 G4DecayTable* G4ExcitedMesonConstructor::AddKStar2PiMode( 576 << 585 G4DecayTable* decayTable, const G4String& nameParent, 577 << 586 G4double br, G4int iIso3, G4int iType) 578 { 587 { 579 // K* --> K pipi(I=1) 588 // K* --> K pipi(I=1) 580 G4VDecayChannel* mode; 589 G4VDecayChannel* mode; 581 // << 590 // 582 if (iIso3 == +1) { 591 if (iIso3 == +1) { 583 if (iType == TK) { << 592 if (iType == TK) { 584 mode = new G4PhaseSpaceDecayChannel(name << 593 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, >> 594 "k_star+","pi+","pi-"); 585 decayTable->Insert(mode); 595 decayTable->Insert(mode); 586 mode = new G4PhaseSpaceDecayChannel(name << 596 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, >> 597 "k_star0","pi+","pi0"); 587 decayTable->Insert(mode); 598 decayTable->Insert(mode); 588 } << 599 }else if (iType==TAntiK) { 589 else if (iType == TAntiK) { << 600 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, 590 mode = new G4PhaseSpaceDecayChannel(name << 601 "anti_k_star0","pi+","pi-"); 591 decayTable->Insert(mode); 602 decayTable->Insert(mode); 592 mode = new G4PhaseSpaceDecayChannel(name << 603 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, >> 604 "k_star-","pi+","pi0"); 593 decayTable->Insert(mode); 605 decayTable->Insert(mode); 594 } << 606 } 595 } << 607 } else if (iIso3 == -1) { 596 else if (iIso3 == -1) { << 608 if (iType == TK) { 597 if (iType == TK) { << 609 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, 598 mode = new G4PhaseSpaceDecayChannel(name << 610 "k_star0","pi+","pi-"); 599 decayTable->Insert(mode); 611 decayTable->Insert(mode); 600 mode = new G4PhaseSpaceDecayChannel(name << 612 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, >> 613 "k_star+","pi-","pi0"); 601 decayTable->Insert(mode); 614 decayTable->Insert(mode); 602 } << 615 603 else if (iType == TAntiK) { << 616 }else if (iType==TAntiK) { 604 mode = new G4PhaseSpaceDecayChannel(name << 617 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, >> 618 "k_star-","pi+","pi-"); 605 decayTable->Insert(mode); 619 decayTable->Insert(mode); 606 mode = << 620 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, 607 new G4PhaseSpaceDecayChannel(nameParen << 621 "anti_k_star0","pi-","pi0"); 608 decayTable->Insert(mode); 622 decayTable->Insert(mode); 609 } 623 } 610 } 624 } 611 625 612 return decayTable; 626 return decayTable; 613 } 627 } 614 628 615 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 629 G4DecayTable* G4ExcitedMesonConstructor::AddPiGammaMode( 616 << 630 G4DecayTable* decayTable, const G4String& nameParent, 617 << 631 G4double br, G4int iIso3, G4int iIso) 618 { 632 { 619 if ((iIso != 2) && (iIso != 0)) return decay << 633 if ((iIso!=2)&&(iIso!=0)) return decayTable; 620 634 621 G4VDecayChannel* mode; 635 G4VDecayChannel* mode; 622 // << 636 // 623 G4String daughter; 637 G4String daughter; 624 if (iIso3 == +2) { << 638 if (iIso3 == +2) { 625 daughter = "pi+"; << 639 daughter = "pi+"; 626 } << 640 } else if (iIso3 == 0) { 627 else if (iIso3 == 0) { << 641 daughter = "pi0"; 628 daughter = "pi0"; << 642 } else if (iIso3 ==-2) { 629 } << 643 daughter = "pi-"; 630 else if (iIso3 == -2) { << 644 } else { 631 daughter = "pi-"; << 645 return decayTable; 632 } << 646 } 633 else { << 647 // create decay channel [parent BR #daughters] 634 return decayTable; << 648 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, 635 } << 649 daughter,"gamma"); 636 // create decay channel [parent BR # << 637 mode = new G4PhaseSpaceDecayChannel(namePare << 638 // add decay table 650 // add decay table 639 decayTable->Insert(mode); 651 decayTable->Insert(mode); 640 652 641 return decayTable; 653 return decayTable; 642 } 654 } 643 655 644 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 656 G4DecayTable* G4ExcitedMesonConstructor::AddPiOmegaMode( 645 << 657 G4DecayTable* decayTable, const G4String& nameParent, 646 << 658 G4double br, G4int iIso3, G4int iIso) 647 { 659 { 648 if ((iIso != 2) && (iIso != 0)) return decay << 660 if ((iIso!=2)&&(iIso!=0)) return decayTable; 649 661 650 G4VDecayChannel* mode; 662 G4VDecayChannel* mode; 651 // << 663 // 652 G4String daughter; 664 G4String daughter; 653 if (iIso3 == +2) { << 665 if (iIso3 == +2) { 654 daughter = "pi+"; << 666 daughter = "pi+"; 655 } << 667 } else if (iIso3 == 0) { 656 else if (iIso3 == 0) { << 668 daughter = "pi0"; 657 daughter = "pi0"; << 669 } else if (iIso3 ==-2) { 658 } << 670 daughter = "pi-"; 659 else if (iIso3 == -2) { << 671 } else { 660 daughter = "pi-"; << 672 return decayTable; 661 } << 673 } 662 else { << 674 // create decay channel [parent BR #daughters] 663 return decayTable; << 675 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, 664 } << 676 daughter,"omega"); 665 // create decay channel [parent BR # << 666 mode = new G4PhaseSpaceDecayChannel(namePare << 667 // add decay table 677 // add decay table 668 decayTable->Insert(mode); 678 decayTable->Insert(mode); 669 679 670 return decayTable; 680 return decayTable; 671 } 681 } 672 682 673 G4DecayTable* G4ExcitedMesonConstructor::AddRh << 683 G4DecayTable* G4ExcitedMesonConstructor::AddRhoGammaMode( 674 << 684 G4DecayTable* decayTable, const G4String& nameParent, 675 << 685 G4double br, G4int iIso3, G4int iIso) 676 { 686 { 677 if ((iIso != 2) && (iIso != 0)) return decay << 687 if ((iIso!=2)&&(iIso!=0)) return decayTable; 678 688 679 G4VDecayChannel* mode; 689 G4VDecayChannel* mode; 680 // << 690 // 681 G4String daughter; 691 G4String daughter; 682 if (iIso3 == +2) { << 692 if (iIso3 == +2) { 683 daughter = "rho+"; << 693 daughter = "rho+"; 684 } << 694 } else if (iIso3 == 0) { 685 else if (iIso3 == 0) { << 695 daughter = "rho0"; 686 daughter = "rho0"; << 696 } else if (iIso3 ==-2) { 687 } << 697 daughter = "rho-"; 688 else if (iIso3 == -2) { << 698 } else { 689 daughter = "rho-"; << 699 return decayTable; 690 } << 700 } 691 else { << 692 return decayTable; << 693 } << 694 // create decay channel [parent BR # 701 // create decay channel [parent BR #daughters] 695 mode = new G4PhaseSpaceDecayChannel(namePare << 702 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 703 daughter,"gamma"); 696 // add decay table 704 // add decay table 697 decayTable->Insert(mode); 705 decayTable->Insert(mode); 698 706 699 return decayTable; 707 return decayTable; 700 } 708 } 701 709 702 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 710 G4DecayTable* G4ExcitedMesonConstructor::AddPiEtaMode( 703 << 711 G4DecayTable* decayTable, const G4String& nameParent, 704 << 712 G4double br, G4int iIso3, G4int iIso) 705 { 713 { 706 if ((iIso != 2) && (iIso != 0)) return decay << 714 if ((iIso!=2)&&(iIso!=0)) return decayTable; 707 715 708 G4VDecayChannel* mode; 716 G4VDecayChannel* mode; 709 // << 717 // 710 G4String daughter; 718 G4String daughter; 711 if (iIso3 == +2) { << 719 if (iIso3 == +2) { 712 daughter = "pi+"; << 720 daughter = "pi+"; 713 } << 721 } else if (iIso3 == 0) { 714 else if (iIso3 == 0) { << 722 daughter = "pi0"; 715 daughter = "pi0"; << 723 } else if (iIso3 ==-2) { 716 } << 724 daughter = "pi-"; 717 else if (iIso3 == -2) { << 725 } else { 718 daughter = "pi-"; << 726 return decayTable; 719 } << 727 } 720 else { << 721 return decayTable; << 722 } << 723 // create decay channel [parent BR # 728 // create decay channel [parent BR #daughters] 724 mode = new G4PhaseSpaceDecayChannel(namePare << 729 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 730 daughter,"eta"); 725 // add decay table 731 // add decay table 726 decayTable->Insert(mode); 732 decayTable->Insert(mode); 727 733 728 return decayTable; 734 return decayTable; 729 } 735 } 730 736 731 G4DecayTable* G4ExcitedMesonConstructor::AddRh << 737 G4DecayTable* G4ExcitedMesonConstructor::AddRhoEtaMode( 732 << 738 G4DecayTable* decayTable, const G4String& nameParent, 733 << 739 G4double br, G4int iIso3, G4int iIso) 734 { 740 { 735 if ((iIso != 2) && (iIso != 0)) return decay << 741 if ((iIso!=2)&&(iIso!=0)) return decayTable; 736 742 737 G4VDecayChannel* mode; 743 G4VDecayChannel* mode; 738 // << 744 // 739 G4String daughter; 745 G4String daughter; 740 if (iIso3 == +2) { << 746 if (iIso3 == +2) { 741 daughter = "rho+"; << 747 daughter = "rho+"; 742 } << 748 } else if (iIso3 == 0) { 743 else if (iIso3 == 0) { << 749 daughter = "rho0"; 744 daughter = "rho0"; << 750 } else if (iIso3 ==-2) { 745 } << 751 daughter = "rho-"; 746 else if (iIso3 == -2) { << 752 } else { 747 daughter = "rho-"; << 753 return decayTable; 748 } << 754 } 749 else { << 750 return decayTable; << 751 } << 752 // create decay channel [parent BR # 755 // create decay channel [parent BR #daughters] 753 mode = new G4PhaseSpaceDecayChannel(namePare << 756 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 757 daughter,"eta"); 754 // add decay table 758 // add decay table 755 decayTable->Insert(mode); 759 decayTable->Insert(mode); 756 760 757 return decayTable; 761 return decayTable; 758 } 762 } 759 763 760 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 764 G4DecayTable* G4ExcitedMesonConstructor::AddPiF2Mode( 761 << 765 G4DecayTable* decayTable, const G4String& nameParent, 762 << 766 G4double br, G4int iIso3, G4int iIso) 763 { 767 { 764 if ((iIso != 2) && (iIso != 0)) return decay << 768 if ((iIso!=2)&&(iIso!=0)) return decayTable; 765 769 766 G4VDecayChannel* mode; 770 G4VDecayChannel* mode; 767 // << 771 // 768 G4String daughter; 772 G4String daughter; 769 if (iIso3 == +2) { << 773 if (iIso3 == +2) { 770 daughter = "pi+"; << 774 daughter = "pi+"; 771 } << 775 } else if (iIso3 == 0) { 772 else if (iIso3 == 0) { << 776 daughter = "pi0"; 773 daughter = "pi0"; << 777 } else if (iIso3 ==-2) { 774 } << 778 daughter = "pi-"; 775 else if (iIso3 == -2) { << 779 } else { 776 daughter = "pi-"; << 780 return decayTable; 777 } << 781 } 778 else { << 779 return decayTable; << 780 } << 781 // create decay channel [parent BR # 782 // create decay channel [parent BR #daughters] 782 mode = new G4PhaseSpaceDecayChannel(namePare << 783 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 784 daughter,"f2(1270)"); 783 // add decay table 785 // add decay table 784 decayTable->Insert(mode); 786 decayTable->Insert(mode); 785 787 786 return decayTable; 788 return decayTable; 787 } 789 } 788 790 789 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 791 G4DecayTable* G4ExcitedMesonConstructor::AddPiF0Mode( 790 << 792 G4DecayTable* decayTable, const G4String& nameParent, 791 << 793 G4double br, G4int iIso3, G4int iIso) 792 { 794 { 793 if ((iIso != 2) && (iIso != 0)) return decay << 795 if ((iIso!=2)&&(iIso!=0)) return decayTable; 794 796 795 G4VDecayChannel* mode; 797 G4VDecayChannel* mode; 796 // << 798 // 797 G4String daughter; 799 G4String daughter; 798 if (iIso3 == +2) { << 800 if (iIso3 == +2) { 799 daughter = "pi+"; << 801 daughter = "pi+"; 800 } << 802 } else if (iIso3 == 0) { 801 else if (iIso3 == 0) { << 803 daughter = "pi0"; 802 daughter = "pi0"; << 804 } else if (iIso3 ==-2) { 803 } << 805 daughter = "pi-"; 804 else if (iIso3 == -2) { << 806 } else { 805 daughter = "pi-"; << 807 return decayTable; 806 } << 808 } 807 else { << 808 return decayTable; << 809 } << 810 // create decay channel [parent BR # 809 // create decay channel [parent BR #daughters] 811 mode = new G4PhaseSpaceDecayChannel(namePare << 810 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 811 daughter,"f0(1370)"); 812 // add decay table 812 // add decay table 813 decayTable->Insert(mode); 813 decayTable->Insert(mode); 814 return decayTable; 814 return decayTable; 815 } 815 } 816 816 817 G4DecayTable* G4ExcitedMesonConstructor::Add2P << 817 818 << 818 G4DecayTable* G4ExcitedMesonConstructor::Add2PiMode( 819 << 819 G4DecayTable* decayTable, const G4String& nameParent, >> 820 G4double br, G4int iIso3, G4int iIso) 820 { 821 { 821 G4VDecayChannel* mode; 822 G4VDecayChannel* mode; 822 823 823 G4String daughterPi1; 824 G4String daughterPi1; 824 G4String daughterPi2; 825 G4String daughterPi2; 825 G4double r; << 826 G4double r; 826 827 827 // I = 0 states 828 // I = 0 states 828 if (iIso == 0) { << 829 if (iIso==0) { 829 if (iIso3 == 0) { << 830 if (iIso3==0) { 830 // pi+ + pi- << 831 // pi+ + pi- 831 daughterPi1 = "pi+"; 832 daughterPi1 = "pi+"; 832 daughterPi2 = "pi-"; 833 daughterPi2 = "pi-"; 833 r = br * 2. / 3.; << 834 r = br*2./3.; 834 mode = new G4PhaseSpaceDecayChannel(name << 835 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 836 daughterPi1,daughterPi2); 835 decayTable->Insert(mode); 837 decayTable->Insert(mode); 836 838 837 // pi0 + pi0 839 // pi0 + pi0 838 daughterPi1 = "pi0"; 840 daughterPi1 = "pi0"; 839 daughterPi2 = "pi0"; 841 daughterPi2 = "pi0"; 840 r = br * 1. / 3.; << 842 r = br*1./3.; 841 mode = new G4PhaseSpaceDecayChannel(name << 843 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, 842 decayTable->Insert(mode); << 844 daughterPi1,daughterPi2); 843 } << 845 decayTable->Insert(mode); 844 } << 846 } 845 else if (iIso == 2) { << 847 } else if (iIso==2) { 846 if (iIso3 == +2) { << 848 if (iIso3==+2) { 847 // pi+ + pi0 849 // pi+ + pi0 848 daughterPi1 = "pi+"; 850 daughterPi1 = "pi+"; 849 daughterPi2 = "pi0"; 851 daughterPi2 = "pi0"; 850 r = br; 852 r = br; 851 mode = new G4PhaseSpaceDecayChannel(name << 853 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 854 daughterPi1,daughterPi2); 852 // add decay table 855 // add decay table 853 decayTable->Insert(mode); 856 decayTable->Insert(mode); 854 } << 857 } else if (iIso3==0) { 855 else if (iIso3 == 0) { << 858 // pi+ + pi- 856 // pi+ + pi- << 857 daughterPi1 = "pi+"; 859 daughterPi1 = "pi+"; 858 daughterPi2 = "pi-"; 860 daughterPi2 = "pi-"; 859 r = br; 861 r = br; 860 mode = new G4PhaseSpaceDecayChannel(name << 862 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 863 daughterPi1,daughterPi2); 861 decayTable->Insert(mode); 864 decayTable->Insert(mode); 862 } << 865 } else if (iIso3==-2) { 863 else if (iIso3 == -2) { << 866 // pi- + pi0 864 // pi- + pi0 << 865 daughterPi1 = "pi-"; 867 daughterPi1 = "pi-"; 866 daughterPi2 = "pi0"; 868 daughterPi2 = "pi0"; 867 r = br; 869 r = br; 868 mode = new G4PhaseSpaceDecayChannel(name << 870 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 871 daughterPi1,daughterPi2); 869 decayTable->Insert(mode); 872 decayTable->Insert(mode); 870 } 873 } 871 } 874 } 872 return decayTable; 875 return decayTable; 873 } 876 } 874 877 875 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 878 G4DecayTable* G4ExcitedMesonConstructor::AddPiRhoMode( 876 << 879 G4DecayTable* decayTable, const G4String& nameParent, 877 << 880 G4double br, G4int iIso3, G4int iIso) 878 { 881 { 879 G4VDecayChannel* mode; 882 G4VDecayChannel* mode; 880 883 881 G4String daughterPi; 884 G4String daughterPi; 882 G4String daughterRho; 885 G4String daughterRho; 883 G4double r; << 886 G4double r; 884 887 885 // I = 0 states 888 // I = 0 states 886 if (iIso == 0) { << 889 if (iIso==0) { 887 if (iIso3 == 0) { << 890 if (iIso3==0) { 888 // pi+ + rho- 891 // pi+ + rho- 889 daughterPi = "pi+"; 892 daughterPi = "pi+"; 890 daughterRho = "rho-"; 893 daughterRho = "rho-"; 891 r = br / 3.; << 894 r = br/3.; 892 mode = new G4PhaseSpaceDecayChannel(name << 895 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 896 daughterPi,daughterRho); 893 decayTable->Insert(mode); 897 decayTable->Insert(mode); 894 << 898 895 // pi0 + rho0 899 // pi0 + rho0 896 daughterPi = "pi0"; 900 daughterPi = "pi0"; 897 daughterRho = "rho0"; 901 daughterRho = "rho0"; 898 r = br * 1. / 3.; << 902 r = br*1./3.; 899 mode = new G4PhaseSpaceDecayChannel(name << 903 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 904 daughterPi,daughterRho); 900 decayTable->Insert(mode); 905 decayTable->Insert(mode); 901 << 906 902 // pi- + rho+ 907 // pi- + rho+ 903 daughterPi = "pi-"; 908 daughterPi = "pi-"; 904 daughterRho = "rho+"; 909 daughterRho = "rho+"; 905 r = br * 1. / 3.; << 910 r = br*1./3.; 906 mode = new G4PhaseSpaceDecayChannel(name << 911 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, 907 decayTable->Insert(mode); << 912 daughterPi,daughterRho); 908 } << 913 decayTable->Insert(mode); 909 } << 914 } 910 else if (iIso == 2) { << 915 } else if (iIso==2) { 911 if (iIso3 == +2) { << 916 if (iIso3==+2) { 912 // pi+ + rho0 917 // pi+ + rho0 913 daughterPi = "pi+"; 918 daughterPi = "pi+"; 914 daughterRho = "rho0"; 919 daughterRho = "rho0"; 915 r = br / 2.; << 920 r = br/2.; 916 mode = new G4PhaseSpaceDecayChannel(name << 921 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 922 daughterPi,daughterRho); 917 decayTable->Insert(mode); 923 decayTable->Insert(mode); 918 << 924 919 // pi0 + rho+ 925 // pi0 + rho+ 920 daughterPi = "pi0"; 926 daughterPi = "pi0"; 921 daughterRho = "rho+"; 927 daughterRho = "rho+"; 922 r = br / 2.; << 928 r = br/2.; 923 mode = new G4PhaseSpaceDecayChannel(name << 929 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 930 daughterPi,daughterRho); 924 decayTable->Insert(mode); 931 decayTable->Insert(mode); 925 } << 932 } else if (iIso3==0) { 926 else if (iIso3 == 0) { << 933 // pi+ + rho- 927 // pi+ + rho- << 928 daughterPi = "pi+"; 934 daughterPi = "pi+"; 929 daughterRho = "rho-"; 935 daughterRho = "rho-"; 930 r = br / 2.; << 936 r = br/2.; 931 mode = new G4PhaseSpaceDecayChannel(name << 937 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 938 daughterPi,daughterRho); 932 decayTable->Insert(mode); 939 decayTable->Insert(mode); 933 940 934 // pi- + rho+ << 941 // pi- + rho+ 935 daughterPi = "pi-"; 942 daughterPi = "pi-"; 936 daughterRho = "rho+"; 943 daughterRho = "rho+"; 937 r = br / 2.; << 944 r = br/2.; 938 mode = new G4PhaseSpaceDecayChannel(name << 945 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 946 daughterPi,daughterRho); 939 decayTable->Insert(mode); 947 decayTable->Insert(mode); 940 } << 948 } else if (iIso3==-2) { 941 else if (iIso3 == -2) { << 949 // pi- + rho0 942 // pi- + rho0 << 943 daughterPi = "pi-"; 950 daughterPi = "pi-"; 944 daughterRho = "rho0"; 951 daughterRho = "rho0"; 945 r = br / 2.; << 952 r = br/2.; 946 mode = new G4PhaseSpaceDecayChannel(name << 953 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 954 daughterPi,daughterRho); 947 decayTable->Insert(mode); 955 decayTable->Insert(mode); 948 << 956 949 // pi0 + rho- 957 // pi0 + rho- 950 daughterPi = "pi0"; 958 daughterPi = "pi0"; 951 daughterRho = "rho-"; 959 daughterRho = "rho-"; 952 r = br / 2.; << 960 r = br/2.; 953 mode = new G4PhaseSpaceDecayChannel(name << 961 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 962 daughterPi,daughterRho); 954 decayTable->Insert(mode); 963 decayTable->Insert(mode); 955 } 964 } 956 } 965 } 957 return decayTable; 966 return decayTable; 958 } 967 } 959 968 960 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 969 G4DecayTable* G4ExcitedMesonConstructor::AddPiA2Mode( 961 << 970 G4DecayTable* decayTable, const G4String& nameParent, 962 << 971 G4double br, G4int iIso3, G4int iIso) 963 { 972 { 964 G4VDecayChannel* mode; 973 G4VDecayChannel* mode; 965 974 966 G4String daughterPi; 975 G4String daughterPi; 967 G4String daughterA2; 976 G4String daughterA2; 968 G4double r; << 977 G4double r; 969 978 970 // I = 0 states 979 // I = 0 states 971 if (iIso == 0) { << 980 if (iIso==0) { 972 if (iIso3 == 0) { << 981 if (iIso3==0) { 973 // pi+ + a2(1320)- 982 // pi+ + a2(1320)- 974 daughterPi = "pi+"; 983 daughterPi = "pi+"; 975 daughterA2 = "a2(1320)-"; 984 daughterA2 = "a2(1320)-"; 976 r = br / 3.; << 985 r = br/3.; 977 mode = new G4PhaseSpaceDecayChannel(name << 986 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 987 daughterPi,daughterA2); 978 decayTable->Insert(mode); 988 decayTable->Insert(mode); 979 << 989 980 // pi0 + a2(1320)0 990 // pi0 + a2(1320)0 981 daughterPi = "pi0"; 991 daughterPi = "pi0"; 982 daughterA2 = "a2(1320)0"; 992 daughterA2 = "a2(1320)0"; 983 r = br * 1. / 3.; << 993 r = br*1./3.; 984 mode = new G4PhaseSpaceDecayChannel(name << 994 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 995 daughterPi,daughterA2); 985 decayTable->Insert(mode); 996 decayTable->Insert(mode); 986 << 997 987 // pi- + a2(1320)+ 998 // pi- + a2(1320)+ 988 daughterPi = "pi-"; 999 daughterPi = "pi-"; 989 daughterA2 = "a2(1320)+"; 1000 daughterA2 = "a2(1320)+"; 990 r = br * 1. / 3.; << 1001 r = br*1./3.; 991 mode = new G4PhaseSpaceDecayChannel(name << 1002 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, 992 decayTable->Insert(mode); << 1003 daughterPi,daughterA2); 993 } << 1004 decayTable->Insert(mode); 994 } << 1005 } 995 else if (iIso == 2) { << 1006 } else if (iIso==2) { 996 if (iIso3 == +2) { << 1007 if (iIso3==+2) { 997 // pi+ + a2(1320)0 1008 // pi+ + a2(1320)0 998 daughterPi = "pi+"; 1009 daughterPi = "pi+"; 999 daughterA2 = "a2(1320)0"; 1010 daughterA2 = "a2(1320)0"; 1000 r = br / 2.; << 1011 r = br/2.; 1001 mode = new G4PhaseSpaceDecayChannel(nam << 1012 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 1013 daughterPi,daughterA2); 1002 decayTable->Insert(mode); 1014 decayTable->Insert(mode); 1003 << 1015 1004 // pi0 + a2(1320)+ 1016 // pi0 + a2(1320)+ 1005 daughterPi = "pi0"; 1017 daughterPi = "pi0"; 1006 daughterA2 = "a2(1320)+"; 1018 daughterA2 = "a2(1320)+"; 1007 r = br / 2.; << 1019 r = br/2.; 1008 mode = new G4PhaseSpaceDecayChannel(nam << 1020 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 1021 daughterPi,daughterA2); 1009 decayTable->Insert(mode); 1022 decayTable->Insert(mode); 1010 } << 1023 } else if (iIso3==0) { 1011 else if (iIso3 == 0) { << 1024 // pi+ + a2(1320)- 1012 // pi+ + a2(1320)- << 1013 daughterPi = "pi+"; 1025 daughterPi = "pi+"; 1014 daughterA2 = "a2(1320)-"; 1026 daughterA2 = "a2(1320)-"; 1015 r = br / 2.; << 1027 r = br/2.; 1016 mode = new G4PhaseSpaceDecayChannel(nam << 1028 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 1029 daughterPi,daughterA2); 1017 decayTable->Insert(mode); 1030 decayTable->Insert(mode); 1018 1031 1019 // pi- + a2(1320)+ << 1032 // pi- + a2(1320)+ 1020 daughterPi = "pi-"; 1033 daughterPi = "pi-"; 1021 daughterA2 = "a2(1320)+"; 1034 daughterA2 = "a2(1320)+"; 1022 r = br / 2.; << 1035 r = br/2.; 1023 mode = new G4PhaseSpaceDecayChannel(nam << 1036 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 1037 daughterPi,daughterA2); 1024 decayTable->Insert(mode); 1038 decayTable->Insert(mode); 1025 } << 1039 } else if (iIso3==-2) { 1026 else if (iIso3 == -2) { << 1040 // pi- + a2(1320)0 1027 // pi- + a2(1320)0 << 1028 daughterPi = "pi-"; 1041 daughterPi = "pi-"; 1029 daughterA2 = "a2(1320)0"; 1042 daughterA2 = "a2(1320)0"; 1030 r = br / 2.; << 1043 r = br/2.; 1031 mode = new G4PhaseSpaceDecayChannel(nam << 1044 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 1045 daughterPi,daughterA2); 1032 decayTable->Insert(mode); 1046 decayTable->Insert(mode); 1033 << 1047 1034 // pi0 + a2(1320)- 1048 // pi0 + a2(1320)- 1035 daughterPi = "pi0"; 1049 daughterPi = "pi0"; 1036 daughterA2 = "a2(1320)-"; 1050 daughterA2 = "a2(1320)-"; 1037 r = br / 2.; << 1051 r = br/2.; 1038 mode = new G4PhaseSpaceDecayChannel(nam << 1052 mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2, >> 1053 daughterPi,daughterA2); 1039 decayTable->Insert(mode); 1054 decayTable->Insert(mode); 1040 } 1055 } 1041 } 1056 } 1042 return decayTable; 1057 return decayTable; 1043 } 1058 } 1044 1059 1045 G4DecayTable* G4ExcitedMesonConstructor::Add3 << 1060 G4DecayTable* G4ExcitedMesonConstructor::Add3PiMode( 1046 << 1061 G4DecayTable* decayTable, const G4String& nameParent, 1047 << 1062 G4double br, G4int iIso3, G4int iIso) 1048 { 1063 { 1049 G4VDecayChannel* mode; 1064 G4VDecayChannel* mode; 1050 1065 1051 // I =0 state 1066 // I =0 state 1052 // This mode is X(I=0,J=1) --> pi+,pi-,pi0 1067 // This mode is X(I=0,J=1) --> pi+,pi-,pi0 mode 1053 if (iIso == 0) { << 1068 if (iIso==0) { 1054 // pi+ + pi- 1069 // pi+ + pi- 1055 mode = new G4PhaseSpaceDecayChannel(nameP << 1070 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 3, >> 1071 "pi+","pi-","pi0"); 1056 decayTable->Insert(mode); 1072 decayTable->Insert(mode); 1057 } << 1073 } else if (iIso==2) { 1058 else if (iIso == 2) { << 1074 // This mode is X(I=1) --> pi + pipi(I=0) mode 1059 // This mode is X(I=1) --> pi + pipi(I=0) << 1075 if (iIso3==+2) { 1060 if (iIso3 == +2) { << 1076 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, 1061 mode = new G4PhaseSpaceDecayChannel(nam << 1077 "pi+","pi0","pi0"); 1062 decayTable->Insert(mode); 1078 decayTable->Insert(mode); 1063 mode = new G4PhaseSpaceDecayChannel(nam << 1079 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, >> 1080 "pi+","pi+","pi-"); 1064 decayTable->Insert(mode); 1081 decayTable->Insert(mode); 1065 } << 1082 } else if (iIso3==0) { 1066 else if (iIso3 == 0) { << 1083 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, 1067 mode = new G4PhaseSpaceDecayChannel(nam << 1084 "pi0","pi0","pi0"); 1068 decayTable->Insert(mode); 1085 decayTable->Insert(mode); 1069 mode = new G4PhaseSpaceDecayChannel(nam << 1086 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, >> 1087 "pi0","pi+","pi-"); 1070 decayTable->Insert(mode); 1088 decayTable->Insert(mode); 1071 } << 1089 } else if (iIso3==-2) { 1072 else if (iIso3 == -2) { << 1090 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, 1073 mode = new G4PhaseSpaceDecayChannel(nam << 1091 "pi-","pi0","pi0"); 1074 decayTable->Insert(mode); 1092 decayTable->Insert(mode); 1075 mode = new G4PhaseSpaceDecayChannel(nam << 1093 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, >> 1094 "pi-","pi+","pi-"); 1076 decayTable->Insert(mode); 1095 decayTable->Insert(mode); 1077 } 1096 } 1078 } << 1097 } 1079 return decayTable; 1098 return decayTable; 1080 } 1099 } 1081 1100 1082 G4DecayTable* G4ExcitedMesonConstructor::Add4 << 1101 G4DecayTable* G4ExcitedMesonConstructor::Add4PiMode( 1083 << 1102 G4DecayTable* decayTable, const G4String& nameParent, 1084 << 1103 G4double br, G4int iIso3, G4int ) 1085 { 1104 { 1086 G4VDecayChannel* mode; 1105 G4VDecayChannel* mode; 1087 1106 1088 if (iIso3 == 0) { << 1107 if (iIso3==0) { 1089 // 2pi+ + 2pi- 1108 // 2pi+ + 2pi- 1090 mode = new G4PhaseSpaceDecayChannel(nameP << 1109 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 4, >> 1110 "pi+","pi-","pi+","pi-"); 1091 decayTable->Insert(mode); 1111 decayTable->Insert(mode); 1092 // pi+ + pi- + 2pi0 << 1112 // pi+ + pi- + 2pi0 1093 mode = new G4PhaseSpaceDecayChannel(nameP << 1113 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 4, >> 1114 "pi+","pi-","pi0","pi0"); 1094 decayTable->Insert(mode); 1115 decayTable->Insert(mode); 1095 } << 1116 } else if (iIso3==+2) { 1096 else if (iIso3 == +2) { << 1097 // pi+ + 3pi0 1117 // pi+ + 3pi0 1098 mode = new G4PhaseSpaceDecayChannel(nameP << 1118 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 4, >> 1119 "pi+","pi0","pi0","pi0"); 1099 decayTable->Insert(mode); 1120 decayTable->Insert(mode); 1100 // 2pi+ + pi- + pi0 1121 // 2pi+ + pi- + pi0 1101 mode = new G4PhaseSpaceDecayChannel(nameP << 1122 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 4, >> 1123 "pi+","pi+","pi-","pi0"); 1102 decayTable->Insert(mode); 1124 decayTable->Insert(mode); 1103 } << 1125 } else if (iIso3==-2) { 1104 else if (iIso3 == -2) { << 1105 // pi- + 3pi0 1126 // pi- + 3pi0 1106 mode = new G4PhaseSpaceDecayChannel(nameP << 1127 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 4, >> 1128 "pi-","pi0","pi0","pi0"); 1107 decayTable->Insert(mode); 1129 decayTable->Insert(mode); 1108 // 2pi- + pi+ + pi0 1130 // 2pi- + pi+ + pi0 1109 mode = new G4PhaseSpaceDecayChannel(nameP << 1131 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 4, >> 1132 "pi-","pi-","pi+","pi0"); 1110 decayTable->Insert(mode); 1133 decayTable->Insert(mode); 1111 } 1134 } 1112 return decayTable; 1135 return decayTable; 1113 } 1136 } 1114 1137 1115 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1138 G4DecayTable* G4ExcitedMesonConstructor::Add2PiEtaMode( 1116 << 1139 G4DecayTable* decayTable, const G4String& nameParent, 1117 << 1140 G4double br, G4int , G4int iIso) 1118 { 1141 { 1119 // f1-->eta + pi + pi mode 1142 // f1-->eta + pi + pi mode 1120 1143 1121 if (iIso != 0) return decayTable; << 1144 if (iIso!=0) return decayTable; 1122 1145 1123 G4VDecayChannel* mode; 1146 G4VDecayChannel* mode; 1124 1147 1125 // eta pi+ pi- 1148 // eta pi+ pi- 1126 mode = new G4PhaseSpaceDecayChannel(namePar << 1149 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, >> 1150 "eta","pi+","pi-"); 1127 decayTable->Insert(mode); 1151 decayTable->Insert(mode); 1128 1152 1129 // eta pi+ pi- 1153 // eta pi+ pi- 1130 mode = new G4PhaseSpaceDecayChannel(namePar << 1154 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, >> 1155 "eta","pi0","pi0"); 1131 decayTable->Insert(mode); 1156 decayTable->Insert(mode); 1132 return decayTable; 1157 return decayTable; 1133 } 1158 } 1134 1159 1135 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1160 G4DecayTable* G4ExcitedMesonConstructor::Add2EtaMode( 1136 << 1161 G4DecayTable* decayTable, const G4String& nameParent, 1137 << 1162 G4double br, G4int , G4int iIso) 1138 { 1163 { 1139 if (iIso != 0) return decayTable; << 1164 if (iIso!=0) return decayTable; 1140 1165 1141 G4VDecayChannel* mode; 1166 G4VDecayChannel* mode; 1142 1167 1143 // eta eta 1168 // eta eta 1144 mode = new G4PhaseSpaceDecayChannel(namePar << 1169 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 1170 "eta","eta"); 1145 decayTable->Insert(mode); 1171 decayTable->Insert(mode); 1146 return decayTable; 1172 return decayTable; 1147 } 1173 } 1148 1174 1149 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1175 G4DecayTable* G4ExcitedMesonConstructor::Add2PiOmegaMode( 1150 << 1176 G4DecayTable* decayTable, const G4String& nameParent, 1151 << 1177 G4double br, G4int iIso3, G4int iIso) 1152 { 1178 { >> 1179 1153 G4VDecayChannel* mode; 1180 G4VDecayChannel* mode; 1154 if (iIso == 0) { << 1181 if (iIso==0) { 1155 // omega pi+ pi- 1182 // omega pi+ pi- 1156 mode = new G4PhaseSpaceDecayChannel(nameP << 1183 mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3, >> 1184 "omega","pi+","pi-"); 1157 decayTable->Insert(mode); 1185 decayTable->Insert(mode); 1158 1186 1159 // omega pi+ pi- 1187 // omega pi+ pi- 1160 mode = new G4PhaseSpaceDecayChannel(nameP << 1188 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, >> 1189 "omega","pi0","pi0"); 1161 decayTable->Insert(mode); 1190 decayTable->Insert(mode); 1162 } << 1191 } else if (iIso==2) { 1163 else if (iIso == 2) { << 1192 if (iIso3==+2) { 1164 if (iIso3 == +2) { << 1165 // omega pi+ pi0 1193 // omega pi+ pi0 1166 mode = new G4PhaseSpaceDecayChannel(nam << 1194 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 3, >> 1195 "omega","pi+","pi0"); 1167 decayTable->Insert(mode); 1196 decayTable->Insert(mode); 1168 } << 1197 } else if (iIso3==0) { 1169 else if (iIso3 == 0) { << 1170 // omega pi+ pi- 1198 // omega pi+ pi- 1171 mode = new G4PhaseSpaceDecayChannel(nam << 1199 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 3, >> 1200 "omega","pi-","pi+"); 1172 decayTable->Insert(mode); 1201 decayTable->Insert(mode); 1173 // omega pi0 pi0 1202 // omega pi0 pi0 1174 mode = new G4PhaseSpaceDecayChannel(nam << 1203 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 3, >> 1204 "omega","pi0","pi0"); 1175 decayTable->Insert(mode); 1205 decayTable->Insert(mode); 1176 } << 1206 } else if (iIso3==-2) { 1177 else if (iIso3 == -2) { << 1178 // omega pi- pi0 1207 // omega pi- pi0 1179 mode = new G4PhaseSpaceDecayChannel(nam << 1208 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 3, >> 1209 "omega","pi-","pi0"); 1180 decayTable->Insert(mode); 1210 decayTable->Insert(mode); 1181 } << 1211 } 1182 } 1212 } 1183 return decayTable; 1213 return decayTable; 1184 } 1214 } >> 1215 >> 1216 1185 1217 1186 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1218 G4DecayTable* G4ExcitedMesonConstructor::Add2PiRhoMode( 1187 << 1219 G4DecayTable* decayTable, const G4String& nameParent, 1188 << 1220 G4double br, G4int iIso3, G4int iIso) 1189 { 1221 { 1190 G4VDecayChannel* mode; 1222 G4VDecayChannel* mode; 1191 1223 1192 if (iIso == 0) { << 1224 if (iIso==0) { 1193 // f1 --> rho0 + pi+ pi- 1225 // f1 --> rho0 + pi+ pi- 1194 // rho0 pi+ pi- 1226 // rho0 pi+ pi- 1195 mode = new G4PhaseSpaceDecayChannel(nameP << 1227 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1228 "rho0","pi+","pi-"); 1196 decayTable->Insert(mode); 1229 decayTable->Insert(mode); 1197 } << 1230 } else if (iIso==2) { 1198 else if (iIso == 2) { << 1231 if (iIso3==+2) { 1199 if (iIso3 == +2) { << 1200 // rho+ pi0 pi0 1232 // rho+ pi0 pi0 1201 mode = new G4PhaseSpaceDecayChannel(nam << 1233 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1234 "rho+","pi0","pi0"); 1202 decayTable->Insert(mode); 1235 decayTable->Insert(mode); 1203 // rho+ pi+ pi- 1236 // rho+ pi+ pi- 1204 mode = new G4PhaseSpaceDecayChannel(nam << 1237 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1238 "rho+","pi+","pi-"); 1205 decayTable->Insert(mode); 1239 decayTable->Insert(mode); 1206 // rho0 pi+ pi0 1240 // rho0 pi+ pi0 1207 mode = new G4PhaseSpaceDecayChannel(nam << 1241 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1242 "rho0","pi+","pi0"); 1208 decayTable->Insert(mode); 1243 decayTable->Insert(mode); 1209 // rho- pi+ pi+ 1244 // rho- pi+ pi+ 1210 mode = new G4PhaseSpaceDecayChannel(nam << 1245 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1246 "rho-","pi+","pi+"); 1211 decayTable->Insert(mode); 1247 decayTable->Insert(mode); 1212 } << 1248 } else if (iIso3==-2) { 1213 else if (iIso3 == -2) { << 1214 // rho- pi0 pi0 1249 // rho- pi0 pi0 1215 mode = new G4PhaseSpaceDecayChannel(nam << 1250 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1251 "rho-","pi0","pi0"); 1216 decayTable->Insert(mode); 1252 decayTable->Insert(mode); 1217 // rho- pi+ pi- 1253 // rho- pi+ pi- 1218 mode = new G4PhaseSpaceDecayChannel(nam << 1254 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1255 "rho-","pi+","pi-"); 1219 decayTable->Insert(mode); 1256 decayTable->Insert(mode); 1220 // rho0 pi- pi0 1257 // rho0 pi- pi0 1221 mode = new G4PhaseSpaceDecayChannel(nam << 1258 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1259 "rho0","pi-","pi0"); 1222 decayTable->Insert(mode); 1260 decayTable->Insert(mode); 1223 // rho+ pi- pi- 1261 // rho+ pi- pi- 1224 mode = new G4PhaseSpaceDecayChannel(nam << 1262 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1263 "rho+","pi-","pi-"); 1225 decayTable->Insert(mode); 1264 decayTable->Insert(mode); 1226 } << 1265 } else if (iIso3==0) { 1227 else if (iIso3 == 0) { << 1228 // rho+ pi- pi0 1266 // rho+ pi- pi0 1229 mode = new G4PhaseSpaceDecayChannel(nam << 1267 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1268 "rho+","pi-","pi0"); 1230 decayTable->Insert(mode); 1269 decayTable->Insert(mode); 1231 // rho0 pi+ pi- 1270 // rho0 pi+ pi- 1232 mode = new G4PhaseSpaceDecayChannel(nam << 1271 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1272 "rho0","pi+","pi-"); 1233 decayTable->Insert(mode); 1273 decayTable->Insert(mode); 1234 // rho0 pi0 pi0 1274 // rho0 pi0 pi0 1235 mode = new G4PhaseSpaceDecayChannel(nam << 1275 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1276 "rho0","pi0","pi0"); 1236 decayTable->Insert(mode); 1277 decayTable->Insert(mode); 1237 // rho- pi+ pi0 1278 // rho- pi+ pi0 1238 mode = new G4PhaseSpaceDecayChannel(nam << 1279 mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3, >> 1280 "rho-","pi+","pi-"); 1239 decayTable->Insert(mode); 1281 decayTable->Insert(mode); 1240 } 1282 } 1241 } 1283 } 1242 return decayTable; 1284 return decayTable; 1243 } 1285 } 1244 1286 1245 G4DecayTable* G4ExcitedMesonConstructor::AddK << 1287 1246 << 1288 G4DecayTable* G4ExcitedMesonConstructor::AddKKStarMode( 1247 << 1289 G4DecayTable* decayTable, const G4String& nameParent, >> 1290 G4double br, G4int iIso3, G4int ) 1248 { 1291 { 1249 G4VDecayChannel* mode; 1292 G4VDecayChannel* mode; 1250 1293 1251 if (iIso3 == 0) { << 1294 if (iIso3==0) { 1252 // X(I=0,J=1)-->K + Anti-K*, Anti_K + K* 1295 // X(I=0,J=1)-->K + Anti-K*, Anti_K + K* mode 1253 // K+ + K*- 1296 // K+ + K*- 1254 mode = new G4PhaseSpaceDecayChannel(nameP << 1297 mode = new G4PhaseSpaceDecayChannel(nameParent, br/4., 2, >> 1298 "kaon+","k_star-"); 1255 decayTable->Insert(mode); 1299 decayTable->Insert(mode); 1256 << 1300 1257 // K- + K*+ 1301 // K- + K*+ 1258 mode = new G4PhaseSpaceDecayChannel(nameP << 1302 mode = new G4PhaseSpaceDecayChannel(nameParent, br/4., 2, >> 1303 "kaon-","k_star0"); 1259 decayTable->Insert(mode); 1304 decayTable->Insert(mode); 1260 << 1305 1261 // K0 + Anti_K*0 1306 // K0 + Anti_K*0 1262 mode = new G4PhaseSpaceDecayChannel(nameP << 1307 mode = new G4PhaseSpaceDecayChannel(nameParent, br/4., 2, >> 1308 "kaon0","anti_k_star0"); 1263 decayTable->Insert(mode); 1309 decayTable->Insert(mode); 1264 << 1310 1265 // Anti_K0 + K*0 1311 // Anti_K0 + K*0 1266 mode = new G4PhaseSpaceDecayChannel(nameP << 1312 mode = new G4PhaseSpaceDecayChannel(nameParent, br/4., 2, 1267 decayTable->Insert(mode); << 1313 "anti_kaon0","k_star0"); 1268 } << 1269 else if (iIso3 == 2) { << 1270 // K+ + Anti_K*0 << 1271 mode = new G4PhaseSpaceDecayChannel(nameP << 1272 decayTable->Insert(mode); 1314 decayTable->Insert(mode); 1273 1315 1274 // K0 + K*+ << 1316 } else if (iIso3==2) { 1275 mode = new G4PhaseSpaceDecayChannel(nameP << 1317 // K+ + Anti_K*0 >> 1318 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 2, >> 1319 "kaon+","anti_k_star0"); 1276 decayTable->Insert(mode); 1320 decayTable->Insert(mode); 1277 } << 1321 1278 else if (iIso3 == -2) { << 1322 // K0 + K*+ 1279 // K- + K*0 << 1323 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 2, 1280 mode = new G4PhaseSpaceDecayChannel(nameP << 1324 "anti_kaon0","k_star+"); 1281 decayTable->Insert(mode); 1325 decayTable->Insert(mode); 1282 1326 1283 // K0 + K*- << 1327 } else if (iIso3==-2) { 1284 mode = new G4PhaseSpaceDecayChannel(nameP << 1328 // K- + K*0 >> 1329 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 2, >> 1330 "kaon-","k_star0"); >> 1331 decayTable->Insert(mode); >> 1332 >> 1333 // K0 + K*- >> 1334 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 2, >> 1335 "kaon0","k_star-"); 1285 decayTable->Insert(mode); 1336 decayTable->Insert(mode); >> 1337 1286 } 1338 } 1287 1339 1288 return decayTable; 1340 return decayTable; 1289 } 1341 } 1290 1342 1291 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1343 G4DecayTable* G4ExcitedMesonConstructor::Add2KMode( 1292 << 1344 G4DecayTable* decayTable, const G4String& nameParent, 1293 << 1345 G4double br, G4int iIso3, G4int ) 1294 { 1346 { 1295 G4VDecayChannel* mode; 1347 G4VDecayChannel* mode; 1296 1348 1297 if (iIso3 == 0) { << 1349 if (iIso3==0) { 1298 // K+ + K- 1350 // K+ + K- 1299 mode = new G4PhaseSpaceDecayChannel(nameP << 1351 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 2, >> 1352 "kaon+","kaon-"); 1300 decayTable->Insert(mode); 1353 decayTable->Insert(mode); 1301 << 1354 1302 // K0 + Anti_K0 1355 // K0 + Anti_K0 1303 mode = new G4PhaseSpaceDecayChannel(nameP << 1356 mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 2, >> 1357 "kaon0","anti_kaon0"); 1304 decayTable->Insert(mode); 1358 decayTable->Insert(mode); 1305 } << 1359 } else if (iIso3==+2) { 1306 else if (iIso3 == +2) { << 1307 // K+ + anti_K0 1360 // K+ + anti_K0 1308 mode = new G4PhaseSpaceDecayChannel(nameP << 1361 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 1362 "kaon+","anti_kaon0"); 1309 decayTable->Insert(mode); 1363 decayTable->Insert(mode); 1310 } << 1364 } else if (iIso3==-2) { 1311 else if (iIso3 == -2) { << 1312 // K- + K0 1365 // K- + K0 1313 mode = new G4PhaseSpaceDecayChannel(nameP << 1366 mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2, >> 1367 "kaon-","kaon0"); 1314 decayTable->Insert(mode); 1368 decayTable->Insert(mode); 1315 } << 1369 } 1316 << 1370 1317 return decayTable; 1371 return decayTable; 1318 } 1372 } 1319 1373 1320 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1374 G4DecayTable* G4ExcitedMesonConstructor::Add2KPiMode( 1321 << 1375 G4DecayTable* decayTable, const G4String& nameParent, 1322 << 1376 G4double br, G4int , G4int iIso) 1323 { 1377 { 1324 // X(I=0)-->KKpi << 1378 1325 if (iIso != 0) return decayTable; << 1379 // X(I=0)-->KKpi >> 1380 if (iIso!=0) return decayTable; 1326 1381 1327 G4VDecayChannel* mode; 1382 G4VDecayChannel* mode; 1328 1383 1329 // K+ + K- + pi0 1384 // K+ + K- + pi0 1330 mode = new G4PhaseSpaceDecayChannel(namePar << 1385 mode = new G4PhaseSpaceDecayChannel(nameParent, br/6., 3, >> 1386 "kaon+","kaon-","pi0"); 1331 decayTable->Insert(mode); 1387 decayTable->Insert(mode); 1332 << 1388 1333 // K0 + Anti_K0 + pi0 1389 // K0 + Anti_K0 + pi0 1334 mode = new G4PhaseSpaceDecayChannel(namePar << 1390 mode = new G4PhaseSpaceDecayChannel(nameParent, br/6., 3, >> 1391 "kaon0","anti_kaon0","pi0"); 1335 decayTable->Insert(mode); 1392 decayTable->Insert(mode); 1336 << 1393 1337 // K+ + anti_K0 + pi- 1394 // K+ + anti_K0 + pi- 1338 mode = new G4PhaseSpaceDecayChannel(namePar << 1395 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, >> 1396 "kaon+","anti_kaon0","pi-"); 1339 decayTable->Insert(mode); 1397 decayTable->Insert(mode); 1340 << 1398 1341 // K- + K0 + pi+ 1399 // K- + K0 + pi+ 1342 mode = new G4PhaseSpaceDecayChannel(namePar << 1400 mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3, >> 1401 "kaon-","kaon0","pi+"); 1343 decayTable->Insert(mode); 1402 decayTable->Insert(mode); 1344 << 1403 >> 1404 1345 return decayTable; 1405 return decayTable; 1346 } 1406 } 1347 1407 1348 // clang-format off << 1349 << 1350 // PDG2005 1408 // PDG2005 1351 // eta(1440) is renamed to eta(1475) << 1409 // eta(1440) is renamed to eta(1475) 1352 // omega(1600) is renamed to omega(1650) 1410 // omega(1600) is renamed to omega(1650) 1353 // 1411 // 1354 // 1412 // 1355 1413 1356 1414 1357 const char* G4ExcitedMesonConstructor::name[G 1415 const char* G4ExcitedMesonConstructor::name[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ] = 1358 { 1416 { 1359 { "b1(1235)", "h1(1170)", "h1(1380)", 1417 { "b1(1235)", "h1(1170)", "h1(1380)", "k1(1270)", "k1(1270)" }, 1360 { "a0(1450)", "f0(1370)", "", " 1418 { "a0(1450)", "f0(1370)", "", "k0_star(1430)", "k0_star(1430)" }, 1361 { "a1(1260)", "f1(1285)", "f1(1420)", 1419 { "a1(1260)", "f1(1285)", "f1(1420)", "k1(1400)", "k1(1400)" }, 1362 { "a2(1320)", "f2(1270)","f2_prime(1525)" 1420 { "a2(1320)", "f2(1270)","f2_prime(1525)","k2_star(1430)","k2_star(1430)"}, 1363 {"pi2(1670)", "eta2(1645)", "eta2(1870)", 1421 {"pi2(1670)", "eta2(1645)", "eta2(1870)", "k2(1770)", "k2(1770)" }, 1364 {"rho(1700)", "omega(1650)", "", 1422 {"rho(1700)", "omega(1650)", "", "k_star(1680)", "k_star(1680)" }, 1365 {"rho3(1690)","omega3(1670)","phi3(1850)", 1423 {"rho3(1690)","omega3(1670)","phi3(1850)", "k3_star(1780)", "k3_star(1780)" }, 1366 { "pi(1300)", "eta(1295)", "eta(1475)", 1424 { "pi(1300)", "eta(1295)", "eta(1475)", "k(1460)", "k(1460)" }, 1367 {"rho(1450)","omega(1420)", "phi(1680)", 1425 {"rho(1450)","omega(1420)", "phi(1680)", "k_star(1410)", "k_star(1410)" }, 1368 { "", "f2(1810)", "f2(2010)", " 1426 { "", "f2(1810)", "f2(2010)", "k2_star(1980)", "k2_star(1980)" } 1369 }; 1427 }; 1370 1428 1371 const G4double G4ExcitedMesonConstructor::mas << 1429 const G4double G4ExcitedMesonConstructor::mass[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ] = 1372 { 1430 { 1373 { 1.2295*GeV, 1.166*GeV, 1.409*GeV, 1.253* << 1431 { 1.2295*GeV, 1.170*GeV, 1.386*GeV, 1.272*GeV, 1.272*GeV }, 1374 { 1.439*GeV, 1.350*GeV, 0.0, 1.425* << 1432 { 1.474*GeV, 1.350*GeV, 0.0, 1.430*GeV, 1.430*GeV }, 1375 { 1.230*GeV,1.2819*GeV,1.4263*GeV, 1.403* << 1433 { 1.230*GeV,1.2819*GeV,1.4264*GeV, 1.403*GeV, 1.403*GeV }, 1376 { 1.3182*GeV,1.2750*GeV,1.5174*GeV,1.4273* << 1434 { 1.3183*GeV,1.2755*GeV, 1.525*GeV,1.4256*GeV, 1.4256*GeV }, 1377 { 1.6706*GeV, 1.617*GeV, 1.842*GeV, 1.773* << 1435 { 1.6722*GeV, 1.617*GeV, 1.842*GeV, 1.773*GeV, 1.773*GeV }, 1378 { 1.729*GeV, 1.670*GeV, 0.0, 1.718* << 1436 { 1.720*GeV, 1.670*GeV, 0.0, 1.718*GeV, 1.718*GeV }, 1379 { 1.6888*GeV, 1.667*GeV, 1.854*GeV, 1.779* << 1437 { 1.6888*GeV, 1.667*GeV, 1.854*GeV, 1.776*GeV, 1.776*GeV }, 1380 { 1.300*GeV, 1.294*GeV, 1.475*GeV, 1.482* << 1438 { 1.300*GeV, 1.294*GeV, 1.476*GeV, 1.460*GeV, 1.460*GeV }, 1381 { 1.465*GeV, 1.410*GeV, 1.680*GeV, 1.414* << 1439 { 1.465*GeV, 1.425*GeV, 1.680*GeV, 1.421*GeV, 1.421*GeV }, 1382 { 0.0, 1.815*GeV, 2.011*GeV, 1.994* << 1440 { 0.0, 1.815*GeV, 2.010*GeV, 1.973*GeV, 1.973*GeV } 1383 }; 1441 }; 1384 1442 1385 const G4double G4ExcitedMesonConstructor::ma 1443 const G4double G4ExcitedMesonConstructor::massKdiff[ G4ExcitedMesonConstructor::NMultiplets ] = { 1386 0.0*MeV, 0.0*MeV, 0.0*MeV, 6.8*MeV, 0.0*Me << 1444 0.0*MeV, 0.0*MeV, 0.0*MeV, 6.8*MeV, 0.0*MeV, 1387 0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0* 1445 0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*MeV 1388 }; 1446 }; 1389 1447 1390 const G4double G4ExcitedMesonConstructor::wi 1448 const G4double G4ExcitedMesonConstructor::widthKdiff[ G4ExcitedMesonConstructor::NMultiplets ] = { 1391 0.0*MeV, 0.0*MeV, 0.0*MeV, 10.5*MeV, 0.0*M << 1449 0.0*MeV, 0.0*MeV, 0.0*MeV, 10.5*MeV, 0.0*MeV, 1392 0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0* 1450 0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*MeV 1393 }; 1451 }; 1394 1452 1395 const G4double G4ExcitedMesonConstructor::wid << 1453 const G4double G4ExcitedMesonConstructor::width[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ] = 1396 { 1454 { 1397 { 142.0*MeV, 375.0*MeV, 78.0*MeV, 90.0*M << 1455 { 142.0*MeV, 360.0*MeV, 91.0*MeV, 90.0*MeV, 90.0*MeV }, 1398 { 258.0*MeV, 350.0*MeV, 0.0, 270.0*M << 1456 { 265.0*MeV, 350.0*MeV, 0.0, 270.0*MeV, 270.0*MeV }, 1399 { 420.0*MeV, 22.7*MeV, 54.5*MeV, 174.0*M << 1457 { 420.0*MeV, 22.7*MeV, 54.9*MeV, 174.0*MeV, 174.0*MeV }, 1400 { 107.0*MeV, 186.6*MeV, 86.0*MeV, 100.0*M << 1458 { 107.0*MeV, 186.7*MeV, 73.0*MeV, 98.5*MeV, 98.5*MeV }, 1401 { 258.0*MeV, 181.0*MeV, 225.0*MeV, 186.0*M << 1459 { 260.0*MeV, 181.0*MeV, 225.0*MeV, 186.0*MeV, 186.0*MeV }, 1402 { 250.0*MeV, 315.0*MeV, 0.0, 322.0*M << 1460 { 250.0*MeV, 315.0*MeV, 0.0, 320.0*MeV, 320.0*MeV }, 1403 { 161.0*MeV, 168.0*MeV, 87.0*MeV, 161.0*M << 1461 { 161.0*MeV, 168.0*MeV, 87.0*MeV, 159.0*MeV, 159.0*MeV }, 1404 { 400.0*MeV, 55.0*MeV, 90.0*MeV, 335.0*M << 1462 { 400.0*MeV, 55.0*MeV, 85.0*MeV, 260.0*MeV, 260.0*MeV }, 1405 { 400.0*MeV, 290.0*MeV, 150.0*MeV, 232.0*M << 1463 { 400.0*MeV, 215.0*MeV, 150.0*MeV, 236.0*MeV, 236.0*MeV }, 1406 { 0.0, 197.0*MeV, 202.0*MeV, 348.0*M << 1464 { 0.0, 197.0*MeV, 200.0*MeV, 373.0*MeV, 373.0*MeV } 1407 }; 1465 }; 1408 1466 1409 1467 1410 const G4int G4ExcitedMesonConstructor::iIs 1468 const G4int G4ExcitedMesonConstructor::iIsoSpin[] = 1411 { 1469 { 1412 // Tpi TEta TEtaPrime TK TAntiK 1470 // Tpi TEta TEtaPrime TK TAntiK 1413 2, 0, 0, 1, 1 1471 2, 0, 0, 1, 1 1414 }; 1472 }; 1415 1473 1416 const G4int G4ExcitedMesonConstructor::iSp 1474 const G4int G4ExcitedMesonConstructor::iSpin[] = 1417 { 1475 { 1418 //N 1 1 1 1 1 1 1 1476 //N 1 1 1 1 1 1 1 2 2 2 1419 // 1P1 3P0 3P1 3P2 1D2 3D1 3D3 1477 // 1P1 3P0 3P1 3P2 1D2 3D1 3D3 1S0 3S1 3P2 1420 2, 0, 2, 4, 4, 2, 6, 1478 2, 0, 2, 4, 4, 2, 6, 0, 2, 4 1421 }; 1479 }; 1422 1480 1423 const G4int G4ExcitedMesonConstructor::iPa 1481 const G4int G4ExcitedMesonConstructor::iParity[] = 1424 { 1482 { 1425 //N 1 1 1 1 1 1 1 1483 //N 1 1 1 1 1 1 1 2 2 2 1426 // 1P1 3P0 3P1 3P2 1D2 3D1 3D3 1484 // 1P1 3P0 3P1 3P2 1D2 3D1 3D3 1S0 3S1 3P2 1427 +1, +1, +1, +1, -1, -1, -1, 1485 +1, +1, +1, +1, -1, -1, -1, -1, -1, +1 1428 }; 1486 }; 1429 1487 1430 const G4int G4ExcitedMesonConstructor::iCh 1488 const G4int G4ExcitedMesonConstructor::iChargeConjugation[] = 1431 { 1489 { 1432 //N 1 1 1 1 1 1 1 1490 //N 1 1 1 1 1 1 1 2 2 2 1433 // 1P1 3P0 3P1 3P2 1D2 3D1 3D3 1491 // 1P1 3P0 3P1 3P2 1D2 3D1 3D3 1S0 3S1 3P2 1434 -1, +1, +1, +1, +1, -1, -1, 1492 -1, +1, +1, +1, +1, -1, -1, +1, -1, +1 1435 }; 1493 }; 1436 1494 1437 const G4int G4ExcitedMesonConstructor::iGP 1495 const G4int G4ExcitedMesonConstructor::iGParity[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ]= 1438 { 1496 { 1439 { +1, -1, -1, 0, 0}, 1497 { +1, -1, -1, 0, 0}, 1440 { -1, +1, 0, 0, 0}, 1498 { -1, +1, 0, 0, 0}, 1441 { -1, +1, +1, 0, 0}, 1499 { -1, +1, +1, 0, 0}, 1442 { -1, +1, +1, 0, 0}, 1500 { -1, +1, +1, 0, 0}, 1443 { -1, +1, +1, 0, 0}, 1501 { -1, +1, +1, 0, 0}, 1444 { +1, -1, 0, 0, 0}, 1502 { +1, -1, 0, 0, 0}, 1445 { +1, -1, -1, 0, 0}, 1503 { +1, -1, -1, 0, 0}, 1446 { -1, +1, +1, 0, 0}, 1504 { -1, +1, +1, 0, 0}, 1447 { +1, -1, -1, 0, 0}, 1505 { +1, -1, -1, 0, 0}, 1448 { 0, +1, +1, 0, 0} 1506 { 0, +1, +1, 0, 0} 1449 }; 1507 }; 1450 1508 1451 1509 1452 const G4int G4ExcitedMesonConstructor::enc 1510 const G4int G4ExcitedMesonConstructor::encodingOffset[]= 1453 { 10000, 10000, 20000, 0, 10000, 30000, 1511 { 10000, 10000, 20000, 0, 10000, 30000, 0, 100000,100000,100000}; 1454 1512 1455 1513 1456 1514 1457 1515 1458 const G4double G4ExcitedMesonConstructor::bRa 1516 const G4double G4ExcitedMesonConstructor::bRatio[G4ExcitedMesonConstructor::NMultiplets][G4ExcitedMesonConstructor::NMesonTypes][G4ExcitedMesonConstructor::NumberOfDecayModes]= 1459 { 1517 { 1460 // 0 1 2 3 4 5 6 1518 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1461 // "b1(1235)", "h1(1170)", "h1(1380)", << 1519 // "b1(1235)", "h1(1170)", "h1(1380)", "k1(1270)", "k1(1270)" 1462 { 1520 { 1463 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1521 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00 }, 1464 { 0.00, 0.00, 0.00, 0.90, 0.10, 0.00, 0.00 1522 { 0.00, 0.00, 0.00, 0.90, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1465 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1523 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1466 { 0.00, 0.47, 0.42, 0.11, 0.00, 0.00, 0.00 1524 { 0.00, 0.47, 0.42, 0.11, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1467 { 0.00, 0.47, 0.42, 0.11, 0.00, 0.00, 0.00 1525 { 0.00, 0.47, 0.42, 0.11, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1468 }, 1526 }, 1469 // 0 1 2 3 4 5 6 1527 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1470 // "a0(1450)", "f0(1370)", "", << 1528 // "a0(1450)", "f0(1370)", "", "k0_star(1430)", "k0_star(1430)" 1471 { 1529 { 1472 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.90, 0.00 1530 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.90, 0.00, 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1473 { 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.70 1531 { 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.70, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1474 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1532 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1475 { 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1533 { 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1476 { 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1534 { 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1477 }, 1535 }, 1478 // 0 1 2 3 4 5 6 1536 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1479 // "a1(1260)", "f1(1285)", "f1(1420)", << 1537 // "a1(1260)", "f1(1285)", "f1(1420)", "k1(1400)", "k1(1400)" 1480 { 1538 { 1481 { 0.10, 0.00, 0.00, 0.90, 0.00, 0.00, 0.00 1539 { 0.10, 0.00, 0.00, 0.90, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1482 { 0.00, 0.07, 0.00, 0.00, 0.00, 0.00, 0.20 1540 { 0.00, 0.07, 0.00, 0.00, 0.00, 0.00, 0.20, 0.00, 0.54, 0.00, 0.10, 0.00, 0.00, 0.00, 0.09, 0.00, 0.00, 0.00, 0.00 }, 1483 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1541 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00 }, 1484 { 0.00, 0.96, 0.03, 0.01, 0.00, 0.00, 0.00 1542 { 0.00, 0.96, 0.03, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1485 { 0.00, 0.96, 0.03, 0.01, 0.00, 0.00, 0.00 1543 { 0.00, 0.96, 0.03, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1486 }, 1544 }, 1487 // 0 1 2 3 4 5 6 1545 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1488 //"a2(1320)", "f2(1270)","f2_prime(1525) 1546 //"a2(1320)", "f2(1270)","f2_prime(1525)","k2_star(1430)","k2_star(1430)" 1489 { 1547 { 1490 { 0.00, 0.00, 0.00, 0.70, 0.00, 0.14, 0.00 1548 { 0.00, 0.00, 0.00, 0.70, 0.00, 0.14, 0.00, 0.00, 0.00, 0.00, 0.00, 0.11, 0.00, 0.05, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1491 { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.30 1549 { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1492 { 0.00, 0.00, 0.01, 0.00, 0.00, 0.00, 0.00 1550 { 0.00, 0.00, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.10, 0.89, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1493 { 0.50, 0.25, 0.09, 0.03, 0.13, 0.00, 0.00 1551 { 0.50, 0.25, 0.09, 0.03, 0.13, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1494 { 0.50, 0.25, 0.09, 0.03, 0.13, 0.00, 0.00 1552 { 0.50, 0.25, 0.09, 0.03, 0.13, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1495 }, 1553 }, 1496 // 0 1 2 3 4 5 6 1554 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1497 // "pi2(1670)", "eta2(1645)", "eta2(1870)" << 1555 // "pi2(1670)", "eta2(1645)", "eta2(1870)", "k2(1770)", "k2(1770)" 1498 { 1556 { 1499 { 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00 1557 { 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.04, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.56, 0.10, 0.00 }, 1500 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1558 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.90 }, 1501 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50 1559 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50 }, 1502 { 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00 1560 { 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1503 { 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00 1561 { 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1504 }, 1562 }, 1505 // 0 1 2 3 4 5 6 1563 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1506 // "rho(1700)", "omega(1650)", "" << 1564 // "rho(1700)", "omega(1650)", "", "k_star(1680)", "k_star(1680)" 1507 { 1565 { 1508 { 0.00, 0.00, 0.10, 0.00, 0.00, 0.20, 0.00 1566 { 0.00, 0.00, 0.10, 0.00, 0.00, 0.20, 0.00, 0.00, 0.00, 0.00, 0.70, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1509 { 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00 1567 { 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1510 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1568 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1511 { 0.00, 0.40, 0.30, 0.30, 0.00, 0.00, 0.00 1569 { 0.00, 0.40, 0.30, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1512 { 0.00, 0.40, 0.30, 0.30, 0.00, 0.00, 0.00 1570 { 0.00, 0.40, 0.30, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1513 }, 1571 }, 1514 // 0 1 2 3 4 5 6 1572 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1515 // "rho3(1690)","omega3(1670)","phi3(1850) 1573 // "rho3(1690)","omega3(1670)","phi3(1850)", "k3_star(1780)", "k3_star(1780)" 1516 { 1574 { 1517 { 0.00, 0.00, 0.24, 0.00, 0.00, 0.00, 0.60 1575 { 0.00, 0.00, 0.24, 0.00, 0.00, 0.00, 0.60, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.01, 0.04, 0.11, 0.00, 0.00, 0.00 }, 1518 { 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00 1576 { 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1519 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1577 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.40, 0.00, 0.00, 0.00, 0.00, 0.00, 0.60, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1520 { 0.19, 0.20, 0.31, 0.00, 0.00, 0.00, 0.30 1578 { 0.19, 0.20, 0.31, 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1521 { 0.19, 0.20, 0.31, 0.00, 0.00, 0.00, 0.30 1579 { 0.19, 0.20, 0.31, 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1522 }, 1580 }, 1523 // 0 1 2 3 4 5 6 1581 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1524 // "pi(1300)", "eta(1295)", "eta(1475)", << 1582 // "pi(1300)", "eta(1295)", "eta(1475)", "k(1460)", "k(1460)" 1525 { 1583 { 1526 { 0.00, 0.00, 0.00, 0.50, 0.50, 0.00, 0.00 1584 { 0.00, 0.00, 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1527 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1585 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1528 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1586 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.20, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00, 0.60, 0.00, 0.00, 0.00, 0.00 }, 1529 { 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00 1587 { 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1530 { 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00 1588 { 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1531 }, 1589 }, 1532 // 0 1 2 3 4 5 6 1590 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1533 // "rho(1450)","omega(1420)", "phi(1680)" << 1591 // "rho(1450)","omega(1420)", "phi(1680)", "k_star(1410)", "k_star(1410)" 1534 { 1592 { 1535 { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.50 1593 { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1536 { 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00 1594 { 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1537 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1595 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.80, 0.00, 0.00, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00 }, 1538 { 0.30, 0.65, 0.05, 0.00, 0.00, 0.00, 0.00 1596 { 0.30, 0.65, 0.05, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1539 { 0.30, 0.65, 0.05, 0.00, 0.00, 0.00, 0.00 1597 { 0.30, 0.65, 0.05, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1540 }, 1598 }, 1541 // 0 1 2 3 4 5 6 1599 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1542 // "", "f2(1810)", "f2(2010)", << 1600 // "", "f2(1810)", "f2(2010)", "k2_star(1980)", "k2_star(1980)" 1543 { 1601 { 1544 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1602 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1545 { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00 1603 { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.00, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1546 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 1604 { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1547 { 0.00, 0.00, 0.60, 0.40, 0.00, 0.00, 0.00 1605 { 0.00, 0.00, 0.60, 0.40, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }, 1548 { 0.00, 0.00, 0.60, 0.40, 0.00, 0.00, 0.00 1606 { 0.00, 0.00, 0.60, 0.40, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 } 1549 } 1607 } 1550 }; 1608 }; >> 1609 >> 1610 >> 1611 >> 1612 >> 1613 >> 1614 1551 1615