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 #include "G4SPBaryon.hh" 26 #include "G4SPBaryon.hh" 27 #include "Randomize.hh" 27 #include "Randomize.hh" 28 #include "G4ParticleTable.hh" 28 #include "G4ParticleTable.hh" 29 29 30 // correcting numbers, HPW Dec 1999 30 // correcting numbers, HPW Dec 1999 31 31 32 G4int G4SPBaryon::FindQuark(G4int diQuark) con 32 G4int G4SPBaryon::FindQuark(G4int diQuark) const 33 { 33 { 34 G4double sum = GetProbability(diQuark); 34 G4double sum = GetProbability(diQuark); 35 G4double random = G4UniformRand(); 35 G4double random = G4UniformRand(); 36 G4double running = 0; 36 G4double running = 0; 37 G4int Quark(0); 37 G4int Quark(0); 38 typedef std::vector<G4SPPartonInfo *>::const 38 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 39 iter i; 39 iter i; 40 for (i = thePartonInfo.begin(); i!=theParton 40 for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++) 41 { 41 { 42 if (std::abs((*i)->GetDiQuark()) == std::a 42 if (std::abs((*i)->GetDiQuark()) == std::abs(diQuark)) 43 { 43 { 44 running += (*i)->GetProbability(); 44 running += (*i)->GetProbability(); 45 if (running/sum >= random) 45 if (running/sum >= random) 46 { 46 { 47 Quark = (*i)->GetQuark(); 47 Quark = (*i)->GetQuark(); 48 break; 48 break; 49 } 49 } 50 } 50 } 51 } 51 } 52 return Quark; 52 return Quark; 53 } 53 } 54 54 55 55 56 G4double G4SPBaryon::GetProbability(G4int diQu 56 G4double G4SPBaryon::GetProbability(G4int diQuark) const 57 { 57 { 58 G4double sum = 0; 58 G4double sum = 0; 59 typedef std::vector<G4SPPartonInfo *>::const 59 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 60 iter i; 60 iter i; 61 for (i = thePartonInfo.begin(); i!=theParton 61 for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++) 62 { 62 { 63 if (std::abs((*i)->GetDiQuark()) == std::a 63 if (std::abs((*i)->GetDiQuark()) == std::abs(diQuark)) 64 { 64 { 65 sum += (*i)->GetProbability(); 65 sum += (*i)->GetProbability(); 66 } 66 } 67 } 67 } 68 return sum; 68 return sum; 69 } 69 } 70 70 71 71 72 G4int G4SPBaryon:: 72 G4int G4SPBaryon:: 73 MatchDiQuarkAndGetQuark(const G4SPBaryon & aBa 73 MatchDiQuarkAndGetQuark(const G4SPBaryon & aBaryon, G4int & aDiQuark) const 74 { 74 { 75 G4int result=0; 75 G4int result=0; 76 typedef std::vector<G4SPPartonInfo *>::const 76 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 77 iter i; 77 iter i; 78 G4double running = 0; 78 G4double running = 0; 79 G4double total = 0; 79 G4double total = 0; 80 for (i = thePartonInfo.begin(); i!=theParton 80 for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++) 81 { 81 { 82 total += aBaryon.GetProbability((*i)->GetD 82 total += aBaryon.GetProbability((*i)->GetDiQuark()); 83 } 83 } 84 G4double random = G4UniformRand(); 84 G4double random = G4UniformRand(); 85 for(i = thePartonInfo.begin(); i!=thePartonI 85 for(i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++) 86 { 86 { 87 running += aBaryon.GetProbability((*i)->Ge 87 running += aBaryon.GetProbability((*i)->GetDiQuark()); 88 if (random<running/total) 88 if (random<running/total) 89 { 89 { 90 result = (*i)->GetQuark(); // (diquark 90 result = (*i)->GetQuark(); // (diquark annihilated) 91 aDiQuark = (*i)->GetDiQuark(); 91 aDiQuark = (*i)->GetDiQuark(); 92 break; 92 break; 93 } 93 } 94 } 94 } 95 return result; 95 return result; 96 } 96 } 97 97 98 98 99 void G4SPBaryon:: 99 void G4SPBaryon:: 100 SampleQuarkAndDiquark(G4int & quark, G4int & d 100 SampleQuarkAndDiquark(G4int & quark, G4int & diQuark) const 101 { 101 { 102 typedef std::vector<G4SPPartonInfo *>::const 102 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 103 103 104 G4double random = G4UniformRand(); 104 G4double random = G4UniformRand(); 105 G4double sum = 0; 105 G4double sum = 0; 106 iter i; 106 iter i; 107 107 108 for (i=thePartonInfo.begin() ; i!=thePartonI 108 for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++) 109 { 109 { 110 sum += (*i)->GetProbability(); 110 sum += (*i)->GetProbability(); 111 if (sum > random) 111 if (sum > random) 112 { 112 { 113 if (theDefinition->GetPDGEncoding() < 0) 113 if (theDefinition->GetPDGEncoding() < 0) 114 { 114 { 115 quark = (*i)->GetDiQuark(); 115 quark = (*i)->GetDiQuark(); 116 diQuark = (*i)->GetQuark(); 116 diQuark = (*i)->GetQuark(); 117 } 117 } 118 else 118 else 119 { 119 { 120 quark = (*i)->GetQuark(); 120 quark = (*i)->GetQuark(); 121 diQuark = (*i)->GetDiQuark(); 121 diQuark = (*i)->GetDiQuark(); 122 } 122 } 123 break; 123 break; 124 } 124 } 125 } 125 } 126 } 126 } 127 127 128 128 129 void G4SPBaryon:: 129 void G4SPBaryon:: 130 FindDiquark(G4int quark, G4int & diQuark) cons 130 FindDiquark(G4int quark, G4int & diQuark) const 131 { 131 { 132 typedef std::vector<G4SPPartonInfo *>::const 132 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 133 G4double sum = 0; 133 G4double sum = 0; 134 iter i; 134 iter i; 135 for (i=thePartonInfo.begin() ; i!=thePartonI 135 for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++) 136 { 136 { 137 if (std::abs((*i)->GetQuark()) == std::abs 137 if (std::abs((*i)->GetQuark()) == std::abs(quark)) 138 { 138 { 139 sum += (*i)->GetProbability(); 139 sum += (*i)->GetProbability(); 140 } 140 } 141 } 141 } 142 G4double random = G4UniformRand(); 142 G4double random = G4UniformRand(); 143 G4double running = 0; 143 G4double running = 0; 144 for (i=thePartonInfo.begin() ; i!=thePartonI 144 for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++) { 145 if (std::abs((*i)->GetQuark()) == std::abs 145 if (std::abs((*i)->GetQuark()) == std::abs(quark)) 146 { 146 { 147 running += (*i)->GetProbability(); 147 running += (*i)->GetProbability(); 148 if (running/sum >= random) 148 if (running/sum >= random) 149 { 149 { 150 diQuark = (*i)->GetDiQuark(); 150 diQuark = (*i)->GetDiQuark(); 151 break; 151 break; 152 } 152 } 153 } 153 } 154 } 154 } 155 } 155 } 156 156 157 157 158 G4SPBaryon:: 158 G4SPBaryon:: 159 G4SPBaryon(G4Proton * aProton) 159 G4SPBaryon(G4Proton * aProton) 160 { 160 { 161 theDefinition = aProton; 161 theDefinition = aProton; 162 thePartonInfo.push_back(new G4SPPartonInfo(2 162 thePartonInfo.push_back(new G4SPPartonInfo(2203, 1, 1./3./2.)); // uu_1, d 163 thePartonInfo.push_back(new G4SPPartonInfo(2 163 thePartonInfo.push_back(new G4SPPartonInfo(2103, 2, 1./6.*2.)); // ud_1, u 164 thePartonInfo.push_back(new G4SPPartonInfo(2 164 thePartonInfo.push_back(new G4SPPartonInfo(2101, 2, 1./2.)); // ud_0, u 165 } 165 } 166 166 167 G4SPBaryon:: 167 G4SPBaryon:: 168 G4SPBaryon(G4AntiProton * aAntiProton) 168 G4SPBaryon(G4AntiProton * aAntiProton) 169 { 169 { 170 theDefinition = aAntiProton; 170 theDefinition = aAntiProton; 171 thePartonInfo.push_back(new G4SPPartonInfo(- 171 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -1, 1./3.)); 172 thePartonInfo.push_back(new G4SPPartonInfo(- 172 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 1./6.)); 173 thePartonInfo.push_back(new G4SPPartonInfo(- 173 thePartonInfo.push_back(new G4SPPartonInfo(-2101, -2, 1./2.)); 174 } 174 } 175 175 176 176 177 G4SPBaryon:: 177 G4SPBaryon:: 178 G4SPBaryon(G4Neutron * aNeutron) 178 G4SPBaryon(G4Neutron * aNeutron) 179 { 179 { 180 theDefinition = aNeutron; 180 theDefinition = aNeutron; 181 thePartonInfo.push_back(new G4SPPartonInfo(2 181 thePartonInfo.push_back(new G4SPPartonInfo(2103, 1, 1./6.*2.)); // ud_1, d 182 thePartonInfo.push_back(new G4SPPartonInfo(2 182 thePartonInfo.push_back(new G4SPPartonInfo(2101, 1, 1./2. )); // ud_0, d 183 thePartonInfo.push_back(new G4SPPartonInfo(1 183 thePartonInfo.push_back(new G4SPPartonInfo(1103, 2, 1./3./2 )); // dd_1, u 184 } 184 } 185 185 186 G4SPBaryon:: 186 G4SPBaryon:: 187 G4SPBaryon(G4AntiNeutron * aAntiNeutron) 187 G4SPBaryon(G4AntiNeutron * aAntiNeutron) 188 { 188 { 189 theDefinition = aAntiNeutron; 189 theDefinition = aAntiNeutron; 190 thePartonInfo.push_back(new G4SPPartonInfo(- 190 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -1, 1./6.)); 191 thePartonInfo.push_back(new G4SPPartonInfo(- 191 thePartonInfo.push_back(new G4SPPartonInfo(-2101, -1, 1./2.)); 192 thePartonInfo.push_back(new G4SPPartonInfo(- 192 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -2, 1./3.)); 193 } 193 } 194 194 195 195 196 G4SPBaryon:: 196 G4SPBaryon:: 197 G4SPBaryon(G4Lambda * aLambda) 197 G4SPBaryon(G4Lambda * aLambda) 198 { 198 { 199 theDefinition = aLambda; 199 theDefinition = aLambda; 200 thePartonInfo.push_back(new G4SPPartonInfo(2 200 thePartonInfo.push_back(new G4SPPartonInfo(2103, 3, 1./3.)); // ud_1, s 201 thePartonInfo.push_back(new G4SPPartonInfo(3 201 thePartonInfo.push_back(new G4SPPartonInfo(3203, 1, 1./4.)); // su_1, d 202 thePartonInfo.push_back(new G4SPPartonInfo(3 202 thePartonInfo.push_back(new G4SPPartonInfo(3201, 1, 1./12.)); // su_0, d 203 thePartonInfo.push_back(new G4SPPartonInfo(3 203 thePartonInfo.push_back(new G4SPPartonInfo(3103, 2, 1./4.)); // sd_1, u 204 thePartonInfo.push_back(new G4SPPartonInfo(3 204 thePartonInfo.push_back(new G4SPPartonInfo(3101, 2, 1./12.)); // sd_0, u 205 } 205 } 206 206 207 G4SPBaryon:: 207 G4SPBaryon:: 208 G4SPBaryon(G4AntiLambda * aAntiLambda) 208 G4SPBaryon(G4AntiLambda * aAntiLambda) 209 { 209 { 210 theDefinition = aAntiLambda; 210 theDefinition = aAntiLambda; 211 thePartonInfo.push_back(new G4SPPartonInfo(- 211 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -3, 1./3.)); 212 thePartonInfo.push_back(new G4SPPartonInfo(- 212 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -1, 1./4.)); 213 thePartonInfo.push_back(new G4SPPartonInfo(- 213 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -1, 1./12.)); 214 thePartonInfo.push_back(new G4SPPartonInfo(- 214 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -2, 1./4.)); 215 thePartonInfo.push_back(new G4SPPartonInfo(- 215 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -2, 1./12.)); 216 } 216 } 217 217 218 218 219 G4SPBaryon:: 219 G4SPBaryon:: 220 G4SPBaryon(G4SigmaPlus * aSigmaPlus) 220 G4SPBaryon(G4SigmaPlus * aSigmaPlus) 221 { 221 { 222 theDefinition = aSigmaPlus; 222 theDefinition = aSigmaPlus; 223 thePartonInfo.push_back(new G4SPPartonInfo(2 223 thePartonInfo.push_back(new G4SPPartonInfo(2203, 3, 1./3.)); // uu_1, s 224 thePartonInfo.push_back(new G4SPPartonInfo(3 224 thePartonInfo.push_back(new G4SPPartonInfo(3203, 2, 1./6.)); // su_1, u 225 thePartonInfo.push_back(new G4SPPartonInfo(3 225 thePartonInfo.push_back(new G4SPPartonInfo(3201, 2, 1./2.)); // su_0, u 226 } 226 } 227 227 228 G4SPBaryon:: 228 G4SPBaryon:: 229 G4SPBaryon(G4AntiSigmaPlus * aAntiSigmaPlus) 229 G4SPBaryon(G4AntiSigmaPlus * aAntiSigmaPlus) 230 { 230 { 231 theDefinition = aAntiSigmaPlus; 231 theDefinition = aAntiSigmaPlus; 232 thePartonInfo.push_back(new G4SPPartonInfo(- 232 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -3, 1./3.)); 233 thePartonInfo.push_back(new G4SPPartonInfo(- 233 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -2, 1./6.)); 234 thePartonInfo.push_back(new G4SPPartonInfo(- 234 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -2, 1./2.)); 235 } 235 } 236 236 237 237 238 G4SPBaryon:: 238 G4SPBaryon:: 239 G4SPBaryon(G4SigmaZero * aSigmaZero) 239 G4SPBaryon(G4SigmaZero * aSigmaZero) 240 { 240 { 241 theDefinition = aSigmaZero; 241 theDefinition = aSigmaZero; 242 thePartonInfo.push_back(new G4SPPartonInfo(2 242 thePartonInfo.push_back(new G4SPPartonInfo(2103, 3, 1./3.)); // ud_1, s 243 thePartonInfo.push_back(new G4SPPartonInfo(3 243 thePartonInfo.push_back(new G4SPPartonInfo(3203, 1, 1./12.)); // su_1, d 244 thePartonInfo.push_back(new G4SPPartonInfo(3 244 thePartonInfo.push_back(new G4SPPartonInfo(3201, 1, 1./4.)); // su_0, d 245 thePartonInfo.push_back(new G4SPPartonInfo(3 245 thePartonInfo.push_back(new G4SPPartonInfo(3103, 2, 1./12.)); // sd_1, u 246 thePartonInfo.push_back(new G4SPPartonInfo(3 246 thePartonInfo.push_back(new G4SPPartonInfo(3101, 2, 1./4.)); // sd_0, u 247 } 247 } 248 248 249 G4SPBaryon:: 249 G4SPBaryon:: 250 G4SPBaryon(G4AntiSigmaZero * aAntiSigmaZero) 250 G4SPBaryon(G4AntiSigmaZero * aAntiSigmaZero) 251 { 251 { 252 theDefinition = aAntiSigmaZero; 252 theDefinition = aAntiSigmaZero; 253 thePartonInfo.push_back(new G4SPPartonInfo(- 253 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -3, 1./3.)); 254 thePartonInfo.push_back(new G4SPPartonInfo(- 254 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -1, 1./12.)); 255 thePartonInfo.push_back(new G4SPPartonInfo(- 255 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -1, 1./4.)); 256 thePartonInfo.push_back(new G4SPPartonInfo(- 256 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -2, 1./12.)); 257 thePartonInfo.push_back(new G4SPPartonInfo(- 257 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -2, 1./4.)); 258 } 258 } 259 259 260 260 261 G4SPBaryon:: 261 G4SPBaryon:: 262 G4SPBaryon(G4SigmaMinus * aSigmaMinus) 262 G4SPBaryon(G4SigmaMinus * aSigmaMinus) 263 { 263 { 264 theDefinition = aSigmaMinus; 264 theDefinition = aSigmaMinus; 265 thePartonInfo.push_back(new G4SPPartonInfo(1 265 thePartonInfo.push_back(new G4SPPartonInfo(1103, 3, 1./3.)); // dd_1, s 266 thePartonInfo.push_back(new G4SPPartonInfo(3 266 thePartonInfo.push_back(new G4SPPartonInfo(3103, 1, 1./6.)); // sd_1, d 267 thePartonInfo.push_back(new G4SPPartonInfo(3 267 thePartonInfo.push_back(new G4SPPartonInfo(3101, 1, 1./2.)); // sd_0, d 268 } 268 } 269 269 270 G4SPBaryon:: 270 G4SPBaryon:: 271 G4SPBaryon(G4AntiSigmaMinus * aAntiSigmaMinus) 271 G4SPBaryon(G4AntiSigmaMinus * aAntiSigmaMinus) 272 { 272 { 273 theDefinition = aAntiSigmaMinus; 273 theDefinition = aAntiSigmaMinus; 274 thePartonInfo.push_back(new G4SPPartonInfo(- 274 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -3, 1./3.)); 275 thePartonInfo.push_back(new G4SPPartonInfo(- 275 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -1, 1./6.)); 276 thePartonInfo.push_back(new G4SPPartonInfo(- 276 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -1, 1./2.)); 277 } 277 } 278 278 279 279 280 G4SPBaryon:: 280 G4SPBaryon:: 281 G4SPBaryon(G4XiZero * aXiZero) 281 G4SPBaryon(G4XiZero * aXiZero) 282 { 282 { 283 theDefinition = aXiZero; 283 theDefinition = aXiZero; 284 thePartonInfo.push_back(new G4SPPartonInfo(3 284 thePartonInfo.push_back(new G4SPPartonInfo(3203, 3, 1./6.)); // su_1, s 285 thePartonInfo.push_back(new G4SPPartonInfo(3 285 thePartonInfo.push_back(new G4SPPartonInfo(3201, 3, 1./2.)); // su_0, s 286 thePartonInfo.push_back(new G4SPPartonInfo(3 286 thePartonInfo.push_back(new G4SPPartonInfo(3303, 2, 1./3.)); // ss_1, u 287 } 287 } 288 288 289 G4SPBaryon:: 289 G4SPBaryon:: 290 G4SPBaryon(G4AntiXiZero * aAntiXiZero) 290 G4SPBaryon(G4AntiXiZero * aAntiXiZero) 291 { 291 { 292 theDefinition = aAntiXiZero; 292 theDefinition = aAntiXiZero; 293 thePartonInfo.push_back(new G4SPPartonInfo(- 293 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -3, 1./6.)); 294 thePartonInfo.push_back(new G4SPPartonInfo(- 294 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -3, 1./2.)); 295 thePartonInfo.push_back(new G4SPPartonInfo(- 295 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -2, 1./3.)); 296 } 296 } 297 297 298 298 299 G4SPBaryon:: 299 G4SPBaryon:: 300 G4SPBaryon(G4XiMinus * aXiMinus) 300 G4SPBaryon(G4XiMinus * aXiMinus) 301 { 301 { 302 theDefinition = aXiMinus; 302 theDefinition = aXiMinus; 303 thePartonInfo.push_back(new G4SPPartonInfo(3 303 thePartonInfo.push_back(new G4SPPartonInfo(3103, 3, 1./6.)); // sd_1, s 304 thePartonInfo.push_back(new G4SPPartonInfo(3 304 thePartonInfo.push_back(new G4SPPartonInfo(3101, 3, 1./2.)); // sd_0, s 305 thePartonInfo.push_back(new G4SPPartonInfo(3 305 thePartonInfo.push_back(new G4SPPartonInfo(3303, 1, 1./3.)); // ss_1, d 306 } 306 } 307 307 308 G4SPBaryon:: 308 G4SPBaryon:: 309 G4SPBaryon(G4AntiXiMinus * aAntiXiMinus) 309 G4SPBaryon(G4AntiXiMinus * aAntiXiMinus) 310 { 310 { 311 theDefinition = aAntiXiMinus; 311 theDefinition = aAntiXiMinus; 312 thePartonInfo.push_back(new G4SPPartonInfo(- 312 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -3, 1./6.)); 313 thePartonInfo.push_back(new G4SPPartonInfo(- 313 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -3, 1./2.)); 314 thePartonInfo.push_back(new G4SPPartonInfo(- 314 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -1, 1./3.)); 315 } 315 } 316 316 317 317 318 G4SPBaryon:: 318 G4SPBaryon:: 319 G4SPBaryon(G4OmegaMinus * anOmegaMinus) 319 G4SPBaryon(G4OmegaMinus * anOmegaMinus) 320 { 320 { 321 theDefinition = anOmegaMinus; 321 theDefinition = anOmegaMinus; 322 thePartonInfo.push_back(new G4SPPartonInfo(3 322 thePartonInfo.push_back(new G4SPPartonInfo(3303, 3, 1.)); // ss_1, s 323 } 323 } 324 324 325 G4SPBaryon:: 325 G4SPBaryon:: 326 G4SPBaryon(G4AntiOmegaMinus * anAntiOmegaMinus 326 G4SPBaryon(G4AntiOmegaMinus * anAntiOmegaMinus) 327 { 327 { 328 theDefinition = anAntiOmegaMinus; 328 theDefinition = anAntiOmegaMinus; 329 thePartonInfo.push_back(new G4SPPartonInfo(- 329 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -3, 1.)); 330 } 330 } 331 331 332 332 333 // non static particles 333 // non static particles 334 G4SPBaryon:: 334 G4SPBaryon:: 335 G4SPBaryon(G4ParticleDefinition * aDefinition) 335 G4SPBaryon(G4ParticleDefinition * aDefinition) 336 { 336 { 337 theDefinition = aDefinition; 337 theDefinition = aDefinition; 338 if (theDefinition == G4ParticleTable::GetPar 338 if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2224)) // Delta++ 339 { 339 { 340 thePartonInfo.push_back(new G4SPPartonInfo 340 thePartonInfo.push_back(new G4SPPartonInfo(2203, 2, 1.)); // uu_1, u 341 } 341 } 342 else if (theDefinition == G4ParticleTable::G 342 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2224)) // anti Delta++ 343 { 343 { 344 thePartonInfo.push_back(new G4SPPartonInfo 344 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -2, 1.)); 345 } 345 } 346 else if (theDefinition == G4ParticleTable::G 346 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2214)) // Delta+ 347 { 347 { 348 thePartonInfo.push_back(new G4SPPartonInfo 348 thePartonInfo.push_back(new G4SPPartonInfo(2203, 1, 1./3.)); // uu_1, d 349 thePartonInfo.push_back(new G4SPPartonInfo 349 thePartonInfo.push_back(new G4SPPartonInfo(2103, 2, 2./3.)); // ud_1, u 350 } 350 } 351 else if (theDefinition == G4ParticleTable::G 351 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2214)) // anti Delta+ 352 { 352 { 353 thePartonInfo.push_back(new G4SPPartonInfo 353 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -1, 1./3.)); 354 thePartonInfo.push_back(new G4SPPartonInfo 354 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 2./3.)); 355 } 355 } 356 else if (theDefinition == G4ParticleTable::G 356 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2114)) // Delta0 357 { 357 { 358 thePartonInfo.push_back(new G4SPPartonInfo 358 thePartonInfo.push_back(new G4SPPartonInfo(2103, 1, 2./3.)); // ud_1, d 359 thePartonInfo.push_back(new G4SPPartonInfo 359 thePartonInfo.push_back(new G4SPPartonInfo(1103, 2, 1./3.)); // dd_1, u 360 } 360 } 361 else if (theDefinition == G4ParticleTable::G 361 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2114)) // anti Delta0 362 { 362 { 363 thePartonInfo.push_back(new G4SPPartonInfo 363 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -1, 2./3.)); 364 thePartonInfo.push_back(new G4SPPartonInfo 364 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 1./3.)); 365 } 365 } 366 else if (theDefinition == G4ParticleTable::G 366 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(1114)) // Delta- 367 { 367 { 368 thePartonInfo.push_back(new G4SPPartonInfo 368 thePartonInfo.push_back(new G4SPPartonInfo(1103, 1, 1.)); // dd_1, d 369 } 369 } 370 else if (theDefinition == G4ParticleTable::G 370 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-1114)) // anti Delta- 371 { 371 { 372 thePartonInfo.push_back(new G4SPPartonInfo 372 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -1, 1.)); 373 } 373 } 374 } 374 } 375 375 376 376 377 G4SPBaryon::~G4SPBaryon() 377 G4SPBaryon::~G4SPBaryon() 378 { 378 { 379 for (unsigned int i=0;i<thePartonInfo.size() 379 for (unsigned int i=0;i<thePartonInfo.size(); i++) delete thePartonInfo[i]; 380 } 380 } 381 381 382 382 383 // Extension to charmed and bottom baryons and 383 // Extension to charmed and bottom baryons and anti-baryons 384 // G4SPPartonInfo(G4int diq, G4int q, G4dou 384 // G4SPPartonInfo(G4int diq, G4int q, G4double prob) 385 385 386 G4SPBaryon::G4SPBaryon(G4LambdacPlus * aLambda 386 G4SPBaryon::G4SPBaryon(G4LambdacPlus * aLambdacPlus) { 387 // lambda_c+(udc) treated as lambda(uds) wit 387 // lambda_c+(udc) treated as lambda(uds) with s replaced by c. 388 theDefinition = aLambdacPlus; 388 theDefinition = aLambdacPlus; 389 thePartonInfo.push_back(new G4SPPartonInfo(2 389 thePartonInfo.push_back(new G4SPPartonInfo(2103, 4, 1./3.)); // ud_1, c 390 thePartonInfo.push_back(new G4SPPartonInfo(4 390 thePartonInfo.push_back(new G4SPPartonInfo(4203, 1, 1./4.)); // cu_1, d 391 thePartonInfo.push_back(new G4SPPartonInfo(4 391 thePartonInfo.push_back(new G4SPPartonInfo(4201, 1, 1./12.)); // cu_0, d 392 thePartonInfo.push_back(new G4SPPartonInfo(4 392 thePartonInfo.push_back(new G4SPPartonInfo(4103, 2, 1./4.)); // cd_1, u 393 thePartonInfo.push_back(new G4SPPartonInfo(4 393 thePartonInfo.push_back(new G4SPPartonInfo(4101, 2, 1./12.)); // cd_0, u 394 } 394 } 395 395 396 G4SPBaryon::G4SPBaryon(G4AntiLambdacPlus * aAn 396 G4SPBaryon::G4SPBaryon(G4AntiLambdacPlus * aAntiLambdacPlus) { 397 theDefinition = aAntiLambdacPlus; 397 theDefinition = aAntiLambdacPlus; 398 thePartonInfo.push_back(new G4SPPartonInfo(- 398 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -4, 1./3.)); 399 thePartonInfo.push_back(new G4SPPartonInfo(- 399 thePartonInfo.push_back(new G4SPPartonInfo(-4203, -1, 1./4.)); 400 thePartonInfo.push_back(new G4SPPartonInfo(- 400 thePartonInfo.push_back(new G4SPPartonInfo(-4201, -1, 1./12.)); 401 thePartonInfo.push_back(new G4SPPartonInfo(- 401 thePartonInfo.push_back(new G4SPPartonInfo(-4103, -2, 1./4.)); 402 thePartonInfo.push_back(new G4SPPartonInfo(- 402 thePartonInfo.push_back(new G4SPPartonInfo(-4101, -2, 1./12.)); 403 } 403 } 404 404 405 405 406 G4SPBaryon::G4SPBaryon(G4SigmacPlusPlus * aSig 406 G4SPBaryon::G4SPBaryon(G4SigmacPlusPlus * aSigmacPlusPlus) { 407 // sigma_c++(uuc) treated as sigma+(uus) wit 407 // sigma_c++(uuc) treated as sigma+(uus) with s replaced by c. 408 theDefinition = aSigmacPlusPlus; 408 theDefinition = aSigmacPlusPlus; 409 thePartonInfo.push_back(new G4SPPartonInfo(2 409 thePartonInfo.push_back(new G4SPPartonInfo(2203, 4, 1./3.)); // uu_1, c 410 thePartonInfo.push_back(new G4SPPartonInfo(4 410 thePartonInfo.push_back(new G4SPPartonInfo(4203, 2, 1./6.)); // cu_1, u 411 thePartonInfo.push_back(new G4SPPartonInfo(4 411 thePartonInfo.push_back(new G4SPPartonInfo(4201, 2, 1./2.)); // cu_0, u 412 } 412 } 413 413 414 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlusPlus * 414 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlusPlus * aAntiSigmacPlusPlus) { 415 theDefinition = aAntiSigmacPlusPlus; 415 theDefinition = aAntiSigmacPlusPlus; 416 thePartonInfo.push_back(new G4SPPartonInfo(- 416 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -4, 1./3.)); 417 thePartonInfo.push_back(new G4SPPartonInfo(- 417 thePartonInfo.push_back(new G4SPPartonInfo(-4203, -2, 1./6.)); 418 thePartonInfo.push_back(new G4SPPartonInfo(- 418 thePartonInfo.push_back(new G4SPPartonInfo(-4201, -2, 1./2.)); 419 } 419 } 420 420 421 421 422 G4SPBaryon::G4SPBaryon(G4SigmacPlus * aSigmacP 422 G4SPBaryon::G4SPBaryon(G4SigmacPlus * aSigmacPlus) { 423 // sigma_c+(udc) treated as sigma0(uds) with 423 // sigma_c+(udc) treated as sigma0(uds) with s replaced by c. 424 theDefinition = aSigmacPlus; 424 theDefinition = aSigmacPlus; 425 thePartonInfo.push_back(new G4SPPartonInfo(2 425 thePartonInfo.push_back(new G4SPPartonInfo(2103, 4, 1./3.)); // ud_1, c 426 thePartonInfo.push_back(new G4SPPartonInfo(4 426 thePartonInfo.push_back(new G4SPPartonInfo(4203, 1, 1./12.)); // cu_1, d 427 thePartonInfo.push_back(new G4SPPartonInfo(4 427 thePartonInfo.push_back(new G4SPPartonInfo(4201, 1, 1./4.)); // cu_0, d 428 thePartonInfo.push_back(new G4SPPartonInfo(4 428 thePartonInfo.push_back(new G4SPPartonInfo(4103, 2, 1./12.)); // cd_1, u 429 thePartonInfo.push_back(new G4SPPartonInfo(4 429 thePartonInfo.push_back(new G4SPPartonInfo(4101, 2, 1./4.)); // cd_0, u 430 } 430 } 431 431 432 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlus * aAnt 432 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlus * aAntiSigmacPlus) { 433 theDefinition = aAntiSigmacPlus; 433 theDefinition = aAntiSigmacPlus; 434 thePartonInfo.push_back(new G4SPPartonInfo(- 434 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -4, 1./3.)); 435 thePartonInfo.push_back(new G4SPPartonInfo(- 435 thePartonInfo.push_back(new G4SPPartonInfo(-4203, -1, 1./12.)); 436 thePartonInfo.push_back(new G4SPPartonInfo(- 436 thePartonInfo.push_back(new G4SPPartonInfo(-4201, -1, 1./4.)); 437 thePartonInfo.push_back(new G4SPPartonInfo(- 437 thePartonInfo.push_back(new G4SPPartonInfo(-4103, -2, 1./12.)); 438 thePartonInfo.push_back(new G4SPPartonInfo(- 438 thePartonInfo.push_back(new G4SPPartonInfo(-4101, -2, 1./4.)); 439 } 439 } 440 440 441 441 442 G4SPBaryon::G4SPBaryon(G4SigmacZero * aSigmacZ 442 G4SPBaryon::G4SPBaryon(G4SigmacZero * aSigmacZero) { 443 // sigma_c0(ddc) treated as sigma-(dds) repl 443 // sigma_c0(ddc) treated as sigma-(dds) replacing s with c. 444 theDefinition = aSigmacZero; 444 theDefinition = aSigmacZero; 445 thePartonInfo.push_back(new G4SPPartonInfo(1 445 thePartonInfo.push_back(new G4SPPartonInfo(1103, 4, 1./3.)); // dd_1, c 446 thePartonInfo.push_back(new G4SPPartonInfo(4 446 thePartonInfo.push_back(new G4SPPartonInfo(4103, 1, 1./6.)); // cd_1, d 447 thePartonInfo.push_back(new G4SPPartonInfo(4 447 thePartonInfo.push_back(new G4SPPartonInfo(4101, 1, 1./2.)); // cd_0, d 448 } 448 } 449 449 450 G4SPBaryon::G4SPBaryon(G4AntiSigmacZero * aAnt 450 G4SPBaryon::G4SPBaryon(G4AntiSigmacZero * aAntiSigmacZero) { 451 theDefinition = aAntiSigmacZero; 451 theDefinition = aAntiSigmacZero; 452 thePartonInfo.push_back(new G4SPPartonInfo(- 452 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -4, 1./3.)); 453 thePartonInfo.push_back(new G4SPPartonInfo(- 453 thePartonInfo.push_back(new G4SPPartonInfo(-4103, -1, 1./6.)); 454 thePartonInfo.push_back(new G4SPPartonInfo(- 454 thePartonInfo.push_back(new G4SPPartonInfo(-4101, -1, 1./2.)); 455 } 455 } 456 456 457 457 458 G4SPBaryon::G4SPBaryon(G4XicPlus * aXicPlus) { 458 G4SPBaryon::G4SPBaryon(G4XicPlus * aXicPlus) { 459 // xi_c+(usc) treated as xi0(uss) replacing 459 // xi_c+(usc) treated as xi0(uss) replacing s with c. 460 theDefinition = aXicPlus; 460 theDefinition = aXicPlus; 461 thePartonInfo.push_back(new G4SPPartonInfo(3 461 thePartonInfo.push_back(new G4SPPartonInfo(3203, 4, 1./6.)); // su_1, c 462 thePartonInfo.push_back(new G4SPPartonInfo(3 462 thePartonInfo.push_back(new G4SPPartonInfo(3201, 4, 1./2.)); // su_0, c 463 thePartonInfo.push_back(new G4SPPartonInfo(4 463 thePartonInfo.push_back(new G4SPPartonInfo(4303, 2, 1./3.)); // cs_1, u 464 } 464 } 465 465 466 G4SPBaryon::G4SPBaryon(G4AntiXicPlus * aAntiXi 466 G4SPBaryon::G4SPBaryon(G4AntiXicPlus * aAntiXicPlus) { 467 theDefinition = aAntiXicPlus; 467 theDefinition = aAntiXicPlus; 468 thePartonInfo.push_back(new G4SPPartonInfo(- 468 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -4, 1./6.)); 469 thePartonInfo.push_back(new G4SPPartonInfo(- 469 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -4, 1./2.)); 470 thePartonInfo.push_back(new G4SPPartonInfo(- 470 thePartonInfo.push_back(new G4SPPartonInfo(-4303, -2, 1./3.)); 471 } 471 } 472 472 473 473 474 G4SPBaryon::G4SPBaryon(G4XicZero * aXicZero) { 474 G4SPBaryon::G4SPBaryon(G4XicZero * aXicZero) { 475 // xi_c0(dsc) treated as xi-(dss) replacing 475 // xi_c0(dsc) treated as xi-(dss) replacing s with c. 476 theDefinition = aXicZero; 476 theDefinition = aXicZero; 477 thePartonInfo.push_back(new G4SPPartonInfo(3 477 thePartonInfo.push_back(new G4SPPartonInfo(3103, 4, 1./6.)); // sd_1, c 478 thePartonInfo.push_back(new G4SPPartonInfo(3 478 thePartonInfo.push_back(new G4SPPartonInfo(3101, 4, 1./2.)); // sd_0, c 479 thePartonInfo.push_back(new G4SPPartonInfo(4 479 thePartonInfo.push_back(new G4SPPartonInfo(4303, 1, 1./3.)); // cs_1, d 480 } 480 } 481 481 482 G4SPBaryon::G4SPBaryon(G4AntiXicZero * aAntiXi 482 G4SPBaryon::G4SPBaryon(G4AntiXicZero * aAntiXicZero) { 483 theDefinition = aAntiXicZero; 483 theDefinition = aAntiXicZero; 484 thePartonInfo.push_back(new G4SPPartonInfo(- 484 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -4, 1./6.)); 485 thePartonInfo.push_back(new G4SPPartonInfo(- 485 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -4, 1./2.)); 486 thePartonInfo.push_back(new G4SPPartonInfo(- 486 thePartonInfo.push_back(new G4SPPartonInfo(-4303, -1, 1./3.)); 487 } 487 } 488 488 489 489 490 G4SPBaryon::G4SPBaryon(G4OmegacZero * aOmegacZ 490 G4SPBaryon::G4SPBaryon(G4OmegacZero * aOmegacZero) { 491 // omega_c0(ssc) treated as omega-(sss) with 491 // omega_c0(ssc) treated as omega-(sss) with s replaced by c. 492 theDefinition = aOmegacZero; 492 theDefinition = aOmegacZero; 493 thePartonInfo.push_back(new G4SPPartonInfo(3 493 thePartonInfo.push_back(new G4SPPartonInfo(3303, 4, 1.)); // ss_1, c 494 } 494 } 495 495 496 G4SPBaryon::G4SPBaryon(G4AntiOmegacZero * aAnt 496 G4SPBaryon::G4SPBaryon(G4AntiOmegacZero * aAntiOmegacZero) { 497 theDefinition = aAntiOmegacZero; 497 theDefinition = aAntiOmegacZero; 498 thePartonInfo.push_back(new G4SPPartonInfo(- 498 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -4, 1.)); 499 } 499 } 500 500 501 501 502 G4SPBaryon::G4SPBaryon(G4Lambdab * aLambdab) { 502 G4SPBaryon::G4SPBaryon(G4Lambdab * aLambdab) { 503 // lambda_b(udb) treated as lambda-(uds) rep 503 // lambda_b(udb) treated as lambda-(uds) replacing s with b. 504 theDefinition = aLambdab; 504 theDefinition = aLambdab; 505 thePartonInfo.push_back(new G4SPPartonInfo(2 505 thePartonInfo.push_back(new G4SPPartonInfo(2103, 5, 1./3.)); // ud_1, b 506 thePartonInfo.push_back(new G4SPPartonInfo(5 506 thePartonInfo.push_back(new G4SPPartonInfo(5203, 1, 1./4.)); // bu_1, d 507 thePartonInfo.push_back(new G4SPPartonInfo(5 507 thePartonInfo.push_back(new G4SPPartonInfo(5201, 1, 1./12.)); // bu_0, d 508 thePartonInfo.push_back(new G4SPPartonInfo(5 508 thePartonInfo.push_back(new G4SPPartonInfo(5103, 2, 1./4.)); // bd_1, u 509 thePartonInfo.push_back(new G4SPPartonInfo(5 509 thePartonInfo.push_back(new G4SPPartonInfo(5101, 2, 1./12.)); // bd_0, u 510 } 510 } 511 511 512 G4SPBaryon::G4SPBaryon(G4AntiLambdab * aAntiLa 512 G4SPBaryon::G4SPBaryon(G4AntiLambdab * aAntiLambdab) { 513 theDefinition = aAntiLambdab; 513 theDefinition = aAntiLambdab; 514 thePartonInfo.push_back(new G4SPPartonInfo(- 514 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -5, 1./3.)); 515 thePartonInfo.push_back(new G4SPPartonInfo(- 515 thePartonInfo.push_back(new G4SPPartonInfo(-5203, -1, 1./4.)); 516 thePartonInfo.push_back(new G4SPPartonInfo(- 516 thePartonInfo.push_back(new G4SPPartonInfo(-5201, -1, 1./12.)); 517 thePartonInfo.push_back(new G4SPPartonInfo(- 517 thePartonInfo.push_back(new G4SPPartonInfo(-5103, -2, 1./4.)); 518 thePartonInfo.push_back(new G4SPPartonInfo(- 518 thePartonInfo.push_back(new G4SPPartonInfo(-5101, -2, 1./12.)); 519 } 519 } 520 520 521 521 522 G4SPBaryon::G4SPBaryon(G4SigmabPlus * aSigmabP 522 G4SPBaryon::G4SPBaryon(G4SigmabPlus * aSigmabPlus) { 523 // sigma_b+(uub) treated as sigma+(uus) repl 523 // sigma_b+(uub) treated as sigma+(uus) replacing s with b. 524 theDefinition = aSigmabPlus; 524 theDefinition = aSigmabPlus; 525 thePartonInfo.push_back(new G4SPPartonInfo(2 525 thePartonInfo.push_back(new G4SPPartonInfo(2203, 5, 1./3.)); // uu_1, b 526 thePartonInfo.push_back(new G4SPPartonInfo(5 526 thePartonInfo.push_back(new G4SPPartonInfo(5203, 2, 1./6.)); // bu_1, u 527 thePartonInfo.push_back(new G4SPPartonInfo(5 527 thePartonInfo.push_back(new G4SPPartonInfo(5201, 2, 1./2.)); // bu_0, u 528 } 528 } 529 529 530 G4SPBaryon::G4SPBaryon(G4AntiSigmabPlus * aAnt 530 G4SPBaryon::G4SPBaryon(G4AntiSigmabPlus * aAntiSigmabPlus) { 531 theDefinition = aAntiSigmabPlus; 531 theDefinition = aAntiSigmabPlus; 532 thePartonInfo.push_back(new G4SPPartonInfo(- 532 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -5, 1./3.)); 533 thePartonInfo.push_back(new G4SPPartonInfo(- 533 thePartonInfo.push_back(new G4SPPartonInfo(-5203, -2, 1./6.)); 534 thePartonInfo.push_back(new G4SPPartonInfo(- 534 thePartonInfo.push_back(new G4SPPartonInfo(-5201, -2, 1./2.)); 535 } 535 } 536 536 537 537 538 G4SPBaryon::G4SPBaryon(G4SigmabZero * aSigmabZ 538 G4SPBaryon::G4SPBaryon(G4SigmabZero * aSigmabZero) { 539 // sigma_b0(udb) treated as sigma0(uds) repl 539 // sigma_b0(udb) treated as sigma0(uds) replacing s with b. 540 theDefinition = aSigmabZero; 540 theDefinition = aSigmabZero; 541 thePartonInfo.push_back(new G4SPPartonInfo(2 541 thePartonInfo.push_back(new G4SPPartonInfo(2103, 5, 1./3.)); // ud_1, b 542 thePartonInfo.push_back(new G4SPPartonInfo(5 542 thePartonInfo.push_back(new G4SPPartonInfo(5203, 1, 1./12.)); // bu_1, d 543 thePartonInfo.push_back(new G4SPPartonInfo(5 543 thePartonInfo.push_back(new G4SPPartonInfo(5201, 1, 1./4.)); // bu_0, d 544 thePartonInfo.push_back(new G4SPPartonInfo(5 544 thePartonInfo.push_back(new G4SPPartonInfo(5103, 2, 1./12.)); // bd_1, u 545 thePartonInfo.push_back(new G4SPPartonInfo(5 545 thePartonInfo.push_back(new G4SPPartonInfo(5101, 2, 1./4.)); // bd_0, u 546 } 546 } 547 547 548 G4SPBaryon::G4SPBaryon(G4AntiSigmabZero * aAnt 548 G4SPBaryon::G4SPBaryon(G4AntiSigmabZero * aAntiSigmabZero) { 549 theDefinition = aAntiSigmabZero; 549 theDefinition = aAntiSigmabZero; 550 thePartonInfo.push_back(new G4SPPartonInfo(- 550 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -5, 1./3.)); 551 thePartonInfo.push_back(new G4SPPartonInfo(- 551 thePartonInfo.push_back(new G4SPPartonInfo(-5203, -1, 1./12.)); 552 thePartonInfo.push_back(new G4SPPartonInfo(- 552 thePartonInfo.push_back(new G4SPPartonInfo(-5201, -1, 1./4.)); 553 thePartonInfo.push_back(new G4SPPartonInfo(- 553 thePartonInfo.push_back(new G4SPPartonInfo(-5103, -2, 1./12.)); 554 thePartonInfo.push_back(new G4SPPartonInfo(- 554 thePartonInfo.push_back(new G4SPPartonInfo(-5101, -2, 1./4.)); 555 } 555 } 556 556 557 557 558 G4SPBaryon::G4SPBaryon(G4SigmabMinus * aSigmab 558 G4SPBaryon::G4SPBaryon(G4SigmabMinus * aSigmabMinus) { 559 // sigma_b-(ddb) treated as sigma-(dds) repl 559 // sigma_b-(ddb) treated as sigma-(dds) replacing s with b. 560 theDefinition = aSigmabMinus; 560 theDefinition = aSigmabMinus; 561 thePartonInfo.push_back(new G4SPPartonInfo(1 561 thePartonInfo.push_back(new G4SPPartonInfo(1103, 5, 1./3.)); // dd_1, b 562 thePartonInfo.push_back(new G4SPPartonInfo(5 562 thePartonInfo.push_back(new G4SPPartonInfo(5103, 1, 1./6.)); // bd_1, d 563 thePartonInfo.push_back(new G4SPPartonInfo(5 563 thePartonInfo.push_back(new G4SPPartonInfo(5101, 1, 1./2.)); // bd_0, d 564 } 564 } 565 565 566 G4SPBaryon::G4SPBaryon(G4AntiSigmabMinus * aAn 566 G4SPBaryon::G4SPBaryon(G4AntiSigmabMinus * aAntiSigmabMinus) { 567 theDefinition = aAntiSigmabMinus; 567 theDefinition = aAntiSigmabMinus; 568 thePartonInfo.push_back(new G4SPPartonInfo(- 568 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -5, 1./3.)); 569 thePartonInfo.push_back(new G4SPPartonInfo(- 569 thePartonInfo.push_back(new G4SPPartonInfo(-5103, -1, 1./6.)); 570 thePartonInfo.push_back(new G4SPPartonInfo(- 570 thePartonInfo.push_back(new G4SPPartonInfo(-5101, -1, 1./2.)); 571 } 571 } 572 572 573 573 574 G4SPBaryon::G4SPBaryon(G4XibZero * aXibZero) { 574 G4SPBaryon::G4SPBaryon(G4XibZero * aXibZero) { 575 // xi_b0(usb) treated as xi0(uss) replacing 575 // xi_b0(usb) treated as xi0(uss) replacing s with b. 576 theDefinition = aXibZero; 576 theDefinition = aXibZero; 577 thePartonInfo.push_back(new G4SPPartonInfo(3 577 thePartonInfo.push_back(new G4SPPartonInfo(3203, 5, 1./6.)); // su_1, b 578 thePartonInfo.push_back(new G4SPPartonInfo(3 578 thePartonInfo.push_back(new G4SPPartonInfo(3201, 5, 1./2.)); // su_0, b 579 thePartonInfo.push_back(new G4SPPartonInfo(5 579 thePartonInfo.push_back(new G4SPPartonInfo(5303, 2, 1./3.)); // bs_1, u 580 } 580 } 581 581 582 G4SPBaryon::G4SPBaryon(G4AntiXibZero * aAntiXi 582 G4SPBaryon::G4SPBaryon(G4AntiXibZero * aAntiXibZero) { 583 theDefinition = aAntiXibZero; 583 theDefinition = aAntiXibZero; 584 thePartonInfo.push_back(new G4SPPartonInfo(- 584 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -5, 1./6.)); 585 thePartonInfo.push_back(new G4SPPartonInfo(- 585 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -5, 1./2.)); 586 thePartonInfo.push_back(new G4SPPartonInfo(- 586 thePartonInfo.push_back(new G4SPPartonInfo(-5303, -2, 1./3.)); 587 } 587 } 588 588 589 589 590 G4SPBaryon::G4SPBaryon(G4XibMinus * aXibMinus) 590 G4SPBaryon::G4SPBaryon(G4XibMinus * aXibMinus) { 591 // xi_b-(dsb) treated as xi-(dss) replacing 591 // xi_b-(dsb) treated as xi-(dss) replacing s with b. 592 theDefinition = aXibMinus; 592 theDefinition = aXibMinus; 593 thePartonInfo.push_back(new G4SPPartonInfo(3 593 thePartonInfo.push_back(new G4SPPartonInfo(3103, 5, 1./6.)); // sd_1, b 594 thePartonInfo.push_back(new G4SPPartonInfo(3 594 thePartonInfo.push_back(new G4SPPartonInfo(3101, 5, 1./2.)); // sd_0, b 595 thePartonInfo.push_back(new G4SPPartonInfo(5 595 thePartonInfo.push_back(new G4SPPartonInfo(5303, 1, 1./3.)); // bs_1, d 596 } 596 } 597 597 598 G4SPBaryon::G4SPBaryon(G4AntiXibMinus * aAntiX 598 G4SPBaryon::G4SPBaryon(G4AntiXibMinus * aAntiXibMinus) { 599 theDefinition = aAntiXibMinus; 599 theDefinition = aAntiXibMinus; 600 thePartonInfo.push_back(new G4SPPartonInfo(- 600 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -5, 1./6.)); 601 thePartonInfo.push_back(new G4SPPartonInfo(- 601 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -5, 1./2.)); 602 thePartonInfo.push_back(new G4SPPartonInfo(- 602 thePartonInfo.push_back(new G4SPPartonInfo(-5303, -1, 1./3.)); 603 } 603 } 604 604 605 605 606 G4SPBaryon::G4SPBaryon(G4OmegabMinus * aOmegab 606 G4SPBaryon::G4SPBaryon(G4OmegabMinus * aOmegabMinus) { 607 // omega_b-(ssb) treated as omega-(sss) repl 607 // omega_b-(ssb) treated as omega-(sss) replacing s with b. 608 theDefinition = aOmegabMinus; 608 theDefinition = aOmegabMinus; 609 thePartonInfo.push_back(new G4SPPartonInfo(3 609 thePartonInfo.push_back(new G4SPPartonInfo(3303, 5, 1.)); // ss_1, b 610 } 610 } 611 611 612 G4SPBaryon::G4SPBaryon(G4AntiOmegabMinus * aAn 612 G4SPBaryon::G4SPBaryon(G4AntiOmegabMinus * aAntiOmegabMinus) { 613 theDefinition = aAntiOmegabMinus; 613 theDefinition = aAntiOmegabMinus; 614 thePartonInfo.push_back(new G4SPPartonInfo(- 614 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -5, 1.)); 615 } 615 } 616 616