Geant4-11
Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Static Private Attributes
G4ShortLivedConstructor Class Reference

#include <G4ShortLivedConstructor.hh>

Public Member Functions

 G4ShortLivedConstructor ()
 
 ~G4ShortLivedConstructor ()
 

Static Public Member Functions

static void ConstructParticle ()
 

Static Protected Member Functions

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

Static Private Attributes

static G4bool isConstructed = false
 

Detailed Description

Definition at line 38 of file G4ShortLivedConstructor.hh.

Constructor & Destructor Documentation

◆ G4ShortLivedConstructor()

G4ShortLivedConstructor::G4ShortLivedConstructor ( )

Definition at line 49 of file G4ShortLivedConstructor.cc.

50{
51}

◆ ~G4ShortLivedConstructor()

G4ShortLivedConstructor::~G4ShortLivedConstructor ( )

Definition at line 53 of file G4ShortLivedConstructor.cc.

54{
55}

Member Function Documentation

◆ ConstructAntiNuclei()

static void G4ShortLivedConstructor::ConstructAntiNuclei ( )
staticprotected

◆ ConstructBaryons()

void G4ShortLivedConstructor::ConstructBaryons ( )
staticprotected

Definition at line 623 of file G4ShortLivedConstructor.cc.

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

References eplus, GeV, G4DecayTable::Insert(), MeV, G4ParticleDefinition::SetDecayTable(), and G4ExcitedBaryons::SetMultipletName().

Referenced by ConstructResonances().

◆ ConstructMesons()

void G4ShortLivedConstructor::ConstructMesons ( )
staticprotected

Definition at line 823 of file G4ShortLivedConstructor.cc.

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

References eplus, G4DecayTable::Insert(), MeV, ns, G4ParticleDefinition::SetAntiPDGEncoding(), G4ParticleDefinition::SetDecayTable(), and G4ExcitedMesons::SetMultipletName().

Referenced by ConstructResonances().

◆ ConstructParticle()

void G4ShortLivedConstructor::ConstructParticle ( )
static

◆ ConstructQuarks()

void G4ShortLivedConstructor::ConstructQuarks ( )
staticprotected

Definition at line 70 of file G4ShortLivedConstructor.cc.

71{
72 G4ParticleDefinition* particle;
73
74 // Construct Quraks/Gluons as dynamic object
75 // Arguments for constructor are as follows
76 // name mass width charge
77 // 2*spin parity C-conjugation
78 // 2*Isospin 2*Isospin3 G-parity
79 // type lepton number baryon number PDG encoding
80 // stable lifetime decay table
81
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
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, NULL);
578
579 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
580
581 particle = NULL;
582}
static constexpr double keV
Definition: G4SIunits.hh:202

References eplus, GeV, keV, MeV, and G4ParticleDefinition::SetAntiPDGEncoding().

Referenced by ConstructParticle().

◆ ConstructResonances()

void G4ShortLivedConstructor::ConstructResonances ( )
staticprotected

Definition at line 590 of file G4ShortLivedConstructor.cc.

591{
594
595 // N*
597 nucleons.Construct();
598
599 // Delta*
601 deltas.Construct();
602
603 // Lambda*
605 lamdas.Construct();
606
607 // Sigma*
609 sigmas.Construct();
610
611 // Xi*
613 xis.Construct();
614
615 // Mesons
617 mesons.Construct();
618
619}
virtual void Construct(G4int indexOfState=-1)
virtual void Construct(G4int indexOfState=-1)

References G4ExcitedBaryonConstructor::Construct(), G4ExcitedMesonConstructor::Construct(), ConstructBaryons(), and ConstructMesons().

Referenced by ConstructParticle().

Field Documentation

◆ isConstructed

G4bool G4ShortLivedConstructor::isConstructed = false
staticprivate

Definition at line 58 of file G4ShortLivedConstructor.hh.

Referenced by ConstructParticle().


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