Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ShortLivedConstructor Class Reference

#include <G4ShortLivedConstructor.hh>

Static Public Member Functions

static void ConstructParticle ()

Static Protected Member Functions

static void ConstructResonances ()
static void ConstructBaryons ()
static void ConstructMesons ()
static void ConstructQuarks ()
static void ConstructAntiNuclei ()

Detailed Description

Definition at line 34 of file G4ShortLivedConstructor.hh.

Member Function Documentation

◆ ConstructAntiNuclei()

void G4ShortLivedConstructor::ConstructAntiNuclei ( )
staticprotected

◆ ConstructBaryons()

void G4ShortLivedConstructor::ConstructBaryons ( )
staticprotected

Definition at line 614 of file G4ShortLivedConstructor.cc.

615{
616 G4DecayTable* decayTable;
617 G4VDecayChannel* mode;
618 G4ExcitedBaryons* particle;
619
620 // Construct Resonace particles as dynamic object
621 // Arguments for constructor are as follows
622 // name mass width charge
623 // 2*spin parity C-conjugation
624 // 2*Isospin 2*Isospin3 G-parity
625 // type lepton number baryon number PDG encoding
626 // stable lifetime decay table
627
628 // delta baryons
629 // delta(1232)++
630 // clang-format off
631 particle = new G4ExcitedBaryons(
632 "delta++", 1.232*GeV, 117.0*MeV, +2.0*eplus,
633 3, +1, 0,
634 3, +3, 0,
635 "baryon", 0, +1, 2224,
636 false, 0.0, nullptr);
637 // clang-format on
638
639 // set sub type
640 particle->SetMultipletName("delta");
641 // create decay table
642 decayTable = new G4DecayTable();
643 // create decay channel of delta++ -> proton + pi+
644 // parent BR #daughters
645 mode = new G4PhaseSpaceDecayChannel("delta++", 1.000, 2, "proton", "pi+");
646 // add decay table
647 decayTable->Insert(mode);
648 particle->SetDecayTable(decayTable);
649
650 // delta(1232)+
651 // clang-format off
652 particle = new G4ExcitedBaryons(
653 "delta+", 1.232*GeV, 117.0*MeV, +1.0*eplus,
654 3, +1, 0,
655 3, +1, 0,
656 "baryon", 0, +1, 2214,
657 false, 0.0, nullptr);
658 // clang-format on
659
660 // set sub type
661 particle->SetMultipletName("delta(1232)");
662 // create decay table
663 decayTable = new G4DecayTable();
664 // create decay channel of delta+ -> proton + Gamma
665 // parent BR #daughters
666 mode = new G4PhaseSpaceDecayChannel("delta+", 0.01, 2, "proton", "gamma");
667 decayTable->Insert(mode);
668 // create decay channel of delta+ -> neutron + pi+
669 // parent BR #daughters
670 // create decay channel of delta+ -> proton + pi0
671 // parent BR #daughters
672 mode = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2, "proton", "pi0");
673 decayTable->Insert(mode);
674 // create decay channel of delta+ -> neutron + pi+
675 // parent BR #daughters
676 mode = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2, "neutron", "pi+");
677 decayTable->Insert(mode);
678 particle->SetDecayTable(decayTable);
679
680 // delta(1232)0
681 // clang-format off
682 particle = new G4ExcitedBaryons(
683 "delta0", 1.232*GeV, 117.0*MeV, +0.0*eplus,
684 3, +1, 0,
685 3, -1, 0,
686 "baryon", 0, +1, 2114,
687 false, 0.0, nullptr);
688 // clang-format on
689
690 // set sub type
691 particle->SetMultipletName("delta(1232)");
692 // create decay table
693 decayTable = new G4DecayTable();
694 // create decay channel of delta+ -> neutron + gamma
695 // parent BR #daughters
696 mode = new G4PhaseSpaceDecayChannel("delta0", 0.01, 2, "neutron", "gamma");
697 decayTable->Insert(mode);
698 // create decay channel of delta+ -> proton + pi-
699 // parent BR #daughters
700 mode = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2, "proton", "pi-");
701 decayTable->Insert(mode);
702 // create decay channel of delta+ -> neutron + pi0
703 // parent BR #daughters
704 mode = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2, "neutron", "pi0");
705 decayTable->Insert(mode);
706 particle->SetDecayTable(decayTable);
707
708 // delta(1232)-
709 // clang-format off
710 particle = new G4ExcitedBaryons(
711 "delta-", 1.232*GeV, 117.0*MeV, -1.0*eplus,
712 3, +1, 0,
713 3, -3, 0,
714 "baryon", 0, +1, 1114,
715 false, 0.0, nullptr);
716 // clang-format on
717
718 // set sub type
719 particle->SetMultipletName("delta(1232)");
720 // create decay table
721 decayTable = new G4DecayTable();
722 // create decay channel of delta+ -> neutron + pi-
723 // parent BR #daughters
724 mode = new G4PhaseSpaceDecayChannel("delta-", 1.000, 2, "neutron", "pi-");
725 decayTable->Insert(mode);
726 particle->SetDecayTable(decayTable);
727
728 ////////////////////////////
729 // anti_delta baryons
730 // anti_delta(1232)++
731 // clang-format off
732 particle = new G4ExcitedBaryons(
733 "anti_delta++", 1.232*GeV, 117.0*MeV, -2.0*eplus,
734 3, +1, 0,
735 3, -3, 0,
736 "baryon", 0, -1, -2224,
737 false, 0.0, nullptr);
738 // clang-format on
739
740 // set sub type
741 particle->SetMultipletName("delta(1232)");
742 // create decay table
743 decayTable = new G4DecayTable();
744 // create decay channel of delta++ -> anti_proton + pi-
745 // parent BR #daughters
746 mode = new G4PhaseSpaceDecayChannel("anti_delta++", 1.000, 2, "anti_proton", "pi-");
747 // add decay table
748 decayTable->Insert(mode);
749 particle->SetDecayTable(decayTable);
750
751 // anti_delta(1232)+
752 // clang-format off
753 particle = new G4ExcitedBaryons(
754 "anti_delta+", 1.232*GeV, 117.0*MeV, -1.0*eplus,
755 3, +1, 0,
756 3, -1, 0,
757 "baryon", 0, -1, -2214,
758 false, 0.0, nullptr);
759 // clang-format on
760
761 // set sub type
762 particle->SetMultipletName("delta(1232)");
763 // create decay table
764 decayTable = new G4DecayTable();
765 // create decay channel of anti_delta+ -> anti_proton + pi0
766 // parent BR #daughters
767 mode = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2, "anti_proton", "pi0");
768 decayTable->Insert(mode);
769 // create decay channel of anti_delta+ -> anti_neutron + pi-
770 // parent BR #daughters
771 mode = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2, "anti_neutron", "pi-");
772 decayTable->Insert(mode);
773 particle->SetDecayTable(decayTable);
774
775 // anti_delta(1232)0
776 // clang-format off
777 particle = new G4ExcitedBaryons(
778 "anti_delta0", 1.232*GeV, 117.0*MeV, +0.0*eplus,
779 3, +1, 0,
780 3, +1, 0,
781 "baryon", 0, -1, -2114,
782 false, 0.0, nullptr);
783 // clang-format on
784
785 // set sub type
786 particle->SetMultipletName("delta(1232)");
787 // create decay table
788 decayTable = new G4DecayTable();
789 // create decay channel of anti_delta+ -> anti_proton + pi+
790 // parent BR #daughters
791 mode = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2, "anti_proton", "pi+");
792 decayTable->Insert(mode);
793 // create decay channel of delta+ -> neutron + pi0
794 // parent BR #daughters
795 mode = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2, "anti_neutron", "pi0");
796 decayTable->Insert(mode);
797 particle->SetDecayTable(decayTable);
798
799 // anti_delta(1232)-
800 // clang-format off
801 particle = new G4ExcitedBaryons(
802 "anti_delta-", 1.232*GeV, 117.0*MeV, +1.0*eplus,
803 3, +1, 0,
804 3, +3, 0,
805 "baryon", 0, -1, -1114,
806 false, 0.0, nullptr);
807 // clang-format on
808
809 // set sub type
810 particle->SetMultipletName("delta(1232)");
811 // create decay table
812 decayTable = new G4DecayTable();
813 // create decay channel of delta- -> neutron + pi+
814 // parent BR #daughters
815 mode = new G4PhaseSpaceDecayChannel("anti_delta-", 1.000, 2, "anti_neutron", "pi+");
816 decayTable->Insert(mode);
817 particle->SetDecayTable(decayTable);
818}
void Insert(G4VDecayChannel *aChannel)
void SetMultipletName(const G4String &name)
void SetDecayTable(G4DecayTable *aDecayTable)

Referenced by ConstructResonances().

◆ ConstructMesons()

void G4ShortLivedConstructor::ConstructMesons ( )
staticprotected

Definition at line 820 of file G4ShortLivedConstructor.cc.

821{
822 G4DecayTable* decayTable;
823 G4VDecayChannel* mode;
824 G4ExcitedMesons* particle;
825
826 // Construct Resonace particles as dynamic object
827 // Arguments for constructor are as follows
828 // name mass width charge
829 // 2*spin parity C-conjugation
830 // 2*Isospin 2*Isospin3 G-parity
831 // type lepton number baryon number PDG encoding
832 // stable lifetime decay table
833
834 // vector mesons
835 // omega
836 // clang-format off
837 particle = new G4ExcitedMesons(
838 "omega", 782.65*MeV, 8.68*MeV, +0.0*eplus,
839 2, -1, -1,
840 0, +0, -1,
841 "meson", 0, 0, 223,
842 false, 0.0, nullptr);
843 // clang-format on
844
845 particle->SetAntiPDGEncoding(223);
846 // set sub type
847 particle->SetMultipletName("omega");
848 // create decay table
849 decayTable = new G4DecayTable();
850 // create decay channel of omega -> pi+ + pi- + pi0
851 // parent BR #daughters
852 mode = new G4PhaseSpaceDecayChannel("omega", 0.891, 3, "pi+", "pi-", "pi0");
853 // add decay table
854 decayTable->Insert(mode);
855
856 // create decay channel of omega -> gamma + pi0
857 // parent BR #daughters
858 mode = new G4PhaseSpaceDecayChannel("omega", 0.0890, 2, "gamma", "pi0");
859 // add decay table
860 decayTable->Insert(mode);
861
862 // create decay channel of omega -> pi+ + pi-
863 // parent BR #daughters
864 mode = new G4PhaseSpaceDecayChannel("omega", 0.0170, 2, "pi+", "pi-");
865 // add decay table
866 decayTable->Insert(mode);
867 particle->SetDecayTable(decayTable);
868
869 // phi
870 // clang-format off
871 particle = new G4ExcitedMesons(
872 "phi", 1019.46*MeV, 4.249*MeV, +0.0*eplus,
873 2, -1, -1,
874 0, +0, -1,
875 "meson", 0, 0, 333,
876 false, 0.0, nullptr);
877 // clang-format on
878
879 particle->SetAntiPDGEncoding(333);
880 // set sub type
881 particle->SetMultipletName("phi");
882 // create decay table
883 decayTable = new G4DecayTable();
884 // create decay channel of phi -> kaon+ + kaon-
885 // parent BR #daughters
886 mode = new G4PhaseSpaceDecayChannel("phi", 0.492, 2, "kaon+", "kaon-");
887 decayTable->Insert(mode);
888 // create decay channel of phi -> kaon0S + kaon0L
889 // parent BR #daughters
890 mode = new G4PhaseSpaceDecayChannel("phi", 0.340, 2, "kaon0S", "kaon0L");
891 // add decay table
892 decayTable->Insert(mode);
893 // create decay channel of phi -> rho0 + pi0
894 // parent BR #daughters
895 mode = new G4PhaseSpaceDecayChannel("phi", 0.153, 2, "rho0", "pi0");
896 // add decay table
897 decayTable->Insert(mode);
898 particle->SetDecayTable(decayTable);
899
900 // rho+
901 // clang-format off
902 particle = new G4ExcitedMesons(
903 "rho+", 775.11*MeV, 149.1*MeV, +1.0*eplus,
904 2, -1, -1,
905 2, +2, +1,
906 "meson", 0, 0, 213,
907 false, 0.0, nullptr);
908 // clang-format on
909
910 // set sub type
911 particle->SetMultipletName("rho");
912 // create decay table
913 decayTable = new G4DecayTable();
914 // create decay channel of rho+ -> pi+ + pi0
915 // parent BR #daughters
916 mode = new G4PhaseSpaceDecayChannel("rho+", 1.000, 2, "pi+", "pi0");
917 // add decay table
918 decayTable->Insert(mode);
919 particle->SetDecayTable(decayTable);
920
921 // rho-
922 // clang-format off
923 particle = new G4ExcitedMesons(
924 "rho-", 775.11*MeV, 149.1*MeV, -1.0*eplus,
925 2, -1, -1,
926 2, -2, +1,
927 "meson", 0, 0, -213,
928 false, 0.0, nullptr);
929 // clang-format on
930
931 // set sub type
932 particle->SetMultipletName("rho");
933 // create decay table
934 decayTable = new G4DecayTable();
935 // create decay channel of rho- -> pi- + pi0
936 // parent BR #daughters
937 mode = new G4PhaseSpaceDecayChannel("rho-", 1.000, 2, "pi-", "pi0");
938 // add decay table
939 decayTable->Insert(mode);
940 particle->SetDecayTable(decayTable);
941
942 // rho0
943 // clang-format off
944 particle = new G4ExcitedMesons(
945 "rho0", 775.26*MeV, 147.4*MeV, 0.0,
946 2, -1, -1,
947 2, 0, +1,
948 "meson", 0, 0, 113,
949 false, 0.0*ns, nullptr );
950 // clang-format on
951 particle->SetAntiPDGEncoding(113);
952 // set sub type
953 particle->SetMultipletName("rho");
954 // create decay table
955 decayTable = new G4DecayTable();
956 // create decay channel of rho0 -> pi+ + pi-
957 // parent BR #daughters
958 mode = new G4PhaseSpaceDecayChannel("rho0", 1.000, 2, "pi+", "pi-");
959 // add decay table
960 decayTable->Insert(mode);
961 particle->SetDecayTable(decayTable);
962
963 // a0(980)+
964 // clang-format off
965 particle = new G4ExcitedMesons(
966 "a0(980)+", 980.0*MeV, 60.0*MeV, +1.0*eplus,
967 0, +1, +1,
968 2, +2, -1,
969 "meson", 0, 0, 9000211,
970 false, 0.0, nullptr);
971 // clang-format on
972 // set sub type
973 particle->SetMultipletName("a0(980)");
974 // create decay table
975 decayTable = new G4DecayTable();
976 // create decay channel of a0(980)+ -> eta + pi+
977 // parent BR #daughters
978 mode = new G4PhaseSpaceDecayChannel("a0(980)+", 1.000, 2, "pi+", "eta");
979 // add decay table
980 decayTable->Insert(mode);
981 particle->SetDecayTable(decayTable);
982
983 // a0(980)-
984 // clang-format off
985 particle = new G4ExcitedMesons(
986 "a0(980)-", 980.0*MeV, 60.0*MeV, -1.0*eplus,
987 0, +1, +1,
988 2, -2, -1,
989 "meson", 0, 0, -9000211,
990 false, 0.0, nullptr);
991 // clang-format on
992
993 // set sub type
994 particle->SetMultipletName("a0(980)");
995 // create decay table
996 decayTable = new G4DecayTable();
997 // create decay channel of a0(980)- -> eta + pi-
998 // parent BR #daughters
999 mode = new G4PhaseSpaceDecayChannel("a0(980)-", 1.000, 2, "pi-", "eta");
1000 // add decay table
1001 decayTable->Insert(mode);
1002 particle->SetDecayTable(decayTable);
1003
1004 // a0(980)0
1005 // clang-format off
1006 particle = new G4ExcitedMesons(
1007 "a0(980)0", 980.0*MeV, 75.0*MeV, 0.0,
1008 0, +1, +1,
1009 2, 0, -1,
1010 "meson", 0, 0, 9000111,
1011 false, 0.0, nullptr);
1012 // clang-format on
1013 particle->SetAntiPDGEncoding(9000111);
1014 // set sub type
1015 particle->SetMultipletName("a0(980)");
1016 // create decay table
1017 decayTable = new G4DecayTable();
1018 // create decay channel of a0(980)0 -> eta + pi0
1019 // parent BR #daughters
1020 mode = new G4PhaseSpaceDecayChannel("a0(980)0", 1.000, 2, "pi0", "eta");
1021 // add decay table
1022 decayTable->Insert(mode);
1023 particle->SetDecayTable(decayTable);
1024
1025 // f0(500) (was f0(500) f0(400-1200))
1026 // clang-format off
1027 particle = new G4ExcitedMesons(
1028 "f0(500)", 600.0*MeV, 450.0*MeV, 0.0,
1029 0, +1, +1,
1030 0, 0, +1,
1031 "meson", 0, 0, 9000221,
1032 false, 0.0, nullptr);
1033 // clang-format on
1034
1035 particle->SetAntiPDGEncoding(9000221);
1036 // set sub type
1037 particle->SetMultipletName("f0(500)");
1038 // create decay table
1039 decayTable = new G4DecayTable();
1040 // create decay channel of f0(500) -> pi + pi
1041 // parent BR #daughters
1042 mode = new G4PhaseSpaceDecayChannel("f0(500)", 1.000, 2, "pi+", "pi-");
1043 // add decay table
1044 decayTable->Insert(mode);
1045 particle->SetDecayTable(decayTable);
1046
1047 // f0(980)
1048 // clang-format off
1049 particle = new G4ExcitedMesons(
1050 "f0(980)", 990.0*MeV, 55.0*MeV, 0.0,
1051 0, +1, +1,
1052 0, 0, +1,
1053 "meson", 0, 0, 9010221,
1054 false, 0.0, nullptr);
1055 // clang-format on
1056
1057 particle->SetAntiPDGEncoding(9010221);
1058 // set sub type
1059 particle->SetMultipletName("f0(980)");
1060 // create decay table
1061 decayTable = new G4DecayTable();
1062 // create decay channel of f0(980) -> pi + pi
1063 // parent BR #daughters
1064 mode = new G4PhaseSpaceDecayChannel("f0(980)", 1.000, 2, "pi+", "pi-");
1065 // add decay table
1066 decayTable->Insert(mode);
1067 particle->SetDecayTable(decayTable);
1068
1069 // eta(1405)
1070 // clang-format off
1071 particle = new G4ExcitedMesons(
1072 "eta(1405)", 1408.68*MeV, 50.3*MeV, 0.0,
1073 0, -1, +1,
1074 0, 0, +1,
1075 "meson", 0, 0, 9020221,
1076 false, 0.0, nullptr);
1077 // clang-format on
1078
1079 particle->SetAntiPDGEncoding(9020221);
1080 // set sub type
1081 particle->SetMultipletName("eta(1405)");
1082 // create decay table
1083 decayTable = new G4DecayTable();
1084 // create decay channel of eta(1405) -> rho + rho
1085 // parent BR #daughters
1086 mode = new G4PhaseSpaceDecayChannel("eta(1405)", 1.000, 2, "rho+", "rho-");
1087 // add decay table
1088 decayTable->Insert(mode);
1089 particle->SetDecayTable(decayTable);
1090
1091 // f0(1500)
1092 // clang-format off
1093 particle = new G4ExcitedMesons(
1094 "f0(1500)", 1522.0*MeV, 108.0*MeV, 0.0,
1095 0, +1, +1,
1096 0, 0, +1,
1097 "meson", 0, 0, 9030221,
1098 false, 0.0, nullptr);
1099 // clang-format on
1100
1101 particle->SetAntiPDGEncoding(9030221);
1102 // set sub type
1103 particle->SetMultipletName("f0(1500)");
1104 // create decay table
1105 decayTable = new G4DecayTable();
1106 // create decay channel of f0(1500) -> eta + eta
1107 // parent BR #daughters
1108 mode = new G4PhaseSpaceDecayChannel("f0(1500)", 1.000, 2, "eta", "eta");
1109 // add decay table
1110 decayTable->Insert(mode);
1111 particle->SetDecayTable(decayTable);
1112
1113 // f0(1710)
1114 // clang-format off
1115 particle = new G4ExcitedMesons(
1116 "f0(1710)", 1732.91*MeV, 150.4*MeV, 0.0,
1117 0, +1, +1,
1118 0, 0, +1,
1119 "meson", 0, 0, 10331,
1120 false, 0.0, nullptr);
1121 // clang-format on
1122
1123 particle->SetAntiPDGEncoding(10331);
1124 // set sub type
1125 particle->SetMultipletName("f0(1710)");
1126 // create decay table
1127 decayTable = new G4DecayTable();
1128
1129 // create decay channel of f0(1710) -> k0 + k0
1130 // parent BR #daughters
1131 mode = new G4PhaseSpaceDecayChannel("f0(1710)", 0.40, 2, "kaon0S", "kaon0S");
1132 // add decay table
1133 decayTable->Insert(mode);
1134
1135 // create decay channel of f0(1710) -> k+ + k+
1136 // parent BR #daughters
1137 mode = new G4PhaseSpaceDecayChannel("f0(1710)", 0.40, 2, "kaon+", "kaon-");
1138 // add decay table
1139 decayTable->Insert(mode);
1140
1141 // create decay channel of f0(1710) -> eta + eta
1142 // parent BR #daughters
1143 mode = new G4PhaseSpaceDecayChannel("f0(1710)", 0.20, 2, "eta", "eta");
1144 // add decay table
1145 decayTable->Insert(mode);
1146 particle->SetDecayTable(decayTable);
1147
1148 // k_star+
1149 // clang-format off
1150 particle = new G4ExcitedMesons(
1151 "k_star+", 891.67*MeV, 51.4*MeV, +1.0*eplus,
1152 2, -1, 0,
1153 1, +1, 0,
1154 "meson", 0, 0, 323,
1155 false, 0.0, nullptr);
1156 // clang-format on
1157
1158 // set sub type
1159 particle->SetMultipletName("k_star");
1160 // create decay table
1161 decayTable = new G4DecayTable();
1162 // create decay channel of k_star+ -> kaon+ + pi0
1163 // parent BR #daughters
1164 mode = new G4PhaseSpaceDecayChannel("k_star+", 0.500, 2, "kaon+", "pi0");
1165 // add decay table
1166 decayTable->Insert(mode);
1167 // create decay channel of k_star+ -> kaon+ + pi0
1168 // parent BR #daughters
1169 mode = new G4PhaseSpaceDecayChannel("k_star+", 0.500, 2, "kaon0", "pi+");
1170 // add decay table
1171 decayTable->Insert(mode);
1172 particle->SetDecayTable(decayTable);
1173
1174 // k_star0
1175 // clang-format off
1176 particle = new G4ExcitedMesons(
1177 "k_star0", 895.55*MeV, 47.3*MeV, 0.0*eplus,
1178 2, -1, 0,
1179 1, -1, 0,
1180 "meson", 0, 0, 313,
1181 false, 0.0, nullptr);
1182 // clang-format on
1183
1184 // set sub type
1185 particle->SetMultipletName("k_star");
1186 // create decay table
1187 decayTable = new G4DecayTable();
1188 // create decay channel of k_star0 -> kaon+ + pi-
1189 // parent BR #daughters
1190 mode = new G4PhaseSpaceDecayChannel("k_star0", 0.500, 2, "kaon+", "pi-");
1191 // add decay table
1192 decayTable->Insert(mode);
1193 // create decay channel of k_star0 -> kaon0 + pi0
1194 // parent BR #daughters
1195 mode = new G4PhaseSpaceDecayChannel("k_star0", 0.500, 2, "kaon0", "pi0");
1196 // add decay table
1197 decayTable->Insert(mode);
1198 particle->SetDecayTable(decayTable);
1199
1200 // k_star-
1201 // clang-format off
1202 particle = new G4ExcitedMesons(
1203 "k_star-", 891.67*MeV, 51.4*MeV, -1.0*eplus,
1204 2, -1, 0,
1205 1, +1, 0,
1206 "meson", 0, 0, -323,
1207 false, 0.0, nullptr);
1208 // clang-format on
1209
1210 // set sub type
1211 particle->SetMultipletName("k_star");
1212 // create decay table
1213 decayTable = new G4DecayTable();
1214 // create decay channel of k_star- -> kaon- + pi0
1215 // parent BR #daughters
1216 mode = new G4PhaseSpaceDecayChannel("k_star-", 0.500, 2, "kaon-", "pi0");
1217 // add decay table
1218 decayTable->Insert(mode);
1219 // create decay channel of k_star- -> anti_kaon0 + pi-
1220 // parent BR #daughters
1221 mode = new G4PhaseSpaceDecayChannel("k_star-", 0.500, 2, "anti_kaon0", "pi-");
1222 // add decay table
1223 decayTable->Insert(mode);
1224 particle->SetDecayTable(decayTable);
1225
1226 // anti_k_star0
1227 // clang-format off
1228 particle = new G4ExcitedMesons(
1229 "anti_k_star0", 895.55*MeV, 47.3*MeV, 0.0*eplus,
1230 2, -1, 0,
1231 1, -1, 0,
1232 "meson", 0, 0, -313,
1233 false, 0.0, nullptr);
1234 // clang-format on
1235
1236 // set sub type
1237 particle->SetMultipletName("k_star");
1238 // create decay table
1239 decayTable = new G4DecayTable();
1240 // create decay channel of anti_k_star0 -> kaon- + pi+
1241 // parent BR #daughters
1242 mode = new G4PhaseSpaceDecayChannel("anti_k_star0", 0.500, 2, "kaon-", "pi+");
1243 // add decay table
1244 decayTable->Insert(mode);
1245 // create decay channel of anti_k_star0 -> anti_kaon0 + pi0
1246 // parent BR #daughters
1247 mode = new G4PhaseSpaceDecayChannel("anti_k_star0", 0.500, 2, "anti_kaon0", "pi0");
1248 // add decay table
1249 decayTable->Insert(mode);
1250 particle->SetDecayTable(decayTable);
1251}
void SetMultipletName(const G4String &)
void SetAntiPDGEncoding(G4int aEncoding)
#define ns(x)
Definition xmltok.c:1649

Referenced by ConstructResonances().

◆ ConstructParticle()

◆ ConstructQuarks()

void G4ShortLivedConstructor::ConstructQuarks ( )
staticprotected

Definition at line 69 of file G4ShortLivedConstructor.cc.

70{
71 G4ParticleDefinition* particle;
72
73 // Construct Quraks/Gluons as dynamic object
74 // Arguments for constructor are as follows
75 // name mass width charge
76 // 2*spin parity C-conjugation
77 // 2*Isospin 2*Isospin3 G-parity
78 // type lepton number baryon number PDG encoding
79 // stable lifetime decay table
80
81 // clang-format off
82 // gluon
83 particle = new G4Gluons(
84 "gluon", 0.0*MeV, 0.0*MeV, 0.0*eplus,
85 2, -1, 0,
86 0, 0, 0,
87 "gluons", 0, 0, 21,
88 true, -1.0, nullptr);
89 particle->SetAntiPDGEncoding(21);
90 // u-quark
91 particle = new G4Quarks(
92 "u_quark", 2.2*MeV, 0.0*keV, 2./3.*eplus,
93 1, +1, 0,
94 1, +1, 0,
95 "quarks", 0, 0, 2,
96 true, -1.0, nullptr);
97 // d-quark
98 particle = new G4Quarks(
99 "d_quark", 4.7*MeV, 0.0*keV, -1./3.*eplus,
100 1, +1, 0,
101 1, -1, 0,
102 "quarks", 0, 0, 1,
103 true, -1.0, nullptr);
104 // s-quark
105 particle = new G4Quarks(
106 "s_quark", 96.0*MeV, 0.0*keV, -1./3.*eplus,
107 1, +1, 0,
108 0, 0, 0,
109 "quarks", 0, 0, 3,
110 true, -1.0, nullptr);
111 // c-quark
112 particle = new G4Quarks(
113 "c_quark", 1.28*GeV, 0.0*keV, +2./3.*eplus,
114 1, +1, 0,
115 0, 0, 0,
116 "quarks", 0, 0, 4,
117 true, -1.0, nullptr);
118 // b-quark
119 particle = new G4Quarks(
120 "b_quark", 4.18*GeV, 0.0*keV, -1./3.*eplus,
121 1, +1, 0,
122 0, 0, 0,
123 "quarks", 0, 0, 5,
124 true, -1.0, nullptr);
125 // t-quark
126 particle = new G4Quarks(
127 "t_quark", 173.1*GeV, 1.41*GeV, +2./3.*eplus,
128 1, +1, 0,
129 0, 0, 0,
130 "quarks", 0, 0, 6,
131 true, -1.0, nullptr);
132 // anti u-quark
133 particle = new G4Quarks(
134 "anti_u_quark", 2.2*MeV, 0.0*keV, -2./3.*eplus,
135 1, +1, 0,
136 1, -1, 0,
137 "quarks", 0, 0, -2,
138 true, -1.0, nullptr);
139 // anti d-quark
140 particle = new G4Quarks(
141 "anti_d_quark", 4.7*MeV, 0.0*keV, 1./3.*eplus,
142 1, +1, 0,
143 1, +1, 0,
144 "quarks", 0, 0, -1,
145 true, -1.0, nullptr);
146 // anti s-quark
147 particle = new G4Quarks(
148 "anti_s_quark", 96.0*MeV, 0.0*keV, 1./3.*eplus,
149 1, +1, 0,
150 0, 0, 0,
151 "quarks", 0, 0, -3,
152 true, -1.0, nullptr);
153 // anti c-quark
154 particle = new G4Quarks(
155 "anti_c_quark", 1.28*GeV, 0.0*keV, -2./3.*eplus,
156 1, +1, 0,
157 0, 0, 0,
158 "quarks", 0, 0, -4,
159 true, -1.0, nullptr);
160 // anti b-quark
161 particle = new G4Quarks(
162 "anti_b_quark", 4.18*GeV, 0.0*keV, 1./3.*eplus,
163 1, +1, 0,
164 0, 0, 0,
165 "quarks", 0, 0, -5,
166 true, -1.0, nullptr);
167 // anti t-quark
168 particle = new G4Quarks(
169 "anti_t_quark", 173.1*GeV, 1.41*GeV, -2./3.*eplus,
170 1, +1, 0,
171 0, 0, 0,
172 "quarks", 0, 0, -6,
173 true, -1.0, nullptr);
174
175 // uu1-Diquark
176 particle = new G4DiQuarks(
177 "uu1_diquark", 4.6*MeV, 0.0*MeV, 4./3.*eplus,
178 2, +1, 0,
179 2, +2, 0,
180 "diquarks", 0, 0, 2203,
181 true, -1.0, nullptr);
182 // ud1-Diquark
183 particle = new G4DiQuarks(
184 "ud1_diquark", 7.0*MeV, 0.0*MeV, 1./3.*eplus,
185 2, +1, 0,
186 2, +0, 0,
187 "diquarks", 0, 0, 2103,
188 true, -1.0, nullptr);
189 // dd1-Diquark
190 particle = new G4DiQuarks(
191 "dd1_diquark", 9.6*MeV, 0.0*MeV, -2./3.*eplus,
192 2, +1, 0,
193 2, -2, 0,
194 "diquarks", 0, 0, 1103,
195 true, -1.0, nullptr);
196
197 // ud0-Diquark
198 particle = new G4DiQuarks(
199 "ud0_diquark", 7.1*MeV, 0.0*MeV, 1./3.*eplus,
200 0, +1, 0,
201 0, +0, 0,
202 "diquarks", 0, 0, 2101,
203 true, -1.0, nullptr);
204
205 // sd1-Diquark
206 particle = new G4DiQuarks(
207 "sd1_diquark", 102.8*MeV, 0.0*MeV, -2./3.*eplus,
208 2, +1, 0,
209 1, -1, 0,
210 "diquarks", 0, 0, 3103,
211 true, -1.0, nullptr);
212
213 // su1-Diquark
214 particle = new G4DiQuarks(
215 "su1_diquark", 101.4*MeV, 0.0*MeV, 1./3.*eplus,
216 2, +1, 0,
217 1, +1, 0,
218 "diquarks", 0, 0, 3203,
219 true, -1.0, nullptr);
220
221 // sd0-Diquark
222 particle = new G4DiQuarks(
223 "sd0_diquark", 102.0*MeV, 0.0*MeV, -2./3.*eplus,
224 0, +1, 0,
225 1, -1, 0,
226 "diquarks", 0, 0, 3101,
227 true, -1.0, nullptr);
228
229 // su0-Diquark
230 particle = new G4DiQuarks(
231 "su0_diquark", 101.4*MeV, 0.0*MeV, 1./3.*eplus,
232 0, +1, 0,
233 1, +1, 0,
234 "diquarks", 0, 0, 3201,
235 true, -1.0, nullptr);
236
237 // anti uu1-Diquark
238 particle = new G4DiQuarks(
239 "anti_uu1_diquark", 4.6*MeV, 0.0*MeV, -4./3.*eplus,
240 2, +1, 0,
241 2, -2, 0,
242 "diquarks", 0, 0, -2203,
243 true, -1.0, nullptr);
244 // anti ud1-Diquark
245 particle = new G4DiQuarks(
246 "anti_ud1_diquark", 7.0*MeV, 0.0*MeV, -1./3.*eplus,
247 2, +1, 0,
248 2, +0, 0,
249 "diquarks", 0, 0, -2103,
250 true, -1.0, nullptr);
251 // anti dd1-Diquark
252 particle = new G4DiQuarks(
253 "anti_dd1_diquark", 9.6*MeV, 0.0*MeV, 2./3.*eplus,
254 2, +1, 0,
255 2, +2, 0,
256 "diquarks", 0, 0, -1103,
257 true, -1.0, nullptr);
258
259 // anti ud0-Diquark
260 particle = new G4DiQuarks(
261 "anti_ud0_diquark", 7.1*MeV, 0.0*MeV, -1./3.*eplus,
262 0, +1, 0,
263 0, +0, 0,
264 "diquarks", 0, 0, -2101,
265 true, -1.0, nullptr);
266
267 // anti sd1-Diquark
268 particle = new G4DiQuarks(
269 "anti_sd1_diquark", 102.8*MeV, 0.0*MeV, 2./3.*eplus,
270 2, +1, 0,
271 1, +1, 0,
272 "diquarks", 0, 0, -3103,
273 true, -1.0, nullptr);
274
275 // anti su1-Diquark
276 particle = new G4DiQuarks(
277 "anti_su1_diquark", 101.4*MeV, 0.0*MeV, -1./3.*eplus,
278 2, +1, 0,
279 1, -1, 0,
280 "diquarks", 0, 0, -3203,
281 true, -1.0, nullptr);
282
283 // anti sd0-Diquark
284 particle = new G4DiQuarks(
285 "anti_sd0_diquark", 102.0*MeV, 0.0*MeV, 2./3.*eplus,
286 0, +1, 0,
287 1, +1, 0,
288 "diquarks", 0, 0, -3101,
289 true, -1.0, nullptr);
290
291 // anti su0-Diquark
292 particle = new G4DiQuarks(
293 "anti_su0_diquark", 101.4*MeV, 0.0*MeV, -1./3.*eplus,
294 0, +1, 0,
295 1, -1, 0,
296 "diquarks", 0, 0, -3201,
297 true, -1.0, nullptr);
298 // ss1-Diquark
299 particle = new G4DiQuarks(
300 "ss1_diquark", 198.0*MeV, 0.0*MeV, -2./3.*eplus,
301 2, +1, 0,
302 0, 0, 0,
303 "diquarks", 0, 0, 3303,
304 true, -1.0, nullptr);
305
306 // anti ss1-Diquark
307 particle = new G4DiQuarks(
308 "anti_ss1_diquark", 198.0*MeV, 0.0*MeV, 2./3.*eplus,
309 2, +1, 0,
310 0, 0, 0,
311 "diquarks", 0, 0, -3303,
312 true, -1.0, nullptr);
313
314 // ----------- V. Uzhinsky October 2019: Add di-quarks having c and b quarks ----------------
315 // They have to be improved.
316
317 // cd0-Diquark
318 particle = new G4DiQuarks(
319 "cd0_diquark", 1286.1*MeV, 0.0*MeV, 1./3.*eplus,
320 0, +1, 0,
321 0, +0, 0,
322 "diquarks", 0, 0, 4101,
323 true, -1.0, nullptr);
324
325 // cd1-Diquark
326 particle = new G4DiQuarks(
327 "cd1_diquark", 1286.0*MeV, 0.0*MeV, 1./3.*eplus,
328 2, +1, 0,
329 2, +0, 0,
330 "diquarks", 0, 0, 4103,
331 true, -1.0, nullptr);
332
333 // cu0-Diquark
334 particle = new G4DiQuarks(
335 "cu0_diquark", 1283.1*MeV, 0.0*MeV, 4./3.*eplus,
336 0, +1, 0,
337 0, +0, 0,
338 "diquarks", 0, 0, 4201,
339 true, -1.0, nullptr);
340
341 // cu1-Diquark
342 particle = new G4DiQuarks(
343 "cu1_diquark", 1283.0*MeV, 0.0*MeV, 4./3.*eplus,
344 2, +1, 0,
345 2, +0, 0,
346 "diquarks", 0, 0, 4203,
347 true, -1.0, nullptr);
348
349 // cs0-Diquark
350 particle = new G4DiQuarks(
351 "cs0_diquark", 1380.1*MeV, 0.0*MeV, 1./3.*eplus,
352 0, +1, 0,
353 0, +0, 0,
354 "diquarks", 0, 0, 4301,
355 true, -1.0, nullptr);
356
357 // cs1-Diquark
358 particle = new G4DiQuarks(
359 "cs1_diquark", 1380.0*MeV, 0.0*MeV, 1./3.*eplus,
360 2, +1, 0,
361 2, +0, 0,
362 "diquarks", 0, 0, 4303,
363 true, -1.0, nullptr);
364
365 // cc1-Diquark
366 particle = new G4DiQuarks(
367 "cc1_diquark", 2565.0*MeV, 0.0*MeV, 4./3.*eplus,
368 2, +1, 0,
369 2, +0, 0,
370 "diquarks", 0, 0, 4403,
371 true, -1.0, nullptr);
372
373 //---------------------------------------------
374
375 // bd0-Diquark
376 particle = new G4DiQuarks(
377 "bd0_diquark", 4186.1*MeV, 0.0*MeV, -2./3.*eplus,
378 0, +1, 0,
379 0, +0, 0,
380 "diquarks", 0, 0, 5101,
381 true, -1.0, nullptr);
382
383 // bd1-Diquark
384 particle = new G4DiQuarks(
385 "bd1_diquark", 4186.0*MeV, 0.0*MeV, -2./3.*eplus,
386 2, +1, 0,
387 2, +0, 0,
388 "diquarks", 0, 0, 5103,
389 true, -1.0, nullptr);
390
391 // bu0-Diquark
392 particle = new G4DiQuarks(
393 "bu0_diquark", 4183.1*MeV, 0.0*MeV, 1./3.*eplus,
394 0, +1, 0,
395 0, +0, 0,
396 "diquarks", 0, 0, 5201,
397 true, -1.0, nullptr);
398
399 // bu1-Diquark
400 particle = new G4DiQuarks(
401 "bu1_diquark", 4183.0*MeV, 0.0*MeV, 1./3.*eplus,
402 2, +1, 0,
403 2, +0, 0,
404 "diquarks", 0, 0, 5203,
405 true, -1.0, nullptr);
406
407 // bs0-Diquark
408 particle = new G4DiQuarks(
409 "bs0_diquark", 4280.1*MeV, 0.0*MeV, -2./3.*eplus,
410 0, +1, 0,
411 0, +0, 0,
412 "diquarks", 0, 0, 5301,
413 true, -1.0, nullptr);
414
415 // bs1-Diquark
416 particle = new G4DiQuarks(
417 "bs1_diquark", 4280.0*MeV, 0.0*MeV, -2./3.*eplus,
418 2, +1, 0,
419 2, +0, 0,
420 "diquarks", 0, 0, 5303,
421 true, -1.0, nullptr);
422
423 // bc0-Diquark
424 particle = new G4DiQuarks(
425 "bc0_diquark", 5465.1*MeV, 0.0*MeV, 1./3.*eplus,
426 0, +1, 0,
427 0, +0, 0,
428 "diquarks", 0, 0, 5401,
429 true, -1.0, nullptr);
430
431 // bc1-Diquark
432 particle = new G4DiQuarks(
433 "bc1_diquark", 5465.0*MeV, 0.0*MeV, 1./3.*eplus,
434 2, +1, 0,
435 2, +0, 0,
436 "diquarks", 0, 0, 5403,
437 true, -1.0, nullptr);
438
439 // bb1-Diquark
440 particle = new G4DiQuarks(
441 "bb1_diquark", 8365.0*MeV, 0.0*MeV, -2./3.*eplus,
442 2, +1, 0,
443 2, +0, 0,
444 "diquarks", 0, 0, 5503,
445 true, -1.0, nullptr);
446
447 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
448
449 // anti cd0-Diquark
450 particle = new G4DiQuarks(
451 "anti_cd0_diquark", 1286.1*MeV, 0.0*MeV, -1./3.*eplus,
452 0, +1, 0,
453 0, +0, 0,
454 "diquarks", 0, 0, -4101,
455 true, -1.0, nullptr);
456
457 // anti cd1-Diquark
458 particle = new G4DiQuarks(
459 "anti_cd1_diquark", 1286.0*MeV, 0.0*MeV, -1./3.*eplus,
460 2, +1, 0,
461 2, +0, 0,
462 "diquarks", 0, 0, -4103,
463 true, -1.0, nullptr);
464
465 // anti cu0-Diquark
466 particle = new G4DiQuarks(
467 "anti_cu0_diquark", 1283.1*MeV, 0.0*MeV, -4./3.*eplus,
468 0, +1, 0,
469 0, +0, 0,
470 "diquarks", 0, 0, -4201,
471 true, -1.0, nullptr);
472
473 // anti cu1-Diquark
474 particle = new G4DiQuarks(
475 "anti_cu1_diquark", 1283.0*MeV, 0.0*MeV, -4./3.*eplus,
476 2, +1, 0,
477 2, +0, 0,
478 "diquarks", 0, 0, -4203,
479 true, -1.0, nullptr);
480
481 // anti cs0-Diquark
482 particle = new G4DiQuarks(
483 "anti_cs0_diquark", 1380.1*MeV, 0.0*MeV, -1./3.*eplus,
484 0, +1, 0,
485 0, +0, 0,
486 "diquarks", 0, 0, -4301,
487 true, -1.0, nullptr);
488
489 // anti cs1-Diquark
490 particle = new G4DiQuarks(
491 "anti_cs1_diquark", 1380.0*MeV, 0.0*MeV, -1./3.*eplus,
492 2, +1, 0,
493 2, +0, 0,
494 "diquarks", 0, 0, -4303,
495 true, -1.0, nullptr);
496
497 // anti cc1-Diquark
498 particle = new G4DiQuarks(
499 "anti_cc1_diquark", 2565.0*MeV, 0.0*MeV, -4./3.*eplus,
500 2, +1, 0,
501 2, +0, 0,
502 "diquarks", 0, 0, -4403,
503 true, -1.0, nullptr);
504
505 //---------------------------------------------
506
507 // anti bd0-Diquark
508 particle = new G4DiQuarks(
509 "anti_bd0_diquark", 4186.1*MeV, 0.0*MeV, +2./3.*eplus,
510 0, +1, 0,
511 0, +0, 0,
512 "diquarks", 0, 0, -5101,
513 true, -1.0, nullptr);
514
515 // anti bd1-Diquark
516 particle = new G4DiQuarks(
517 "anti_bd1_diquark", 4186.0*MeV, 0.0*MeV, +2./3.*eplus,
518 2, +1, 0,
519 2, +0, 0,
520 "diquarks", 0, 0, -5103,
521 true, -1.0, nullptr);
522
523 // anti bu0-Diquark
524 particle = new G4DiQuarks(
525 "anti_bu0_diquark", 4183.1*MeV, 0.0*MeV, -1./3.*eplus,
526 0, +1, 0,
527 0, +0, 0,
528 "diquarks", 0, 0, -5201,
529 true, -1.0, nullptr);
530
531 // anti bu1-Diquark
532 particle = new G4DiQuarks(
533 "anti_bu1_diquark", 4183.0*MeV, 0.0*MeV, -1./3.*eplus,
534 2, +1, 0,
535 2, +0, 0,
536 "diquarks", 0, 0, -5203,
537 true, -1.0, nullptr);
538
539 // anti bs0-Diquark
540 particle = new G4DiQuarks(
541 "anti_bs0_diquark", 4280.1*MeV, 0.0*MeV, +2./3.*eplus,
542 0, +1, 0,
543 0, +0, 0,
544 "diquarks", 0, 0, -5301,
545 true, -1.0, nullptr);
546
547 // anti bs1-Diquark
548 particle = new G4DiQuarks(
549 "anti_bs1_diquark", 4280.0*MeV, 0.0*MeV, +2./3.*eplus,
550 2, +1, 0,
551 2, +0, 0,
552 "diquarks", 0, 0, -5303,
553 true, -1.0, nullptr);
554
555 // anti bc0-Diquark
556 particle = new G4DiQuarks(
557 "anti_bc0_diquark", 5465.1*MeV, 0.0*MeV, -1./3.*eplus,
558 0, +1, 0,
559 0, +0, 0,
560 "diquarks", 0, 0, -5401,
561 true, -1.0, nullptr);
562
563 // anti bc1-Diquark
564 particle = new G4DiQuarks(
565 "anti_bc1_diquark", 5465.0*MeV, 0.0*MeV, -1./3.*eplus,
566 2, +1, 0,
567 2, +0, 0,
568 "diquarks", 0, 0, -5403,
569 true, -1.0, nullptr);
570
571 // anti bb1-Diquark
572 particle = new G4DiQuarks(
573 "anti_bb1_diquark", 8365.0*MeV, 0.0*MeV, 2./3.*eplus,
574 2, +1, 0,
575 2, +0, 0,
576 "diquarks", 0, 0, -5503,
577 true, -1.0, nullptr);
578
579 // clang-format on
580
581 particle = nullptr;
582}

Referenced by ConstructParticle().

◆ ConstructResonances()

void G4ShortLivedConstructor::ConstructResonances ( )
staticprotected

Definition at line 584 of file G4ShortLivedConstructor.cc.

585{
588
589 // N*
590 G4ExcitedNucleonConstructor nucleons;
591 nucleons.Construct();
592
593 // Delta*
594 G4ExcitedDeltaConstructor deltas;
595 deltas.Construct();
596
597 // Lambda*
598 G4ExcitedLambdaConstructor lamdas;
599 lamdas.Construct();
600
601 // Sigma*
602 G4ExcitedSigmaConstructor sigmas;
603 sigmas.Construct();
604
605 // Xi*
606 G4ExcitedXiConstructor xis;
607 xis.Construct();
608
609 // Mesons
610 G4ExcitedMesonConstructor mesons;
611 mesons.Construct();
612}
virtual void Construct(G4int indexOfState=-1)
virtual void Construct(G4int indexOfState=-1)

Referenced by ConstructParticle().


The documentation for this class was generated from the following files: