57 if ((iIsoSpin3 == 3) || (iIsoSpin3 == -3)) {
63 else if (iIsoSpin3 == +1) {
69 else if (iIsoSpin3 == -1) {
91 if ((br = bRatio[iState][NGamma]) > 0.0) {
92 AddNGammaMode(decayTable, parentName, br, iIso3, fAnti);
95 if ((br = bRatio[iState][NPi]) > 0.0) {
96 AddNPiMode(decayTable, parentName, br, iIso3, fAnti);
99 if ((br = bRatio[iState][NEta]) > 0.0) {
100 AddNEtaMode(decayTable, parentName, br, iIso3, fAnti);
103 if ((br = bRatio[iState][NOmega]) > 0.0) {
104 AddNOmegaMode(decayTable, parentName, br, iIso3, fAnti);
107 if ((br = bRatio[iState][NRho]) > 0.0) {
108 AddNRhoMode(decayTable, parentName, br, iIso3, fAnti);
111 if ((br = bRatio[iState][N2Pi]) > 0.0) {
112 AddN2PiMode(decayTable, parentName, br, iIso3, fAnti);
115 if ((br = bRatio[iState][DeltaPi]) > 0.0) {
116 AddDeltaPiMode(decayTable, parentName, br, iIso3, fAnti);
119 if ((br = bRatio[iState][NStarPi]) > 0.0) {
120 AddNStarPiMode(decayTable, parentName, br, iIso3, fAnti);
123 if ((br = bRatio[iState][LambdaK]) > 0.0) {
124 AddLambdaKMode(decayTable, parentName, br, iIso3, fAnti);
139 daughterN =
"proton";
142 daughterN =
"neutron";
144 if (fAnti) daughterN =
"anti_" + daughterN;
166 daughterN =
"proton";
170 daughterN =
"neutron";
173 if (fAnti) daughterN =
"anti_" + daughterN;
182 daughterN =
"neutron";
191 daughterN =
"proton";
199 if (fAnti) daughterN =
"anti_" + daughterN;
220 daughterN =
"proton";
223 daughterN =
"neutron";
225 if (fAnti) daughterN =
"anti_" + daughterN;
245 daughterN =
"proton";
248 daughterN =
"neutron";
250 if (fAnti) daughterN =
"anti_" + daughterN;
271 daughterN =
"proton";
272 daughterRho =
"rho0";
275 daughterN =
"neutron";
276 daughterRho =
"rho0";
278 if (fAnti) daughterN =
"anti_" + daughterN;
287 daughterN =
"neutron";
289 daughterRho =
"rho+";
292 daughterRho =
"rho-";
296 daughterN =
"proton";
298 daughterRho =
"rho-";
301 daughterRho =
"rho+";
304 if (fAnti) daughterN =
"anti_" + daughterN;
331 daughterN =
"proton";
336 daughterN =
"neutron";
340 if (fAnti) daughterN =
"anti_" + daughterN;
350 daughterN =
"proton";
355 daughterN =
"neutron";
359 if (fAnti) daughterN =
"anti_" + daughterN;
381 daughterN =
"N(1440)+";
385 daughterN =
"N(1440)0";
388 if (fAnti) daughterN =
"anti_" + daughterN;
397 daughterN =
"N(1440)0";
406 daughterN =
"N(1440)+";
414 if (fAnti) daughterN =
"anti_" + daughterN;
437 daughterDelta =
"delta0";
447 daughterDelta =
"delta+";
456 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
465 daughterDelta =
"delta++";
475 daughterDelta =
"delta-";
484 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
493 daughterDelta =
"delta+";
498 daughterDelta =
"delta0";
502 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
535 daughterK =
"anti_kaon0";
555const char* G4ExcitedNucleonConstructor::name[] = {
556 "N(1440)",
"N(1520)",
"N(1535)",
"N(1650)",
"N(1675)",
557 "N(1680)",
"N(1700)",
"N(1710)",
"N(1720)",
"N(1900)",
558 "N(1990)",
"N(2090)",
"N(2190)",
"N(2220)",
"N(2250)"
561const G4double G4ExcitedNucleonConstructor::mass[] = {
562 1.440*GeV, 1.515*GeV, 1.535*GeV, 1.650*GeV, 1.675*GeV,
563 1.685*GeV, 1.720*GeV, 1.710*GeV, 1.720*GeV, 1.920*GeV,
564 2.020*GeV, 2.080*GeV, 2.180*GeV, 2.250*GeV, 2.280*GeV
567const G4double G4ExcitedNucleonConstructor::width[] = {
568 350.0*MeV, 110.0*MeV, 150.0*MeV, 125.0*MeV, 145.0*MeV,
569 120.0*MeV, 200.0*MeV, 140.0*MeV, 250.0*MeV, 200.0*MeV,
570 300.0*MeV, 350.0*MeV, 400.0*MeV, 400.0*MeV, 500.0*MeV
573const G4int G4ExcitedNucleonConstructor::iSpin[] = {
579const G4int G4ExcitedNucleonConstructor::iParity[] = {
585const G4int G4ExcitedNucleonConstructor::encodingOffset[] = {
586 10000, 0, 20000, 30000, 0,
587 10000, 20000, 40000, 30000, 40000,
588 10000, 50000, 0, 0, 10000
593 { 0.0, 0.70, 0.0, 0.0, 0.0, 0.05, 0.25, 0.0, 0.0},
594 { 0.0, 0.60, 0.0, 0.0, 0.0, 0.15, 0.25, 0.0, 0.0},
595 {0.001, 0.55, 0.35, 0.0, 0.0, 0.05, 0.00, 0.05, 0.0},
596 { 0.0, 0.65, 0.05, 0.0, 0.0, 0.05, 0.10, 0.05, 0.10},
597 { 0.0, 0.45, 0.0, 0.0, 0.0, 0.00, 0.55, 0.0, 0.0},
598 { 0.0, 0.65, 0.0, 0.0, 0.0, 0.20, 0.15, 0.0, 0.0},
599 { 0.0, 0.10, 0.05, 0.0, 0.05, 0.45, 0.35, 0.0, 0.0},
600 { 0.0, 0.15, 0.20, 0.0, 0.05, 0.20, 0.20, 0.10, 0.10},
601 { 0.0, 0.15, 0.00, 0.0, 0.25, 0.45, 0.10, 0.00, 0.05},
602 { 0.0, 0.35, 0.0, 0.55, 0.05, 0.00, 0.05, 0.0, 0.0},
603 { 0.0, 0.05, 0.0, 0.0, 0.15, 0.25, 0.30, 0.15, 0.10},
604 { 0.0, 0.60, 0.05, 0.0, 0.25, 0.05, 0.05, 0.0, 0.0},
605 { 0.0, 0.35, 0.0, 0.00, 0.30, 0.15, 0.15, 0.05, 0.0},
606 { 0.0, 0.35, 0.0, 0.0, 0.25, 0.20, 0.20, 0.0, 0.0},
607 { 0.0, 0.30, 0.0, 0.00, 0.25, 0.20, 0.20, 0.05, 0.0}
void Insert(G4VDecayChannel *aChannel)
virtual G4int GetEncoding(G4int iIsoSpin3, G4int idxState)
G4int GetQuarkContents(G4int, G4int) override
G4ExcitedNucleonConstructor()
G4int GetiSpin(G4int iState) override
G4DecayTable * CreateDecayTable(const G4String &name, G4int iIso3, G4int iState, G4bool fAnti=false) override
G4int GetEncodingOffset(G4int iState) override
G4int GetEncoding(G4int iIsoSpin3, G4int idxState) override