#include <G4QParticle.hh>
Public Member Functions | |
G4QParticle () | |
G4QParticle (G4bool f, G4int theQCode) | |
G4QParticle (G4int thePDG) | |
G4QParticle (const G4QParticle &right) | |
G4QParticle (G4QParticle *right) | |
~G4QParticle () | |
const G4QParticle & | operator= (const G4QParticle &right) |
G4bool | operator== (const G4QParticle &rhs) const |
G4bool | operator!= (const G4QParticle &rhs) const |
G4QPDGCode | GetQPDG () const |
G4int | GetPDGCode () const |
G4int | GetQCode () const |
G4int | GetSpin () const |
G4int | GetCharge () const |
G4int | GetStrange () const |
G4int | GetBaryNum () const |
G4QContent | GetQContent () |
G4QDecayChanVector | GetDecayVector () |
G4double | GetMass () |
G4double | GetWidth () |
G4QDecayChanVector | InitDecayVector (G4int Q) |
void | InitPDGParticle (G4int thePDGCode) |
void | InitQParticle (G4int theQCode) |
G4double | MinMassOfFragm () |
Definition at line 45 of file G4QParticle.hh.
G4QParticle::G4QParticle | ( | ) |
Definition at line 59 of file G4QParticle.cc.
References G4cout, G4endl, G4QPDGCode::GetPDGCode(), G4QPDGCode::GetQuarkContent(), and InitDecayVector().
00060 { 00061 aQPDG = G4QPDGCode(f,theQCode); 00062 #ifdef debug 00063 G4cout<<"G4QParticle::Constr: PDG="<<aQPDG.GetPDGCode()<<G4endl; 00064 #endif 00065 aQuarkCont = aQPDG.GetQuarkContent(); 00066 aDecay = InitDecayVector(theQCode); 00067 }
G4QParticle::G4QParticle | ( | G4int | thePDG | ) |
Definition at line 52 of file G4QParticle.cc.
References G4QPDGCode::GetQCode(), G4QPDGCode::GetQuarkContent(), and InitDecayVector().
00053 { 00054 aQPDG = G4QPDGCode(thePDG); 00055 aQuarkCont = aQPDG.GetQuarkContent(); 00056 aDecay = InitDecayVector(aQPDG.GetQCode()); 00057 }
G4QParticle::G4QParticle | ( | const G4QParticle & | right | ) |
Definition at line 69 of file G4QParticle.cc.
References aDecay, aQPDG, and aQuarkCont.
00070 { 00071 aQPDG = right.aQPDG; 00072 //aDecay (Vector) 00073 G4int nD = right.aDecay.size(); 00074 if(nD) for(G4int id=0; id<nD; id++) 00075 { 00076 G4QDecayChan* curD = new G4QDecayChan(right.aDecay[id]); 00077 aDecay.push_back(curD); 00078 } 00079 00080 aQuarkCont = right.aQuarkCont; 00081 }
G4QParticle::G4QParticle | ( | G4QParticle * | right | ) |
Definition at line 83 of file G4QParticle.cc.
References aDecay, aQPDG, and aQuarkCont.
00084 { 00085 aQPDG = right->aQPDG; 00086 //aDecay (Vector) 00087 G4int nD = right->aDecay.size(); 00088 if(nD) for(G4int id=0; id<nD; id++) 00089 { 00090 G4QDecayChan* curD = new G4QDecayChan(right->aDecay[id]); 00091 aDecay.push_back(curD); 00092 } 00093 00094 aQuarkCont = right->aQuarkCont; 00095 }
G4QParticle::~G4QParticle | ( | ) |
Definition at line 97 of file G4QParticle.cc.
00098 { 00099 G4int nDC=aDecay.size(); 00100 //G4cout<<"G4QParticle::Destructor: Before nDC="<<nDC<<G4endl; // TMP 00101 if(nDC) std::for_each(aDecay.begin(), aDecay.end(), DeleteQDecayChan()); 00102 //G4cout<<"G4QParticle::Destructor: After"<<G4endl; // TMP 00103 aDecay.clear(); 00104 }
G4int G4QParticle::GetBaryNum | ( | ) | const [inline] |
Definition at line 107 of file G4QParticle.hh.
References G4QContent::GetBaryonNumber().
00107 {return aQuarkCont.GetBaryonNumber();}
G4int G4QParticle::GetCharge | ( | ) | const [inline] |
Definition at line 105 of file G4QParticle.hh.
References G4QContent::GetCharge().
00105 {return aQuarkCont.GetCharge();}
G4QDecayChanVector G4QParticle::GetDecayVector | ( | ) | [inline] |
Definition at line 109 of file G4QParticle.hh.
Referenced by G4Quasmon::DecayQHadron(), and operator<<().
G4double G4QParticle::GetMass | ( | ) | [inline] |
Definition at line 110 of file G4QParticle.hh.
References G4QPDGCode::GetMass().
Referenced by MinMassOfFragm(), and operator<<().
00110 {return aQPDG.GetMass();}
G4int G4QParticle::GetPDGCode | ( | ) | const [inline] |
Definition at line 103 of file G4QParticle.hh.
References G4QPDGCode::GetPDGCode().
00103 {return aQPDG.GetPDGCode();}
G4int G4QParticle::GetQCode | ( | ) | const [inline] |
Definition at line 102 of file G4QParticle.hh.
References G4QPDGCode::GetQCode().
00102 {return aQPDG.GetQCode();}
G4QContent G4QParticle::GetQContent | ( | ) | [inline] |
G4QPDGCode G4QParticle::GetQPDG | ( | ) | const [inline] |
G4int G4QParticle::GetSpin | ( | ) | const [inline] |
Definition at line 104 of file G4QParticle.hh.
References G4QPDGCode::GetSpin().
Referenced by operator<<().
00104 {return aQPDG.GetSpin();}
G4int G4QParticle::GetStrange | ( | ) | const [inline] |
Definition at line 106 of file G4QParticle.hh.
References G4QContent::GetStrangeness().
00106 {return aQuarkCont.GetStrangeness();}
G4double G4QParticle::GetWidth | ( | ) | [inline] |
Definition at line 111 of file G4QParticle.hh.
References G4QPDGCode::GetWidth().
Referenced by MinMassOfFragm(), and operator<<().
00111 {return aQPDG.GetWidth();}
G4QDecayChanVector G4QParticle::InitDecayVector | ( | G4int | Q | ) |
Definition at line 153 of file G4QParticle.cc.
References G4cout, and G4endl.
Referenced by G4QParticle(), InitPDGParticle(), and InitQParticle().
00154 { 00155 //static G4int nP = 486; // Up to A=80 00156 //static const G4int nP = 494; // Up to A=80(?) "Isonuclear revision" 00157 static const G4int nP = 512; // A<57 "Leptons/Hypernuclei" G4QCHIPSWorld::GetParticles(!) 00158 //static G4QDecayChanVector* DecayDB = new G4QDecayChanVector[nP]; 00159 static G4QDecayChanVector DecayDB[nP]; 00160 static int limit= 0; 00161 if(nQ>=limit && nQ<nP) 00162 { 00163 //*** Secondary PDG-particles should be ordered in a Channel by increasing width***!*** 00164 //** Channels should be ordered by increasing minimum mass of the secondary particles** 00165 //if(limit<= 0 && nQ>= 0)DecayDB[ 0] = 0; // e- (11) 00166 //if(limit<= 1 && nQ>= 1)DecayDB[ 1] = 0; // nu_e (12) 00167 //if(limit<= 2 && nQ>= 2)DecayDB[ 2] = 0; // mu- (13) 00168 //if(limit<= 3 && nQ>= 3)DecayDB[ 3] = 0; // mu_e (14) 00169 //if(limit<= 4 && nQ>= 4)DecayDB[ 4] = 0; // tau- (15) 00170 //if(limit<= 5 && nQ>= 5)DecayDB[ 5] = 0; // nu_tau (16) 00171 //if(limit<= 6 && nQ>= 6)DecayDB[ 6] = 0; // gamma (22) 00172 if(limit<= 7 && nQ>= 7) // Z0 (23) 00173 { 00174 DecayDB[ 7].push_back(new G4QDecayChan(.036, 11, -11)); 00175 DecayDB[ 7].push_back(new G4QDecayChan(.073, 13, -13)); 00176 DecayDB[ 7].push_back(new G4QDecayChan(.107, 15, -15)); 00177 DecayDB[ 7].push_back(new G4QDecayChan(.174, 12, -12)); // @@ Fake invisible decays 00178 DecayDB[ 7].push_back(new G4QDecayChan(.240, 14, -14)); 00179 DecayDB[ 7].push_back(new G4QDecayChan(.307, 16, -16)); 00180 DecayDB[ 7].push_back(new G4QDecayChan(.400,2112,-2112)); // @@ Fake Hadronic decays 00181 DecayDB[ 7].push_back(new G4QDecayChan(.500,2212,-2212)); // @@ Need heavy quarks 00182 DecayDB[ 7].push_back(new G4QDecayChan(.600,2212,-2212, 111)); 00183 DecayDB[ 7].push_back(new G4QDecayChan(.700,2112,-2112, 111)); 00184 DecayDB[ 7].push_back(new G4QDecayChan(.800,2212,-2112,-211)); 00185 DecayDB[ 7].push_back(new G4QDecayChan(.990,2112,-2212, 211)); 00186 DecayDB[ 7].push_back(new G4QDecayChan(1.00,2112,-3122, 111)); 00187 } 00188 if(limit<= 8 && nQ>= 8) // W- (24) @@ Update HadronicDecays 00189 { 00190 DecayDB[ 8].push_back(new G4QDecayChan(.107, 11, -12)); 00191 DecayDB[ 8].push_back(new G4QDecayChan(.214, 13, -14)); 00192 DecayDB[ 8].push_back(new G4QDecayChan(.321, 15, -16)); 00193 DecayDB[ 8].push_back(new G4QDecayChan(.421,2112,-2212)); // @@ Fake Hadronic decays 00194 DecayDB[ 8].push_back(new G4QDecayChan(.521,2112,-2112,-211)); 00195 DecayDB[ 8].push_back(new G4QDecayChan(.621,2212,-2212,-211)); 00196 DecayDB[ 8].push_back(new G4QDecayChan(.721,3122,-3122,-211)); 00197 DecayDB[ 8].push_back(new G4QDecayChan(.821,2112,-2212, 111)); 00198 DecayDB[ 8].push_back(new G4QDecayChan(.921,3122,-2212, 111)); 00199 DecayDB[ 8].push_back(new G4QDecayChan(1.00,2112,-3122,-211)); 00200 } 00201 //if(limit<= 9 && nQ>= 9)DecayDB[ 9] = 0; // H0 (25) 00202 //if(limit<= 10 && nQ>= 10)DecayDB[ 10] = 0; // H- (37) 00203 if(limit<= 11 && nQ>= 11) // Low sigma=pi,pi S-wave : f_0 (800) 00204 { 00205 DecayDB[ 11].push_back(new G4QDecayChan(.333,211,-211)); 00206 DecayDB[ 11].push_back(new G4QDecayChan(1.00,111, 111)); 00207 } 00208 if(limit<= 12 && nQ>= 12) // Midle Regeon-Pomeron : f_0 (980) 00209 { 00210 DecayDB[ 12].push_back(new G4QDecayChan(.333,211,-211)); 00211 DecayDB[ 12].push_back(new G4QDecayChan(1.00,111, 111)); 00212 } 00213 if(limit<= 13 && nQ>= 13) // High Regeon-Pomeron : f_0 (1500) 00214 { 00215 DecayDB[ 13].push_back(new G4QDecayChan(.019,221, 331)); 00216 DecayDB[ 13].push_back(new G4QDecayChan(.070,221, 221)); 00217 DecayDB[ 13].push_back(new G4QDecayChan(.113,311,-311)); 00218 DecayDB[ 13].push_back(new G4QDecayChan(.156,321,-321)); 00219 DecayDB[ 13].push_back(new G4QDecayChan(.578,211,-211)); //@@ include 4pi decays 00220 DecayDB[ 13].push_back(new G4QDecayChan(1.00,111, 111)); 00221 } 00222 //if(limit<= 14 && nQ>= 14)DecayDB[ 14].push_back(new G4QDecayChan(1.00,22,22));//Pi0 00223 //if(limit<= 15 && nQ>= 15)DecayDB[ 15] = 0; // Pi + 00224 if(limit<= 16 && nQ>= 16) // eta 00225 { 00226 DecayDB[ 16].push_back(new G4QDecayChan(.226,211,-211,111)); 00227 DecayDB[ 16].push_back(new G4QDecayChan(.551,111, 111,111)); 00228 DecayDB[ 16].push_back(new G4QDecayChan(.598,211,-211, 22)); 00229 DecayDB[ 16].push_back(new G4QDecayChan(.606, 11, -11, 22)); //@@ .002 (pi+)(pi-)2gam 00230 DecayDB[ 16].push_back(new G4QDecayChan(1.00, 22, 22)); 00231 } 00232 //if(limit<= 17 && nQ>= 17) // K 0 (K_short - probab 1/2) @@@@@@@@@@@@ 00233 //{ 00234 // DecayDB[ 17].push_back(new G4QDecayChan(.6861,211,-211)); 00235 // DecayDB[ 17].push_back(new G4QDecayChan(1.00, 111, 111)); 00236 //} 00237 //if(limit<= 18 && nQ>= 18)DecayDB[ 8] = 0; // K + 00238 if(limit<= 19 && nQ>= 19) // eta' 00239 { 00240 DecayDB[ 19].push_back(new G4QDecayChan(.443,211,-211,221)); 00241 DecayDB[ 19].push_back(new G4QDecayChan(.652,111, 111,221)); 00242 DecayDB[ 19].push_back(new G4QDecayChan(.947, 22, 223)); 00243 DecayDB[ 19].push_back(new G4QDecayChan(.949,111, 111,111)); 00244 DecayDB[ 19].push_back(new G4QDecayChan(.979, 22, 113)); 00245 DecayDB[ 19].push_back(new G4QDecayChan(1.00, 22, 22)); 00246 } 00247 //if(limit<= 20 && nQ>= 20)DecayDB[ 20] = 0; // n 00248 //if(limit<= 21 && nQ>= 21)DecayDB[ 21] = 0; // p 00249 //if(limit<= 22 && nQ>= 22) // Lambda =--=>> all week decays are closed at this time 00250 //{ 00251 // DecayDB[ 22].push_back(new G4QDecayChan(.640,2212,-211)); 00252 // DecayDB[ 22].push_back(new G4QDecayChan(1.00,2112, 111)); 00253 //} 00254 //if(limit<= 23 &&nQ>=23)DecayDB[23].push_back(new G4QDecayChan(1.,2112,-211));//Sigma- 00255 if(limit<= 24 &&nQ>=24)DecayDB[24].push_back(new G4QDecayChan(1.,3122,22));//Sigma0(EM) 00256 //if(limit<= 25 && nQ>= 25) // Sigma + 00257 //{ 00258 // DecayDB[ 25].push_back(new G4QDecayChan(.484,2112, 211)); 00259 // DecayDB[ 25].push_back(new G4QDecayChan(1.00,2212, 111)); 00260 //} 00261 //if(limit<= 26 && nQ>=26)DecayDB[26].push_back(new G4QDecayChan(1.,3122,-211));// Ksi- 00262 //if(limit<= 27 && nQ>=27)DecayDB[27].push_back(new G4QDecayChan(1.,3122, 111));// Ksi0 00263 if(limit<= 28 && nQ>= 28)DecayDB[ 28].push_back(new G4QDecayChan(1., 211,-211));// rho0 00264 if(limit<= 29 && nQ>= 29)DecayDB[ 29].push_back(new G4QDecayChan(1., 211, 111));// rho+ 00265 if(limit<= 30 && nQ>= 30) // omega 00266 { 00267 DecayDB[ 30].push_back(new G4QDecayChan(.891, 211,-211,111)); 00268 DecayDB[ 30].push_back(new G4QDecayChan(.908, 211,-211)); 00269 DecayDB[ 30].push_back(new G4QDecayChan(.997, 22, 111)); 00270 DecayDB[ 30].push_back(new G4QDecayChan(.998, 11, -11, 111)); //@@NeedsMoreAccurate 00271 DecayDB[ 30].push_back(new G4QDecayChan(.998, 13, -13, 111)); 00272 DecayDB[ 30].push_back(new G4QDecayChan(1.00, 22, 221)); 00273 } 00274 if(limit<= 31 && nQ>= 31) // K* 0 00275 { 00276 DecayDB[ 31].push_back(new G4QDecayChan(.667,-211, 321)); 00277 DecayDB[ 31].push_back(new G4QDecayChan(1.00, 111, 311)); 00278 } 00279 if(limit<= 32 && nQ>= 32) // K* + 00280 { 00281 DecayDB[ 32].push_back(new G4QDecayChan(.667, 211, 311)); 00282 DecayDB[ 32].push_back(new G4QDecayChan(1.00, 111, 321)); 00283 } 00284 if(limit<= 33 && nQ>= 33) // phi 00285 { 00286 DecayDB[ 33].push_back(new G4QDecayChan(.491, 311,-311)); 00287 DecayDB[ 33].push_back(new G4QDecayChan(.831, 321,-321)); 00288 DecayDB[ 33].push_back(new G4QDecayChan(.844, 22, 221)); 00289 DecayDB[ 33].push_back(new G4QDecayChan(.846, 22, 111)); 00290 DecayDB[ 33].push_back(new G4QDecayChan(.897, 211,-213)); 00291 DecayDB[ 33].push_back(new G4QDecayChan(.948,-211, 213)); 00292 DecayDB[ 33].push_back(new G4QDecayChan(1.00, 111, 113)); 00293 } 00294 if(limit<= 34 && nQ>= 34)DecayDB[34].push_back(new G4QDecayChan(1.,2112,-211));//Delta- 00295 if(limit<= 35 && nQ>= 35) // Delta 0 00296 { 00297 DecayDB[ 35].push_back(new G4QDecayChan(.333,2212,-211)); 00298 DecayDB[ 35].push_back(new G4QDecayChan(1.00,2112, 111)); 00299 } 00300 if(limit<= 36 && nQ>= 36) // Delta + 00301 { 00302 DecayDB[ 36].push_back(new G4QDecayChan(.333,2112, 211)); 00303 DecayDB[ 36].push_back(new G4QDecayChan(1.00,2212, 111)); 00304 } 00305 if(limit<= 37 && nQ>= 37)DecayDB[37].push_back(new G4QDecayChan(1.,2212,211));//Delta++ 00306 if(limit<= 38 && nQ>= 38) // Lambda* (1520) 00307 { 00308 DecayDB[ 38].push_back(new G4QDecayChan(.225,3112,-311)); 00309 DecayDB[ 38].push_back(new G4QDecayChan(.450,3222,-321)); 00310 DecayDB[ 38].push_back(new G4QDecayChan(.453,3112,211,111)); 00311 DecayDB[ 38].push_back(new G4QDecayChan(.456,3212,211,-211)); 00312 DecayDB[ 38].push_back(new G4QDecayChan(.459,3212,111,111)); 00313 DecayDB[ 38].push_back(new G4QDecayChan(.462,3222,-211,111)); 00314 DecayDB[ 38].push_back(new G4QDecayChan(.512,3122,211,-211)); 00315 DecayDB[ 38].push_back(new G4QDecayChan(.562,3122,111,111)); 00316 DecayDB[ 38].push_back(new G4QDecayChan(.702,3222,-211)); 00317 DecayDB[ 38].push_back(new G4QDecayChan(.842,3212, 111)); 00318 DecayDB[ 38].push_back(new G4QDecayChan(.982,3112, 211)); 00319 DecayDB[ 38].push_back(new G4QDecayChan(1.00,3122, 22)); 00320 } 00321 if(limit<= 39 && nQ>= 39) // Sigma* - 00322 { 00323 DecayDB[ 39].push_back(new G4QDecayChan(.060,3112, 111)); 00324 DecayDB[ 39].push_back(new G4QDecayChan(.120,3212,-211)); 00325 DecayDB[ 39].push_back(new G4QDecayChan(1.00,3122,-211)); 00326 } 00327 if(limit<= 40 && nQ>= 40) // Sigma* 0 00328 { 00329 DecayDB[ 40].push_back(new G4QDecayChan(.040,3112, 211)); 00330 DecayDB[ 40].push_back(new G4QDecayChan(.080,3222,-211)); 00331 DecayDB[ 40].push_back(new G4QDecayChan(.120,3212, 111)); 00332 DecayDB[ 40].push_back(new G4QDecayChan(1.00,3122, 111)); 00333 } 00334 if(limit<= 41 && nQ>= 41) // Sigma* + 00335 { 00336 DecayDB[ 41].push_back(new G4QDecayChan(.060,3212, 211)); 00337 DecayDB[ 41].push_back(new G4QDecayChan(.120,3222, 111)); 00338 DecayDB[ 41].push_back(new G4QDecayChan(1.00,3122, 211)); 00339 } 00340 if(limit<= 42 && nQ>= 42) // Ksi* - 00341 { 00342 DecayDB[ 42].push_back(new G4QDecayChan(.667,3322,-211)); 00343 DecayDB[ 42].push_back(new G4QDecayChan(1.00,3312, 111)); 00344 } 00345 if(limit<= 43 && nQ>= 43) // Ksi* 0 00346 { 00347 DecayDB[ 43].push_back(new G4QDecayChan(.667,3312, 211)); 00348 DecayDB[ 43].push_back(new G4QDecayChan(1.00,3322, 111)); 00349 } 00350 //if(limit<= 44 && nQ>= 44) // OMEGA - (Weak) 00351 //{ 00352 // DecayDB[ 44].push_back(new G4QDecayChan(.678,3122, 321)); 00353 // DecayDB[ 44].push_back(new G4QDecayChan(.914,3322,-211)); 00354 // DecayDB[ 44].push_back(new G4QDecayChan(1.00,3312, 111)); 00355 //} 00356 if(limit<= 45 && nQ>= 45) // a_2 0 00357 { 00358 DecayDB[ 45].push_back(new G4QDecayChan(.070, 211,-211,223)); 00359 DecayDB[ 45].push_back(new G4QDecayChan(.106, 111, 111,223)); 00360 DecayDB[ 45].push_back(new G4QDecayChan(.131, 321,-321)); 00361 DecayDB[ 45].push_back(new G4QDecayChan(.156, 311,-311)); 00362 DecayDB[ 45].push_back(new G4QDecayChan(.301, 111, 221)); 00363 DecayDB[ 45].push_back(new G4QDecayChan(.534,-211, 213)); 00364 DecayDB[ 45].push_back(new G4QDecayChan(.767, 211,-213)); 00365 DecayDB[ 45].push_back(new G4QDecayChan(1.00, 111, 113)); 00366 } 00367 if(limit<= 46 && nQ>= 46) // a_2 + 00368 { 00369 DecayDB[ 46].push_back(new G4QDecayChan(.106,111,211,223)); 00370 DecayDB[ 46].push_back(new G4QDecayChan(.156, 321,-311)); 00371 DecayDB[ 46].push_back(new G4QDecayChan(.301, 211, 221)); 00372 DecayDB[ 46].push_back(new G4QDecayChan(.651, 211, 113)); 00373 DecayDB[ 46].push_back(new G4QDecayChan(1.00, 111, 213)); 00374 } 00375 if(limit<= 47 && nQ>= 47) // f_2 0 00376 { 00377 DecayDB[ 47].push_back(new G4QDecayChan(.005, 221, 221)); 00378 DecayDB[ 47].push_back(new G4QDecayChan(.028, 311,-311)); 00379 DecayDB[ 47].push_back(new G4QDecayChan(.051, 321,-321)); 00380 DecayDB[ 47].push_back(new G4QDecayChan(.123, 111, 113)); 00381 DecayDB[ 47].push_back(new G4QDecayChan(.126, 111, 221)); 00382 DecayDB[ 47].push_back(new G4QDecayChan(.152, 211,-211,113)); 00383 DecayDB[ 47].push_back(new G4QDecayChan(.717, 211,-211)); 00384 DecayDB[ 47].push_back(new G4QDecayChan(1.00, 111, 111)); 00385 } 00386 if(limit<= 48 && nQ>= 48) // K_2 0 00387 { 00388 DecayDB[ 48].push_back(new G4QDecayChan(.028, 311, 223)); 00389 DecayDB[ 48].push_back(new G4QDecayChan(.074, 211,-211,313)); 00390 DecayDB[ 48].push_back(new G4QDecayChan(.143,111,-211,323)); 00391 DecayDB[ 48].push_back(new G4QDecayChan(.166,111, 111,313)); 00392 DecayDB[ 48].push_back(new G4QDecayChan(.190,-211, 323)); 00393 DecayDB[ 48].push_back(new G4QDecayChan(.314, 111, 313)); 00394 DecayDB[ 48].push_back(new G4QDecayChan(.357, 311, 113)); 00395 DecayDB[ 48].push_back(new G4QDecayChan(.500, 321,-213)); 00396 DecayDB[ 48].push_back(new G4QDecayChan(.750,-211, 321)); 00397 DecayDB[ 48].push_back(new G4QDecayChan(1.00, 111, 311)); 00398 } 00399 if(limit<= 49 && nQ>= 49) // K_2 + 00400 { 00401 DecayDB[ 49].push_back(new G4QDecayChan(.028, 321, 223)); 00402 DecayDB[ 49].push_back(new G4QDecayChan(.074,211,-211,323)); 00403 DecayDB[ 49].push_back(new G4QDecayChan(.143,111, 211,313)); 00404 DecayDB[ 49].push_back(new G4QDecayChan(.166,111, 111,323)); 00405 DecayDB[ 49].push_back(new G4QDecayChan(.190, 211, 313)); 00406 DecayDB[ 49].push_back(new G4QDecayChan(.314, 111, 323)); 00407 DecayDB[ 49].push_back(new G4QDecayChan(.357, 311, 213)); 00408 DecayDB[ 49].push_back(new G4QDecayChan(.500, 321, 113)); 00409 DecayDB[ 49].push_back(new G4QDecayChan(.750, 211, 311)); 00410 DecayDB[ 49].push_back(new G4QDecayChan(1.00, 111, 321)); 00411 } 00412 if(limit<= 50 && nQ>= 50) // f_2' 0 00413 { 00414 DecayDB[ 50].push_back(new G4QDecayChan(.103, 221, 221)); 00415 DecayDB[ 50].push_back(new G4QDecayChan(.547, 311,-311)); 00416 DecayDB[ 50].push_back(new G4QDecayChan(.991, 321,-321)); 00417 DecayDB[ 50].push_back(new G4QDecayChan(.997, 211,-211)); 00418 DecayDB[ 50].push_back(new G4QDecayChan(1.00, 111, 111)); 00419 } 00420 if(limit<= 51 && nQ>= 51) // N_5/2 0 00421 { 00422 DecayDB[ 51].push_back(new G4QDecayChan(.040, 211, 1114)); 00423 DecayDB[ 51].push_back(new G4QDecayChan(.080, 111, 2114)); 00424 DecayDB[ 51].push_back(new G4QDecayChan(.120,-211, 2214)); 00425 DecayDB[ 51].push_back(new G4QDecayChan(.180, 2112, 113)); 00426 DecayDB[ 51].push_back(new G4QDecayChan(.210, 2212,-213)); 00427 DecayDB[ 51].push_back(new G4QDecayChan(.340, 2112, 110)); 00428 DecayDB[ 51].push_back(new G4QDecayChan(.780, 2212,-211)); 00429 DecayDB[ 51].push_back(new G4QDecayChan(1.00, 2112, 111)); 00430 } 00431 if(limit<= 52 && nQ>= 52) // N_5/2 + 00432 { 00433 DecayDB[ 52].push_back(new G4QDecayChan(.040,-211, 2224)); 00434 DecayDB[ 52].push_back(new G4QDecayChan(.080, 211, 2114)); 00435 DecayDB[ 52].push_back(new G4QDecayChan(.120, 111, 2214)); 00436 DecayDB[ 52].push_back(new G4QDecayChan(.180, 2112, 213)); 00437 DecayDB[ 52].push_back(new G4QDecayChan(.210, 2212, 113)); 00438 DecayDB[ 52].push_back(new G4QDecayChan(.340, 2212, 229)); 00439 DecayDB[ 52].push_back(new G4QDecayChan(.780, 2112, 211)); 00440 DecayDB[ 52].push_back(new G4QDecayChan(1.00, 2212, 111)); 00441 } 00442 if(limit<= 53 && nQ>= 53) // LAMBDA_5/2 00443 { 00444 DecayDB[ 53].push_back(new G4QDecayChan(.350, 2112,-311)); 00445 DecayDB[ 53].push_back(new G4QDecayChan(.700, 2212,-321)); 00446 DecayDB[ 53].push_back(new G4QDecayChan(.740, 211, 3114)); 00447 DecayDB[ 53].push_back(new G4QDecayChan(.780,-211, 3224)); 00448 DecayDB[ 53].push_back(new G4QDecayChan(.820, 111, 3214)); 00449 DecayDB[ 53].push_back(new G4QDecayChan(.880, 3112, 211)); 00450 DecayDB[ 53].push_back(new G4QDecayChan(.940, 3222,-211)); 00451 DecayDB[ 53].push_back(new G4QDecayChan(1.00, 3212, 111)); 00452 } 00453 if(limit<= 54 && nQ>= 54) // SIGMA_5/2 - 00454 { 00455 DecayDB[ 54].push_back(new G4QDecayChan(.600, 2112,-321)); 00456 DecayDB[ 54].push_back(new G4QDecayChan(.660,-211, 3214)); 00457 DecayDB[ 54].push_back(new G4QDecayChan(.720, 111, 3114)); 00458 DecayDB[ 54].push_back(new G4QDecayChan(.810, 3212,-211)); 00459 DecayDB[ 54].push_back(new G4QDecayChan(.900, 3112, 111)); 00460 DecayDB[ 54].push_back(new G4QDecayChan(1.00, 3122,-211)); 00461 } 00462 if(limit<= 55 && nQ>= 55) // SIGMA_5/2 0 00463 { 00464 DecayDB[ 55].push_back(new G4QDecayChan(.300, 2112,-311)); 00465 DecayDB[ 55].push_back(new G4QDecayChan(.600, 2212,-321)); 00466 DecayDB[ 55].push_back(new G4QDecayChan(.640, 211, 3114)); 00467 DecayDB[ 55].push_back(new G4QDecayChan(.680,-211, 3224)); 00468 DecayDB[ 55].push_back(new G4QDecayChan(.720, 111, 3214)); 00469 DecayDB[ 55].push_back(new G4QDecayChan(.780, 3112, 211)); 00470 DecayDB[ 55].push_back(new G4QDecayChan(.840, 3222,-211)); 00471 DecayDB[ 55].push_back(new G4QDecayChan(.900, 3212, 111)); 00472 DecayDB[ 55].push_back(new G4QDecayChan(1.00, 3122, 111)); 00473 } 00474 if(limit<= 56 && nQ>= 56) // SIGMA_5/2 + 00475 { 00476 DecayDB[ 56].push_back(new G4QDecayChan(.600, 2212,-311)); 00477 DecayDB[ 56].push_back(new G4QDecayChan(.660, 211, 3214)); 00478 DecayDB[ 56].push_back(new G4QDecayChan(.720, 111, 3224)); 00479 DecayDB[ 56].push_back(new G4QDecayChan(.810, 3212, 211)); 00480 DecayDB[ 56].push_back(new G4QDecayChan(.900, 3222, 111)); 00481 DecayDB[ 56].push_back(new G4QDecayChan(1.00, 3122, 211)); 00482 } 00483 if(limit<= 57 && nQ>= 57) // KSI_5/2 - 00484 { 00485 DecayDB[ 57].push_back(new G4QDecayChan(.400, 3112,-311)); 00486 DecayDB[ 57].push_back(new G4QDecayChan(.800, 3212,-321)); 00487 DecayDB[ 57].push_back(new G4QDecayChan(1.00, 3122,-321)); 00488 } 00489 if(limit<= 58 && nQ>= 58) // KSI_5/2 0 00490 { 00491 DecayDB[ 58].push_back(new G4QDecayChan(.400, 3212,-311)); 00492 DecayDB[ 58].push_back(new G4QDecayChan(.800, 3222,-321)); 00493 DecayDB[ 58].push_back(new G4QDecayChan(1.00, 3122,-311)); 00494 } 00495 if(limit<= 59 && nQ>= 59) // rho_3 0 00496 { 00497 DecayDB[ 59].push_back(new G4QDecayChan(.019,311,-313)); 00498 DecayDB[ 59].push_back(new G4QDecayChan(.038,321,-323)); 00499 DecayDB[ 59].push_back(new G4QDecayChan(.046,311,-311)); 00500 DecayDB[ 59].push_back(new G4QDecayChan(.054,321,-321)); 00501 DecayDB[ 59].push_back(new G4QDecayChan(.224,111, 223)); 00502 DecayDB[ 59].push_back(new G4QDecayChan(.404,111,-211,213)); 00503 DecayDB[ 59].push_back(new G4QDecayChan(.584,111, 211,-213)); 00504 DecayDB[ 59].push_back(new G4QDecayChan(.764,111, 111,113)); 00505 DecayDB[ 59].push_back(new G4QDecayChan(1.00,211,-211)); 00506 } 00507 if(limit<= 60 && nQ>= 60) // rho_3 + 00508 { 00509 DecayDB[ 60].push_back(new G4QDecayChan(.019, 321,-313)); 00510 DecayDB[ 60].push_back(new G4QDecayChan(.038,-311, 323)); 00511 DecayDB[ 60].push_back(new G4QDecayChan(.054, 321,-311)); 00512 DecayDB[ 60].push_back(new G4QDecayChan(.224, 211, 223)); 00513 DecayDB[ 60].push_back(new G4QDecayChan(.404,211,-211,213)); 00514 DecayDB[ 60].push_back(new G4QDecayChan(.584,211,211,-213)); 00515 DecayDB[ 60].push_back(new G4QDecayChan(.764,211,111,113)); 00516 DecayDB[ 60].push_back(new G4QDecayChan(1.00, 211, 111)); 00517 } 00518 if(limit<= 61 && nQ>= 61) // omega_3 00519 { 00520 DecayDB[ 61].push_back(new G4QDecayChan(.020,211,-211,223)); 00521 DecayDB[ 61].push_back(new G4QDecayChan(.040,111, 111,223)); 00522 DecayDB[ 61].push_back(new G4QDecayChan(.060, 211,-213)); 00523 DecayDB[ 61].push_back(new G4QDecayChan(.080,-211, 213)); 00524 DecayDB[ 61].push_back(new G4QDecayChan(1.00, 111, 113)); 00525 } 00526 if(limit<= 62 && nQ>= 62) // K_3 0 00527 { 00528 DecayDB[ 62].push_back(new G4QDecayChan(.030, 111, 315)); 00529 DecayDB[ 62].push_back(new G4QDecayChan(.060,-211, 325)); 00530 DecayDB[ 62].push_back(new G4QDecayChan(.340, 311, 331)); 00531 DecayDB[ 62].push_back(new G4QDecayChan(.400, 111, 313)); 00532 DecayDB[ 62].push_back(new G4QDecayChan(.520,-211, 323)); 00533 DecayDB[ 62].push_back(new G4QDecayChan(.620, 311, 113)); 00534 DecayDB[ 62].push_back(new G4QDecayChan(.820, 321,-213)); 00535 DecayDB[ 62].push_back(new G4QDecayChan(.940,-211, 321)); 00536 DecayDB[ 62].push_back(new G4QDecayChan(1.00, 111, 311)); 00537 } 00538 if(limit<= 63 && nQ>= 63) // K_3 + 00539 { 00540 DecayDB[ 63].push_back(new G4QDecayChan(.030, 211, 315)); 00541 DecayDB[ 63].push_back(new G4QDecayChan(.060, 111, 325)); 00542 DecayDB[ 63].push_back(new G4QDecayChan(.340, 321, 331)); 00543 DecayDB[ 63].push_back(new G4QDecayChan(.400, 211, 313)); 00544 DecayDB[ 63].push_back(new G4QDecayChan(.520, 111, 323)); 00545 DecayDB[ 63].push_back(new G4QDecayChan(.620, 311, 213)); 00546 DecayDB[ 63].push_back(new G4QDecayChan(.820, 321, 113)); 00547 DecayDB[ 63].push_back(new G4QDecayChan(.940, 211, 311)); 00548 DecayDB[ 63].push_back(new G4QDecayChan(1.00, 111, 321)); 00549 } 00550 if(limit<= 64 && nQ>= 64) // phi_3 00551 { 00552 DecayDB[ 64].push_back(new G4QDecayChan(.250, 321,-321)); 00553 DecayDB[ 64].push_back(new G4QDecayChan(.500, 311,-311)); 00554 DecayDB[ 64].push_back(new G4QDecayChan(.625, 321,-323)); 00555 DecayDB[ 64].push_back(new G4QDecayChan(.750,-321, 323)); 00556 DecayDB[ 64].push_back(new G4QDecayChan(.875, 311,-313)); 00557 DecayDB[ 64].push_back(new G4QDecayChan(1.00,-311, 313)); 00558 } 00559 if(limit<= 65 && nQ>= 65) // DELTA_7/2 - 00560 { 00561 DecayDB[ 65].push_back(new G4QDecayChan(.200, 2112,-213 )); 00562 DecayDB[ 65].push_back(new G4QDecayChan(.320,-211 , 2114)); 00563 DecayDB[ 65].push_back(new G4QDecayChan(.500, 111 , 1114)); 00564 DecayDB[ 65].push_back(new G4QDecayChan(1.00, 2112,-211 )); 00565 } 00566 if(limit<= 66 && nQ>= 66) // DELTA_7/2 0 00567 { 00568 DecayDB[ 66].push_back(new G4QDecayChan(.133, 2112, 113 )); 00569 DecayDB[ 66].push_back(new G4QDecayChan(.200, 2212,-213 )); 00570 DecayDB[ 66].push_back(new G4QDecayChan(.360,-211 , 2214)); 00571 DecayDB[ 66].push_back(new G4QDecayChan(.480, 211 , 1114)); 00572 DecayDB[ 66].push_back(new G4QDecayChan(.500, 111 , 2114)); 00573 DecayDB[ 66].push_back(new G4QDecayChan(.666, 2212,-211 )); 00574 DecayDB[ 66].push_back(new G4QDecayChan(1.00, 2112, 111 )); 00575 } 00576 if(limit<= 67 && nQ>= 67) // DELTA_7/2 + 00577 { 00578 DecayDB[ 67].push_back(new G4QDecayChan(.133, 2112, 213 )); 00579 DecayDB[ 67].push_back(new G4QDecayChan(.200, 2212, 113 )); 00580 DecayDB[ 67].push_back(new G4QDecayChan(.360,-211 , 2224)); 00581 DecayDB[ 67].push_back(new G4QDecayChan(.480, 211 , 2114)); 00582 DecayDB[ 67].push_back(new G4QDecayChan(.500, 111 , 2214)); 00583 DecayDB[ 67].push_back(new G4QDecayChan(.666, 2112, 211 )); 00584 DecayDB[ 67].push_back(new G4QDecayChan(1.00, 2212, 111 )); 00585 } 00586 if(limit<= 68 && nQ>= 68) // DELTA_7/2 ++ 00587 { 00588 DecayDB[ 68].push_back(new G4QDecayChan(.200, 2212, 213 )); 00589 DecayDB[ 68].push_back(new G4QDecayChan(.320, 211 , 2214)); 00590 DecayDB[ 68].push_back(new G4QDecayChan(.500, 111 , 2224)); 00591 DecayDB[ 68].push_back(new G4QDecayChan(1.00, 2212, 211 )); 00592 } 00593 if(limit<= 69 && nQ>= 69) // LAMBDA_7/2 00594 { 00595 DecayDB[ 69].push_back(new G4QDecayChan(.160, 3122, 223 )); 00596 DecayDB[ 69].push_back(new G4QDecayChan(.260, 2112,-313 )); 00597 DecayDB[ 69].push_back(new G4QDecayChan(.360, 2212,-323 )); 00598 DecayDB[ 69].push_back(new G4QDecayChan(.400, 3312, 321 )); 00599 DecayDB[ 69].push_back(new G4QDecayChan(.440, 3322, 311 )); 00600 DecayDB[ 69].push_back(new G4QDecayChan(.480, 3122, 221 )); 00601 DecayDB[ 69].push_back(new G4QDecayChan(.520, 2112,-311 )); 00602 DecayDB[ 69].push_back(new G4QDecayChan(.560, 2212,-321 )); 00603 DecayDB[ 69].push_back(new G4QDecayChan(.600, 3112, 211 )); 00604 DecayDB[ 69].push_back(new G4QDecayChan(.800, 3222,-211 )); 00605 DecayDB[ 69].push_back(new G4QDecayChan(1.00, 3212, 111 )); 00606 } 00607 if(limit<= 70 && nQ>= 70) // SIGMA_7/2 - 00608 { 00609 DecayDB[ 70].push_back(new G4QDecayChan(.030, 2112,-323 )); 00610 DecayDB[ 70].push_back(new G4QDecayChan(.165,-311 , 1114)); 00611 DecayDB[ 70].push_back(new G4QDecayChan(.210,-321 , 2114)); 00612 DecayDB[ 70].push_back(new G4QDecayChan(.390,-211 , 3124)); 00613 DecayDB[ 70].push_back(new G4QDecayChan(.450,-211 , 3214)); 00614 DecayDB[ 70].push_back(new G4QDecayChan(.510, 111 , 3114)); 00615 DecayDB[ 70].push_back(new G4QDecayChan(.540, 311 , 3314)); 00616 DecayDB[ 70].push_back(new G4QDecayChan(.570,-211 , 3212)); 00617 DecayDB[ 70].push_back(new G4QDecayChan(.600, 111 , 3112)); 00618 DecayDB[ 70].push_back(new G4QDecayChan(.780,-321 , 2112)); 00619 DecayDB[ 70].push_back(new G4QDecayChan(1.00,-211 , 3122)); 00620 } 00621 if(limit<= 71 && nQ>= 71) // SIGMA_7/2 0 00622 { 00623 DecayDB[ 71].push_back(new G4QDecayChan(.015, 2112,-313 )); 00624 DecayDB[ 71].push_back(new G4QDecayChan(.030, 2212,-321 )); 00625 DecayDB[ 71].push_back(new G4QDecayChan(.120,-311 , 2114)); 00626 DecayDB[ 71].push_back(new G4QDecayChan(.210,-321 , 2214)); 00627 DecayDB[ 71].push_back(new G4QDecayChan(.390, 111 , 3124)); 00628 DecayDB[ 71].push_back(new G4QDecayChan(.450,-211 , 3224)); 00629 DecayDB[ 71].push_back(new G4QDecayChan(.510, 211 , 3114)); 00630 DecayDB[ 71].push_back(new G4QDecayChan(.525, 311 , 3324)); 00631 DecayDB[ 71].push_back(new G4QDecayChan(.540, 321 , 3314)); 00632 DecayDB[ 71].push_back(new G4QDecayChan(.570,-211 , 3222)); 00633 DecayDB[ 71].push_back(new G4QDecayChan(.600, 211 , 3112)); 00634 DecayDB[ 71].push_back(new G4QDecayChan(.690,-311 , 2112)); 00635 DecayDB[ 71].push_back(new G4QDecayChan(.780,-321 , 2212)); 00636 DecayDB[ 71].push_back(new G4QDecayChan(1.00, 111 , 3122)); 00637 } 00638 if(limit<= 72 && nQ>= 72) // SIGMA_7/2 + 00639 { 00640 DecayDB[ 72].push_back(new G4QDecayChan(.030, 2212,-313 )); 00641 DecayDB[ 72].push_back(new G4QDecayChan(.165,-321 , 2224)); 00642 DecayDB[ 72].push_back(new G4QDecayChan(.210,-311 , 2214)); 00643 DecayDB[ 72].push_back(new G4QDecayChan(.390, 211 , 3124)); 00644 DecayDB[ 72].push_back(new G4QDecayChan(.450, 211 , 3214)); 00645 DecayDB[ 72].push_back(new G4QDecayChan(.510, 111 , 3224)); 00646 DecayDB[ 72].push_back(new G4QDecayChan(.540, 321 , 3324)); 00647 DecayDB[ 72].push_back(new G4QDecayChan(.570, 211 , 3212)); 00648 DecayDB[ 72].push_back(new G4QDecayChan(.600, 111 , 3222)); 00649 DecayDB[ 72].push_back(new G4QDecayChan(.780,-311 , 2212)); 00650 DecayDB[ 72].push_back(new G4QDecayChan(1.00, 211 , 3122)); 00651 } 00652 if(limit<= 73 && nQ>= 73) // KSI_7/2 - 00653 { 00654 DecayDB[ 73].push_back(new G4QDecayChan(.400, 3112,-311)); 00655 DecayDB[ 73].push_back(new G4QDecayChan(.800, 3212,-321)); 00656 DecayDB[ 73].push_back(new G4QDecayChan(1.00, 3122,-321)); 00657 } 00658 if(limit<= 74 && nQ>= 74) // KSI_7/2 0 00659 { 00660 DecayDB[ 74].push_back(new G4QDecayChan(.400, 3212,-311)); 00661 DecayDB[ 74].push_back(new G4QDecayChan(.800, 3222,-321)); 00662 DecayDB[ 74].push_back(new G4QDecayChan(1.00, 3122,-311)); 00663 } 00664 if(limit<= 75 && nQ>= 75) // OMEGA_7/2 - 00665 { 00666 DecayDB[ 75].push_back(new G4QDecayChan(.250,-311 , 3314)); 00667 DecayDB[ 75].push_back(new G4QDecayChan(.500,-321 , 3324)); 00668 DecayDB[ 75].push_back(new G4QDecayChan(.750, 3312,-313 )); 00669 DecayDB[ 75].push_back(new G4QDecayChan(1.00, 3322,-323 )); 00670 } 00671 if(limit<= 76 && nQ>= 76) // a_4 0 00672 { 00673 DecayDB[ 76].push_back(new G4QDecayChan(.200, 311,-311)); 00674 DecayDB[ 76].push_back(new G4QDecayChan(.400, 321,-321)); 00675 DecayDB[ 76].push_back(new G4QDecayChan(.600, 111, 221)); 00676 DecayDB[ 76].push_back(new G4QDecayChan(1.00, 111, 211,-211)); 00677 } 00678 if(limit<= 77 && nQ>= 77) // a_4 + 00679 { 00680 DecayDB[ 77].push_back(new G4QDecayChan(.400, 321,-311)); 00681 DecayDB[ 77].push_back(new G4QDecayChan(.600, 211, 221)); 00682 DecayDB[ 77].push_back(new G4QDecayChan(.800, 211, 211,-211)); 00683 DecayDB[ 77].push_back(new G4QDecayChan(1.00, 211, 111, 111)); 00684 } 00685 if(limit<= 78 && nQ>= 78) // f_4 0 00686 { 00687 DecayDB[ 78].push_back(new G4QDecayChan(.020, 333, 333)); 00688 DecayDB[ 78].push_back(new G4QDecayChan(.340, 223, 223)); 00689 DecayDB[ 78].push_back(new G4QDecayChan(.350, 221, 221)); 00690 DecayDB[ 78].push_back(new G4QDecayChan(.360, 311,-311)); 00691 DecayDB[ 78].push_back(new G4QDecayChan(.370, 321,-321)); 00692 DecayDB[ 78].push_back(new G4QDecayChan(.670, 213,-213)); 00693 DecayDB[ 78].push_back(new G4QDecayChan(.820, 113, 113)); 00694 DecayDB[ 78].push_back(new G4QDecayChan(.940, 211,-211)); 00695 DecayDB[ 78].push_back(new G4QDecayChan(1.00, 111, 111)); 00696 } 00697 if(limit<= 79 && nQ>= 79) // K_4 0 00698 { 00699 DecayDB[ 79].push_back(new G4QDecayChan(.060, 333, 313)); 00700 DecayDB[ 79].push_back(new G4QDecayChan(.260, 223, 313)); 00701 DecayDB[ 79].push_back(new G4QDecayChan(.380, 313, 113)); 00702 DecayDB[ 79].push_back(new G4QDecayChan(.400, 323,-213)); 00703 DecayDB[ 79].push_back(new G4QDecayChan(.500, 223, 311)); 00704 DecayDB[ 79].push_back(new G4QDecayChan(.550, 311, 113)); 00705 DecayDB[ 79].push_back(new G4QDecayChan(.600, 321,-213)); 00706 DecayDB[ 79].push_back(new G4QDecayChan(.700, 311, 113)); 00707 DecayDB[ 79].push_back(new G4QDecayChan(.800, 321,-213)); 00708 DecayDB[ 79].push_back(new G4QDecayChan(.900, 311, 111)); 00709 DecayDB[ 79].push_back(new G4QDecayChan(1.00, 321,-211)); 00710 } 00711 if(limit<= 80 && nQ>= 80) // K_4 + 00712 { 00713 DecayDB[ 80].push_back(new G4QDecayChan(.060, 333, 323)); 00714 DecayDB[ 80].push_back(new G4QDecayChan(.260, 223, 323)); 00715 DecayDB[ 80].push_back(new G4QDecayChan(.380, 313, 213)); 00716 DecayDB[ 80].push_back(new G4QDecayChan(.400, 323, 113)); 00717 DecayDB[ 80].push_back(new G4QDecayChan(.500, 223, 321)); 00718 DecayDB[ 80].push_back(new G4QDecayChan(.550, 321, 113)); 00719 DecayDB[ 80].push_back(new G4QDecayChan(.600, 311, 213)); 00720 DecayDB[ 80].push_back(new G4QDecayChan(.700, 311, 211)); 00721 DecayDB[ 80].push_back(new G4QDecayChan(.800, 321, 111)); 00722 DecayDB[ 80].push_back(new G4QDecayChan(.900, 311, 211)); 00723 DecayDB[ 80].push_back(new G4QDecayChan(1.00, 321, 111)); 00724 } 00725 if(limit<=81&&nQ>=81)DecayDB[81].push_back(new G4QDecayChan(1., 333,333));//phi_4(2300) 00726 if(limit<=82&&nQ>=82)DecayDB[82].push_back(new G4QDecayChan(1.,2212, 2224));//pDelta++ 00727 if(limit<=83&&nQ>=83)DecayDB[83].push_back(new G4QDecayChan(1.,2112, 1114));//nDelta- 00728 if(limit<=84&&nQ>=84)DecayDB[84].push_back(new G4QDecayChan(1.,2224, 2224));//D++D++ 00729 if(limit<=85&&nQ>=85)DecayDB[85].push_back(new G4QDecayChan(1.,1114, 1114));//Del-Del- 00730 if(limit<=86&&nQ>=86)DecayDB[86].push_back(new G4QDecayChan(1.,2212,2212,2224));//ppD++ 00731 if(limit<=87&&nQ>=87)DecayDB[87].push_back(new G4QDecayChan(1.,2112,2112,1114));//nnD- 00732 if(limit<=88&&nQ>=88)DecayDB[88].push_back(new G4QDecayChan(1.,2212,2224,2224));//p2D++ 00733 if(limit<=89&&nQ>=89)DecayDB[89].push_back(new G4QDecayChan(1.,2112,1114,1114));//nD-D- 00734 //if(limit<=90&&nQ>=90)DecayDB[90] = 0; // neutron (n) as a quark exchange fragment 00735 //if(limit<=91&&nQ>=91)DecayDB[91] = 0; // proton (p) as a quark exchange fragment 00736 //if(limit<=92&&nQ>=92)DecayDB[92] = 0; // neutron (L/Sigma0) as aQuarkExchangeFragment 00737 //if(limit<=93&&nQ>=93)DecayDB[93] = 0; // neutron (Sigma-) as a quarkExchangeFragment 00738 //if(limit<=94&&nQ>=94)DecayDB[94] = 0; // neutron (Sigma+) as a quarkExchangeFragment 00739 //if(limit<=95&&nQ>=95)DecayDB[95] = 0; // neutron (Xi-) as a quark exchange fragment 00740 //if(limit<=96&&nQ>=96)DecayDB[96] = 0; // neutron (Xi0) as a quark exchange fragment 00741 //if(limit<=97&&nQ>=97)DecayDB[97] = 0; // neutron (Omega-) as a quarkExchangeFragment 00742 if(limit<=98&&nQ>=98)DecayDB[98].push_back(new G4QDecayChan(1.,2112, 2112)); //nn (src) 00743 if(limit<=99&&nQ>=99)DecayDB[99].push_back(new G4QDecayChan(1.,2212, 2112)); //d/pn(?) 00744 if(limit<=100&&nQ>=100)DecayDB[100].push_back(new G4QDecayChan(1.,2212,2212));//pp(src) 00745 if(limit<=101&&nQ>=101)DecayDB[101].push_back(new G4QDecayChan(1.,3122,2112));//Ln 00746 if(limit<=102&&nQ>=102)DecayDB[102].push_back(new G4QDecayChan(1.,3122,2212));//Lp 00747 if(limit<=104&&nQ>=104)DecayDB[104].push_back(new G4QDecayChan(1.,3112,2112));//nSig- 00748 if(limit<=103&&nQ>=103)DecayDB[103].push_back(new G4QDecayChan(1.,3122,3122));//LL 00749 if(limit<=105&&nQ>=105)DecayDB[105].push_back(new G4QDecayChan(1.,3222,2212));//pSig+ 00750 //if(limit<=106&&nQ>=106)DecayDB[106] = 0; // t 00751 //if(limit<=107&&nQ>=107)DecayDB[107] = 0; // He3 00752 //Lnn=>Lambda+n+n decay to avoid the final state Hypernucleus 00753 if(limit<=108&&nQ>=108)DecayDB[108].push_back(new G4QDecayChan(1.,3122,2112,2112)); 00754 if(limit<=109&&nQ>=109)DecayDB[109].push_back(new G4QDecayChan(1.,3122,90001001));// Ld 00755 //Lpp=>Lambda+p+p decay to avoid the final state Hypernucleus 00756 if(limit<=110&&nQ>=110)DecayDB[110].push_back(new G4QDecayChan(1.,3122,2212,2212)); 00757 //LLn=>Lambda+Lambda+n decay to avoid the final state Hypernucleus 00758 if(limit<=111&&nQ>=111)DecayDB[111].push_back(new G4QDecayChan(1.,3122,3122,2112)); 00759 //LLp=>Lambda+Lambda+p decay to avoid the final state Hypernucleus 00760 if(limit<=112&&nQ>=112)DecayDB[112].push_back(new G4QDecayChan(1.,3122,3122,2212)); 00761 // nnSigma-=>n+n+Sigma- decay to avoid the final state Hypernucleus 00762 if(limit<=113&&nQ>=113)DecayDB[113].push_back(new G4QDecayChan(1.,2112,2112,3112)); 00763 // ------- Nuclear fragments 00764 //if(limit<=114 && nQ>=114) 00765 //{ 00766 // if(limit<114) limit=101; 00767 // for (int i=limit; i<nQ; i++) DecayDB[i] = 0; 00768 //} 00769 //Update the limit 00770 limit=nQ+1; 00771 #ifdef debug 00772 G4cout<<"G4QParticle::InitDecayVector: limit is set to "<<limit<<G4endl; 00773 #endif 00774 } 00775 //if(!nQ)G4cout<<"G4QParticle::InitDecayVector:Q=0,nD="<<DecayDB[abs(nQ)].size()<<G4endl; 00776 return DecayDB[std::abs(nQ)]; 00777 }
void G4QParticle::InitPDGParticle | ( | G4int | thePDGCode | ) |
Definition at line 789 of file G4QParticle.cc.
References G4QPDGCode::GetQCode(), G4QPDGCode::GetQuarkContent(), and InitDecayVector().
00790 { 00791 aQPDG = G4QPDGCode(thePDGCode); 00792 aQuarkCont = aQPDG.GetQuarkContent(); 00793 aDecay = InitDecayVector(aQPDG.GetQCode()); 00794 }
void G4QParticle::InitQParticle | ( | G4int | theQCode | ) |
Definition at line 780 of file G4QParticle.cc.
References G4QPDGCode::GetQuarkContent(), G4QPDGCode::InitByQCode(), and InitDecayVector().
00781 { 00782 aQPDG.InitByQCode(theQCode); 00783 aQuarkCont = aQPDG.GetQuarkContent(); 00784 aDecay = InitDecayVector(theQCode); 00785 //if(!theQCode)G4cout<<"G4QPar::InitQP:PDG="<<GetPDGCode()<<",n="<<aDecay.size()<<G4endl; 00786 }
G4double G4QParticle::MinMassOfFragm | ( | ) | [inline] |
Definition at line 113 of file G4QParticle.hh.
References GetMass(), and GetWidth().
Referenced by G4Quasmon::DecayQHadron(), G4QIonIonCollision::Fragment(), G4QFragmentation::Fragment(), and G4QHadron::RandomizeMass().
00114 { 00115 G4int nCh=aDecay.size(); 00116 G4double mass=GetMass(); 00117 G4double min=mass; 00118 if(nCh) 00119 { 00120 min=aDecay[0]->GetMinMass(); 00121 if(nCh>1) for(G4int j=1; j<nCh; j++) 00122 { 00123 G4double next=aDecay[j]->GetMinMass(); 00124 if(next<min) min=next; 00125 } 00126 } 00127 G4double w=GetWidth(); 00128 G4double lim=mass+.001; 00129 if(w) lim-=1.5*w; 00130 if(min<lim) min=lim; 00131 return min; 00132 }
G4bool G4QParticle::operator!= | ( | const G4QParticle & | rhs | ) | const [inline] |
const G4QParticle & G4QParticle::operator= | ( | const G4QParticle & | right | ) |
Definition at line 107 of file G4QParticle.cc.
References aDecay, aQPDG, and aQuarkCont.
00108 { 00109 if(this != &right) // Beware of self assignment 00110 { 00111 aQPDG = right.aQPDG; 00112 //aDecay (Vector) 00113 G4int iD = aDecay.size(); 00114 if(iD) for(G4int jd=0; jd<iD; jd++) delete aDecay[jd]; 00115 aDecay.clear(); 00116 G4int nD = right.aDecay.size(); 00117 if(nD) for(G4int id=0; id<nD; id++) 00118 { 00119 G4QDecayChan* curD = new G4QDecayChan(right.aDecay[id]); 00120 aDecay.push_back(curD); 00121 } 00122 00123 aQuarkCont = right.aQuarkCont; 00124 } 00125 return *this; 00126 }
G4bool G4QParticle::operator== | ( | const G4QParticle & | rhs | ) | const [inline] |