Geant4 11.2.2
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()

static void G4ShortLivedConstructor::ConstructAntiNuclei ( )
staticprotected

◆ ConstructBaryons()

void G4ShortLivedConstructor::ConstructBaryons ( )
staticprotected

Definition at line 612 of file G4ShortLivedConstructor.cc.

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

Referenced by ConstructResonances().

◆ ConstructMesons()

void G4ShortLivedConstructor::ConstructMesons ( )
staticprotected

Definition at line 818 of file G4ShortLivedConstructor.cc.

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

Referenced by ConstructResonances().

◆ ConstructParticle()

◆ ConstructQuarks()

void G4ShortLivedConstructor::ConstructQuarks ( )
staticprotected

Definition at line 67 of file G4ShortLivedConstructor.cc.

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

Referenced by ConstructParticle().

◆ ConstructResonances()

void G4ShortLivedConstructor::ConstructResonances ( )
staticprotected

Definition at line 582 of file G4ShortLivedConstructor.cc.

Referenced by ConstructParticle().


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