#include <BesShortLivedConstructor.hh>
Public Member Functions | |
BesShortLivedConstructor () | |
~BesShortLivedConstructor () | |
void | ConstructParticle () |
Protected Member Functions | |
void | ConstructResonances () |
void | ConstructBaryons () |
void | ConstructMesons () |
Static Private Attributes | |
static G4bool | isConstructed = false |
Definition at line 17 of file BesShortLivedConstructor.hh.
BesShortLivedConstructor::BesShortLivedConstructor | ( | ) |
BesShortLivedConstructor::~BesShortLivedConstructor | ( | ) |
void BesShortLivedConstructor::ConstructBaryons | ( | ) | [protected] |
Definition at line 79 of file BesShortLivedConstructor.cc.
Referenced by ConstructResonances().
00080 { 00081 G4DecayTable* decayTable; 00082 G4VDecayChannel* mode; 00083 G4ExcitedBaryons* particle; 00084 00085 // Construct Resonace particles as dynamic object 00086 // Arguments for constructor are as follows 00087 // name mass width charge 00088 // 2*spin parity C-conjugation 00089 // 2*Isospin 2*Isospin3 G-parity 00090 // type lepton number baryon number PDG encoding 00091 // stable lifetime decay table 00092 00093 // delta baryons 00094 // delta(1232)++ 00095 particle = new G4ExcitedBaryons( 00096 "delta++", 1.232*GeV, 115.0*MeV, +2.0*eplus, 00097 3, +1, 0, 00098 3, +3, 0, 00099 "baryon", 0, +1, 2224, 00100 false, 0.0, NULL); 00101 // set sub type 00102 particle->SetMultipletName("delta"); 00103 // create decay table 00104 decayTable = new G4DecayTable(); 00105 // create decay channel of delta++ -> proton + pi+ 00106 // parent BR #daughters 00107 mode = new G4PhaseSpaceDecayChannel("delta++",1.000, 2, 00108 "proton","pi+"); 00109 // add decay table 00110 decayTable->Insert(mode); 00111 particle->SetDecayTable(decayTable); 00112 00113 // delta(1232)+ 00114 particle = new G4ExcitedBaryons( 00115 "delta+", 1.232*GeV, 115.0*MeV, +1.0*eplus, 00116 3, +1, 0, 00117 3, +1, 0, 00118 "baryon", 0, +1, 2214, 00119 false, 0.0, NULL); 00120 // set sub type 00121 particle->SetMultipletName("delta(1232)"); 00122 // create decay table 00123 decayTable = new G4DecayTable(); 00124 // create decay channel of delta+ -> proton + Gamma 00125 // parent BR #daughters 00126 mode = new G4PhaseSpaceDecayChannel("delta+", 0.01, 2, 00127 "proton","gamma"); 00128 decayTable->Insert(mode); 00129 // create decay channel of delta+ -> neutron + pi+ 00130 // parent BR #daughters 00131 // create decay channel of delta+ -> proton + pi0 00132 // parent BR #daughters 00133 mode = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2, 00134 "proton","pi0"); 00135 decayTable->Insert(mode); 00136 // create decay channel of delta+ -> neutron + pi+ 00137 // parent BR #daughters 00138 mode = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2, 00139 "neutron","pi+"); 00140 decayTable->Insert(mode); 00141 particle->SetDecayTable(decayTable); 00142 00143 // delta(1232)0 00144 particle = new G4ExcitedBaryons( 00145 "delta0", 1.232*GeV, 115.0*MeV, +0.0*eplus, 00146 3, +1, 0, 00147 3, -1, 0, 00148 "baryon", 0, +1, 2114, 00149 false, 0.0, NULL); 00150 // set sub type 00151 particle->SetMultipletName("delta(1232)"); 00152 // create decay table 00153 decayTable = new G4DecayTable(); 00154 // create decay channel of delta+ -> neutron + gamma 00155 // parent BR #daughters 00156 mode = new G4PhaseSpaceDecayChannel("delta0", 0.01, 2, 00157 "neutron","gamma"); 00158 decayTable->Insert(mode); 00159 // create decay channel of delta+ -> proton + pi- 00160 // parent BR #daughters 00161 mode = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2, 00162 "proton","pi-"); 00163 decayTable->Insert(mode); 00164 // create decay channel of delta+ -> neutron + pi0 00165 // parent BR #daughters 00166 mode = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2, 00167 "neutron","pi0"); 00168 decayTable->Insert(mode); 00169 particle->SetDecayTable(decayTable); 00170 00171 // delta(1232)- 00172 particle = new G4ExcitedBaryons( 00173 "delta-", 1.232*GeV, 115.0*MeV, -1.0*eplus, 00174 3, +1, 0, 00175 3, -3, 0, 00176 "baryon", 0, +1, 1114, 00177 false, 0.0, NULL); 00178 // set sub type 00179 particle->SetMultipletName("delta(1232)"); 00180 // create decay table 00181 decayTable = new G4DecayTable(); 00182 // create decay channel of delta+ -> neutron + pi- 00183 // parent BR #daughters 00184 mode = new G4PhaseSpaceDecayChannel("delta-", 1.000, 2, 00185 "neutron","pi-"); 00186 decayTable->Insert(mode); 00187 particle->SetDecayTable(decayTable); 00188 00189 00191 // anti_delta baryons 00192 // anti_delta(1232)++ 00193 particle = new G4ExcitedBaryons( 00194 "anti_delta++", 1.232*GeV, 115.0*MeV, -2.0*eplus, 00195 3, +1, 0, 00196 3, -3, 0, 00197 "baryon", 0, -1, -2224, 00198 false, 0.0, NULL); 00199 // set sub type 00200 particle->SetMultipletName("delta(1232)"); 00201 // create decay table 00202 decayTable = new G4DecayTable(); 00203 // create decay channel of delta++ -> anti_proton + pi- 00204 // parent BR #daughters 00205 mode = new G4PhaseSpaceDecayChannel("anti_delta++",1.000, 2, 00206 "anti_proton","pi-"); 00207 // add decay table 00208 decayTable->Insert(mode); 00209 particle->SetDecayTable(decayTable); 00210 00211 // anti_delta(1232)+ 00212 particle = new G4ExcitedBaryons( 00213 "anti_delta+", 1.232*GeV, 115.0*MeV, -1.0*eplus, 00214 3, +1, 0, 00215 3, -1, 0, 00216 "baryon", 0, -1, -2214, 00217 false, 0.0, NULL); 00218 // set sub type 00219 particle->SetMultipletName("delta(1232)"); 00220 // create decay table 00221 decayTable = new G4DecayTable(); 00222 // create decay channel of anti_delta+ -> anti_proton + pi0 00223 // parent BR #daughters 00224 mode = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2, 00225 "anti_proton","pi0"); 00226 decayTable->Insert(mode); 00227 // create decay channel of anti_delta+ -> anti_neutron + pi- 00228 // parent BR #daughters 00229 mode = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2, 00230 "anti_neutron","pi-"); 00231 decayTable->Insert(mode); 00232 particle->SetDecayTable(decayTable); 00233 00234 // anti_delta(1232)0 00235 particle = new G4ExcitedBaryons( 00236 "anti_delta0", 1.232*GeV, 115.0*MeV, +0.0*eplus, 00237 3, +1, 0, 00238 3, +1, 0, 00239 "baryon", 0, -1, -2114, 00240 false, 0.0, NULL); 00241 // set sub type 00242 particle->SetMultipletName("delta(1232)"); 00243 // create decay table 00244 decayTable = new G4DecayTable(); 00245 // create decay channel of anti_delta+ -> anti_proton + pi+ 00246 // parent BR #daughters 00247 mode = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2, 00248 "anti_proton","pi+"); 00249 decayTable->Insert(mode); 00250 // create decay channel of delta+ -> neutron + pi0 00251 // parent BR #daughters 00252 mode = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2, 00253 "anti_neutron","pi0"); 00254 decayTable->Insert(mode); 00255 particle->SetDecayTable(decayTable); 00256 00257 // anti_delta(1232)- 00258 particle = new G4ExcitedBaryons( 00259 "anti_delta-", 1.232*GeV, 115.0*MeV, +1.0*eplus, 00260 3, +1, 0, 00261 3, +3, 0, 00262 "baryon", 0, -1, -1114, 00263 false, 0.0, NULL); 00264 // set sub type 00265 particle->SetMultipletName("delta(1232)"); 00266 // create decay table 00267 decayTable = new G4DecayTable(); 00268 // create decay channel of delta- -> neutron + pi+ 00269 // parent BR #daughters 00270 mode = new G4PhaseSpaceDecayChannel("anti_delta-", 1.000, 2, 00271 "anti_neutron","pi+"); 00272 decayTable->Insert(mode); 00273 particle->SetDecayTable(decayTable); 00274 00275 00276 00277 }
void BesShortLivedConstructor::ConstructMesons | ( | ) | [protected] |
Definition at line 279 of file BesShortLivedConstructor.cc.
References ns.
Referenced by ConstructResonances().
00280 { 00281 G4DecayTable* decayTable; 00282 G4VDecayChannel* mode; 00283 G4ExcitedMesons* particle; 00284 00285 // Construct Resonace particles as dynamic object 00286 // Arguments for constructor are as follows 00287 // name mass width charge 00288 // 2*spin parity C-conjugation 00289 // 2*Isospin 2*Isospin3 G-parity 00290 // type lepton number baryon number PDG encoding 00291 // stable lifetime decay table 00292 00293 // vector mesons 00294 // omega 00295 particle = new G4ExcitedMesons( 00296 "omega", 781.94*MeV, 8.41*MeV, +0.0*eplus, 00297 2, -1, -1, 00298 0, +0, -1, 00299 "meson", 0, 0, 223, 00300 false, 0.0, NULL); 00301 particle->SetAntiPDGEncoding(223); 00302 // set sub type 00303 particle->SetMultipletName("omega"); 00304 // create decay table 00305 decayTable = new G4DecayTable(); 00306 // create decay channel of omega -> pi+ + pi- + pi0 00307 // parent BR #daughters 00308 mode = new G4PhaseSpaceDecayChannel("omega",0.888, 3, 00309 "pi+","pi-","pi0"); 00310 // add decay table 00311 decayTable->Insert(mode); 00312 particle->SetDecayTable(decayTable); 00313 00314 // phi 00315 particle = new G4ExcitedMesons( 00316 "phi", 1019.4*MeV, 4.43*MeV, +0.0*eplus, 00317 2, -1, -1, 00318 0, +0, -1, 00319 "meson", 0, 0, 333, 00320 false, 0.0, NULL); 00321 particle->SetAntiPDGEncoding(333); 00322 // set sub type 00323 particle->SetMultipletName("phi"); 00324 // create decay table 00325 decayTable = new G4DecayTable(); 00326 // create decay channel of phi -> kaon+ + kaon- 00327 // parent BR #daughters 00328 mode = new G4PhaseSpaceDecayChannel("phi",0.491, 2, 00329 "kaon+","kaon-"); 00330 decayTable->Insert(mode); 00331 // create decay channel of phi -> kaon0S + kaon0L 00332 // parent BR #daughters 00333 mode = new G4PhaseSpaceDecayChannel("phi",0.343, 2, 00334 "kaon0S","kaon0L"); 00335 // add decay table 00336 decayTable->Insert(mode); 00337 // create decay channel of phi -> rho0 + pi0 00338 // parent BR #daughters 00339 mode = new G4PhaseSpaceDecayChannel("phi",0.129, 2, 00340 "rho0","pi0"); 00341 // add decay table 00342 decayTable->Insert(mode); 00343 particle->SetDecayTable(decayTable); 00344 00345 // rho+ 00346 particle = new G4ExcitedMesons( 00347 "rho+", 769.9*MeV, 151.2*MeV, +1.0*eplus, 00348 2, -1, -1, 00349 2, +2, +1, 00350 "meson", 0, 0, 213, 00351 false, 0.0, NULL); 00352 // set sub type 00353 particle->SetMultipletName("rho"); 00354 // create decay table 00355 decayTable = new G4DecayTable(); 00356 // create decay channel of rho+ -> pi+ + pi0 00357 // parent BR #daughters 00358 mode = new G4PhaseSpaceDecayChannel("rho+",1.000, 2, 00359 "pi+","pi0"); 00360 // add decay table 00361 decayTable->Insert(mode); 00362 particle->SetDecayTable(decayTable); 00363 00364 // rho- 00365 particle = new G4ExcitedMesons( 00366 "rho-", 769.9*MeV, 151.2*MeV, -1.0*eplus, 00367 2, -1, -1, 00368 2, -2, +1, 00369 "meson", 0, 0, -213, 00370 false, 0.0, NULL); 00371 // set sub type 00372 particle->SetMultipletName("rho"); 00373 // create decay table 00374 decayTable = new G4DecayTable(); 00375 // create decay channel of rho- -> pi- + pi0 00376 // parent BR #daughters 00377 mode = new G4PhaseSpaceDecayChannel("rho-",1.000, 2, 00378 "pi-","pi0"); 00379 // add decay table 00380 decayTable->Insert(mode); 00381 particle->SetDecayTable(decayTable); 00382 00383 // rho0 00384 particle = new G4ExcitedMesons( 00385 "rho0", 770.0*MeV, 150.7*MeV, 0.0, 00386 2, -1, -1, 00387 2, 0, +1, 00388 "meson", 0, 0, 113, 00389 false, 0.0*ns, NULL ); 00390 particle->SetAntiPDGEncoding(113); 00391 // set sub type 00392 particle->SetMultipletName("rho"); 00393 // create decay table 00394 decayTable = new G4DecayTable(); 00395 // create decay channel of rho0 -> pi+ + pi- 00396 // parent BR #daughters 00397 mode = new G4PhaseSpaceDecayChannel("rho0",1.000, 2, 00398 "pi+","pi-"); 00399 // add decay table 00400 decayTable->Insert(mode); 00401 particle->SetDecayTable(decayTable); 00402 00403 // a0(980)+ 00404 particle = new G4ExcitedMesons( 00405 "a0(980)+", 984.8*MeV, 60.0*MeV, +1.0*eplus, 00406 0, +1, +1, 00407 2, +2, -1, 00408 "meson", 0, 0, 9000211, 00409 false, 0.0, NULL); 00410 // set sub type 00411 particle->SetMultipletName("a0(980)"); 00412 // create decay table 00413 decayTable = new G4DecayTable(); 00414 // create decay channel of a0(980)+ -> eta + pi+ 00415 // parent BR #daughters 00416 mode = new G4PhaseSpaceDecayChannel("a0(980)+",1.000, 2, 00417 "pi+","eta"); 00418 // add decay table 00419 decayTable->Insert(mode); 00420 particle->SetDecayTable(decayTable); 00421 00422 // a0(980)- 00423 particle = new G4ExcitedMesons( 00424 "a0(980)-", 984.8*MeV, 60.0*MeV, -1.0*eplus, 00425 0, +1, +1, 00426 2, -2, -1, 00427 "meson", 0, 0, -9000211, 00428 false, 0.0, NULL); 00429 // set sub type 00430 particle->SetMultipletName("a0(980)"); 00431 // create decay table 00432 decayTable = new G4DecayTable(); 00433 // create decay channel of a0(980)- -> eta + pi- 00434 // parent BR #daughters 00435 mode = new G4PhaseSpaceDecayChannel("a0(980)-",1.000, 2, 00436 "pi-","eta"); 00437 // add decay table 00438 decayTable->Insert(mode); 00439 particle->SetDecayTable(decayTable); 00440 00441 // a0(980)0 00442 particle = new G4ExcitedMesons( 00443 "a0(980)0", 984.8*MeV, 60.0*MeV, 0.0, 00444 0, +1, +1, 00445 2, 0, -1, 00446 "meson", 0, 0, 9000111, 00447 false, 0.0, NULL); 00448 particle->SetAntiPDGEncoding(9000111); 00449 // set sub type 00450 particle->SetMultipletName("a0(980)"); 00451 // create decay table 00452 decayTable = new G4DecayTable(); 00453 // create decay channel of a0(980)0 -> eta + pi0 00454 // parent BR #daughters 00455 mode = new G4PhaseSpaceDecayChannel("a0(980)0",1.000, 2, 00456 "pi0","eta"); 00457 // add decay table 00458 decayTable->Insert(mode); 00459 particle->SetDecayTable(decayTable); 00460 00461 // f0(400-1200) 00462 particle = new G4ExcitedMesons( 00463 "f0(400-1200)", 470.0*MeV, 400.0*MeV, 0.0, 00464 0, +1, +1, 00465 0, 0, +1, 00466 "meson", 0, 0, 9000221, 00467 false, 0.0, NULL); 00468 particle->SetAntiPDGEncoding(9000221); 00469 // set sub type 00470 particle->SetMultipletName("f0(400-1200)"); 00471 // create decay table 00472 decayTable = new G4DecayTable(); 00473 // create decay channel of f0(400-1200) -> pi + pi 00474 // parent BR #daughters 00475 mode = new G4PhaseSpaceDecayChannel("f0(400-1200)",1.000, 2, 00476 "pi+","pi-"); 00477 // add decay table 00478 decayTable->Insert(mode); 00479 particle->SetDecayTable(decayTable); 00480 00481 00482 // f0(980) 00483 particle = new G4ExcitedMesons( 00484 "f0(980)", 980.0*MeV, 40.0*MeV, 0.0, 00485 0, +1, +1, 00486 0, 0, +1, 00487 "meson", 0, 0, 9010221, 00488 false, 0.0, NULL); 00489 particle->SetAntiPDGEncoding(9010221); 00490 // set sub type 00491 particle->SetMultipletName("f0(980)"); 00492 // create decay table 00493 decayTable = new G4DecayTable(); 00494 // create decay channel of f0(980) -> pi + pi 00495 // parent BR #daughters 00496 mode = new G4PhaseSpaceDecayChannel("f0(980)",1.000, 2, 00497 "pi+","pi-"); 00498 // add decay table 00499 decayTable->Insert(mode); 00500 particle->SetDecayTable(decayTable); 00501 00502 00503 // k_star+ 00504 particle = new G4ExcitedMesons( 00505 "k_star+", 891.6*MeV, 50.8*MeV, +1.0*eplus, 00506 2, -1, 0, 00507 1, +1, 0, 00508 "meson", 0, 0, 323, 00509 false, 0.0, NULL); 00510 // set sub type 00511 particle->SetMultipletName("k_star"); 00512 // create decay table 00513 decayTable = new G4DecayTable(); 00514 // create decay channel of k_star+ -> kaon+ + pi0 00515 // parent BR #daughters 00516 mode = new G4PhaseSpaceDecayChannel("k_star+",0.500, 2, 00517 "kaon+","pi0"); 00518 // add decay table 00519 decayTable->Insert(mode); 00520 // create decay channel of k_star+ -> kaon+ + pi0 00521 // parent BR #daughters 00522 mode = new G4PhaseSpaceDecayChannel("k_star+",0.500, 2, 00523 "kaon0","pi+"); 00524 // add decay table 00525 decayTable->Insert(mode); 00526 particle->SetDecayTable(decayTable); 00527 00528 // k_star0 00529 particle = new G4ExcitedMesons( 00530 "k_star0", 896.1*MeV, 50.5*MeV, 0.0*eplus, 00531 2, -1, 0, 00532 1, -1, 0, 00533 "meson", 0, 0, 313, 00534 false, 0.0, NULL); 00535 // set sub type 00536 particle->SetMultipletName("k_star"); 00537 // create decay table 00538 decayTable = new G4DecayTable(); 00539 // create decay channel of k_star0 -> kaon+ + pi- 00540 // parent BR #daughters 00541 mode = new G4PhaseSpaceDecayChannel("k_star0",0.500, 2, 00542 "kaon+","pi-"); 00543 // add decay table 00544 decayTable->Insert(mode); 00545 // create decay channel of k_star0 -> kaon0 + pi0 00546 // parent BR #daughters 00547 mode = new G4PhaseSpaceDecayChannel("k_star0",0.500, 2, 00548 "kaon0","pi0"); 00549 // add decay table 00550 decayTable->Insert(mode); 00551 particle->SetDecayTable(decayTable); 00552 00553 // k_star- 00554 particle = new G4ExcitedMesons( 00555 "k_star-", 891.6*MeV, 50.8*MeV, -1.0*eplus, 00556 2, -1, 0, 00557 1, +1, 0, 00558 "meson", 0, 0, -323, 00559 false, 0.0, NULL); 00560 // set sub type 00561 particle->SetMultipletName("k_star"); 00562 // create decay table 00563 decayTable = new G4DecayTable(); 00564 // create decay channel of k_star- -> kaon- + pi0 00565 // parent BR #daughters 00566 mode = new G4PhaseSpaceDecayChannel("k_star-",0.500, 2, 00567 "kaon-","pi0"); 00568 // add decay table 00569 decayTable->Insert(mode); 00570 // create decay channel of k_star- -> anti_kaon0 + pi0 00571 // parent BR #daughters 00572 mode = new G4PhaseSpaceDecayChannel("k_star-",0.500, 2, 00573 "anti_kaon0","pi+"); 00574 // add decay table 00575 decayTable->Insert(mode); 00576 particle->SetDecayTable(decayTable); 00577 00578 00579 // anti_k_star0 00580 particle = new G4ExcitedMesons( 00581 "anti_k_star0", 896.1*MeV, 50.5*MeV, 0.0*eplus, 00582 2, -1, 0, 00583 1, -1, 0, 00584 "meson", 0, 0, -313, 00585 false, 0.0, NULL); 00586 // set sub type 00587 particle->SetMultipletName("k_star"); 00588 // create decay table 00589 decayTable = new G4DecayTable(); 00590 // create decay channel of anti_k_star0 -> kaon- + pi+ 00591 // parent BR #daughters 00592 mode = new G4PhaseSpaceDecayChannel("anti_k_star0",0.500, 2, 00593 "kaon-","pi+"); 00594 // add decay table 00595 decayTable->Insert(mode); 00596 // create decay channel of anti_k_star0 -> anti_kaon0 + pi0 00597 // parent BR #daughters 00598 mode = new G4PhaseSpaceDecayChannel("anti_k_star0",0.500, 2, 00599 "anti_kaon0","pi0"); 00600 // add decay table 00601 decayTable->Insert(mode); 00602 particle->SetDecayTable(decayTable); 00603 00604 }
void BesShortLivedConstructor::ConstructParticle | ( | ) |
Definition at line 31 of file BesShortLivedConstructor.cc.
References ConstructResonances(), and isConstructed.
00032 { 00033 if (!isConstructed){ 00034 ConstructResonances(); 00035 isConstructed = true; 00036 } 00037 }
void BesShortLivedConstructor::ConstructResonances | ( | ) | [protected] |
Definition at line 46 of file BesShortLivedConstructor.cc.
References ConstructBaryons(), and ConstructMesons().
Referenced by ConstructParticle().
00047 { 00048 ConstructBaryons(); 00049 ConstructMesons(); 00050 00051 // N* 00052 G4ExcitedNucleonConstructor nucleons; 00053 nucleons.Construct(); 00054 00055 // Delta* 00056 G4ExcitedDeltaConstructor deltas; 00057 deltas.Construct(); 00058 00059 // Lambda* 00060 G4ExcitedLambdaConstructor lamdas; 00061 lamdas.Construct(); 00062 00063 // Sigma* 00064 G4ExcitedSigmaConstructor sigmas; 00065 sigmas.Construct(); 00066 00067 // Xi* 00068 G4ExcitedXiConstructor xis; 00069 xis.Construct(); 00070 00071 // Mesons 00072 G4ExcitedMesonConstructor mesons; 00073 mesons.Construct(); 00074 00075 }
G4bool BesShortLivedConstructor::isConstructed = false [static, private] |