401 LOG(info) << GetName() <<
": Set decay modes for pi0, eta, Hypernuclei and Open Charm";
404 std::cout << std::endl << std::endl;
405 LOG(warn) <<
"***********************************";
406 LOG(warn) <<
"***********************************";
407 LOG(warn) << GetName() <<
": User decay modes cannot be set with TGeant4!";
408 LOG(warn) << GetName() <<
": Built-in decay modes for pi0 and eta will be used!";
409 LOG(warn) <<
"***********************************";
410 LOG(warn) <<
"***********************************";
411 std::cout << std::endl << std::endl;
414 Double_t lifetime = 1.85e-10;
415 Double_t mass = 2.99339;
417 Double_t charge = 1.;
419 TVirtualMC::GetMC()->DefineParticle(PDG,
"H3L", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
425 for (
Int_t kz = 0; kz < 6; kz++) {
432 mode[0][0] = 1000020030;
435 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
437 lifetime = 2.632e-10;
442 TVirtualMC::GetMC()->DefineParticle(PDG,
"LambdaN", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1,
446 for (
Int_t kz = 0; kz < 6; kz++) {
453 mode[0][0] = 1000010020;
456 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
462 TVirtualMC::GetMC()->DefineParticle(PDG,
"H4L", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
466 for (
Int_t kz = 0; kz < 6; kz++) {
473 mode[0][0] = 1000020040;
476 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
483 TVirtualMC::GetMC()->DefineParticle(PDG,
"He4L", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0,
486 for (
Int_t kz = 0; kz < 6; kz++) {
493 mode[0][0] = 1000020030;
497 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
503 TVirtualMC::GetMC()->DefineParticle(PDG,
"H3L_{dppi}", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1,
506 for (
Int_t kz = 0; kz < 6; kz++) {
513 mode[0][0] = 1000010020;
519 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
521 lifetime = 2.632e-10;
525 TVirtualMC::GetMC()->DefineParticle(PDG,
"He5L", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0,
528 for (
Int_t kz = 0; kz < 6; kz++) {
535 mode[0][0] = 1000020040;
539 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
541 lifetime = 2.632e-10;
545 TVirtualMC::GetMC()->DefineParticle(PDG,
"H4LL_{He4Lpi-}", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0,
546 1, 1, 0, 0, 1, kFALSE);
548 for (
Int_t kz = 0; kz < 6; kz++) {
558 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
560 lifetime = 2.632e-10;
564 TVirtualMC::GetMC()->DefineParticle(PDG,
"H4LL_{H3Lppi-}", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0,
565 1, 1, 0, 0, 1, kFALSE);
567 for (
Int_t kz = 0; kz < 6; kz++) {
578 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
581 lifetime = 2.632e-10;
585 TVirtualMC::GetMC()->DefineParticle(PDG,
"H5LL_{He5Lpi-}", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0,
586 1, 1, 0, 0, 1, kFALSE);
588 for (
Int_t kz = 0; kz < 6; kz++) {
598 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
601 lifetime = 2.632e-10;
605 TVirtualMC::GetMC()->DefineParticle(PDG,
"He6LL", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0,
608 for (
Int_t kz = 0; kz < 6; kz++) {
619 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
625 TVirtualMC::GetMC()->DefineParticle(PDG,
"D0", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
628 for (
Int_t kz = 0; kz < 6; kz++) {
638 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
644 TVirtualMC::GetMC()->DefineParticle(PDG,
"D0b", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
647 for (
Int_t kz = 0; kz < 6; kz++) {
657 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
663 TVirtualMC::GetMC()->DefineParticle(PDG,
"Lc", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
666 for (
Int_t kz = 0; kz < 6; kz++) {
677 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
683 TVirtualMC::GetMC()->DefineParticle(PDG,
"D+", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
686 for (
Int_t kz = 0; kz < 6; kz++) {
697 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
703 TVirtualMC::GetMC()->DefineParticle(PDG,
"D-", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
706 for (
Int_t kz = 0; kz < 6; kz++) {
717 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
724 TVirtualMC::GetMC()->DefineParticle(PDG,
"Ds+", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
727 for (
Int_t kz = 0; kz < 6; kz++) {
738 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
744 TVirtualMC::GetMC()->DefineParticle(PDG,
"Ds-", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0, 0,
747 for (
Int_t kz = 0; kz < 6; kz++) {
758 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
767 TVirtualMC::GetMC()->DefineParticle(PDG,
"He5D", kPTHadron, mass, charge, lifetime,
"hadron", 0.0, 1, 1, 0, 1, 1, 0,
770 for (
Int_t kz = 0; kz < 6; kz++) {
777 mode[0][0] = 1000020040;
780 TVirtualMC::GetMC()->SetDecayMode(PDG, bratio, mode);
783 TGeant3* gMC3 =
static_cast<TGeant3*
>(vmc);
815 gMC3->Gsdk(17, brEta, modeEta);
830 for (
Int_t iMode = 2; iMode < 6; iMode++) {
836 gMC3->Gsdk(7, brPi, modePi);