60 if ((iIsoSpin3 == 3) || (iIsoSpin3 == -3)) {
66 else if (iIsoSpin3 == +1) {
72 else if (iIsoSpin3 == -1) {
94 if ((br = bRatio[iState][NGamma]) > 0.0) {
95 AddNGammaMode(decayTable, parentName, br, iIso3, fAnti);
98 if ((br = bRatio[iState][NPi]) > 0.0) {
99 AddNPiMode(decayTable, parentName, br, iIso3, fAnti);
102 if ((br = bRatio[iState][NEta]) > 0.0) {
103 AddNEtaMode(decayTable, parentName, br, iIso3, fAnti);
106 if ((br = bRatio[iState][NOmega]) > 0.0) {
107 AddNOmegaMode(decayTable, parentName, br, iIso3, fAnti);
110 if ((br = bRatio[iState][NRho]) > 0.0) {
111 AddNRhoMode(decayTable, parentName, br, iIso3, fAnti);
114 if ((br = bRatio[iState][N2Pi]) > 0.0) {
115 AddN2PiMode(decayTable, parentName, br, iIso3, fAnti);
118 if ((br = bRatio[iState][DeltaPi]) > 0.0) {
119 AddDeltaPiMode(decayTable, parentName, br, iIso3, fAnti);
122 if ((br = bRatio[iState][NStarPi]) > 0.0) {
123 AddNStarPiMode(decayTable, parentName, br, iIso3, fAnti);
126 if ((br = bRatio[iState][LambdaK]) > 0.0) {
127 AddLambdaKMode(decayTable, parentName, br, iIso3, fAnti);
142 daughterN =
"proton";
145 daughterN =
"neutron";
147 if (fAnti) daughterN =
"anti_" + daughterN;
150 mode =
new G4PhaseSpaceDecayChannel(nameParent, br, 2, daughterN,
"gamma");
161 G4VDecayChannel* mode;
169 daughterN =
"proton";
173 daughterN =
"neutron";
176 if (fAnti) daughterN =
"anti_" + daughterN;
178 mode =
new G4PhaseSpaceDecayChannel(nameParent, br / 2.0, 2, daughterN, daughterPi);
185 daughterN =
"neutron";
194 daughterN =
"proton";
202 if (fAnti) daughterN =
"anti_" + daughterN;
205 mode =
new G4PhaseSpaceDecayChannel(nameParent, br / 2.0, 2, daughterN, daughterPi);
216 G4VDecayChannel* mode;
223 daughterN =
"proton";
226 daughterN =
"neutron";
228 if (fAnti) daughterN =
"anti_" + daughterN;
230 mode =
new G4PhaseSpaceDecayChannel(nameParent, br, 2, daughterN,
"eta");
241 G4VDecayChannel* mode;
248 daughterN =
"proton";
251 daughterN =
"neutron";
253 if (fAnti) daughterN =
"anti_" + daughterN;
255 mode =
new G4PhaseSpaceDecayChannel(nameParent, br, 2, daughterN,
"omega");
266 G4VDecayChannel* mode;
269 G4String daughterRho;
274 daughterN =
"proton";
275 daughterRho =
"rho0";
278 daughterN =
"neutron";
279 daughterRho =
"rho0";
281 if (fAnti) daughterN =
"anti_" + daughterN;
283 mode =
new G4PhaseSpaceDecayChannel(nameParent, br / 2.0, 2, daughterN, daughterRho);
290 daughterN =
"neutron";
292 daughterRho =
"rho+";
295 daughterRho =
"rho-";
299 daughterN =
"proton";
301 daughterRho =
"rho-";
304 daughterRho =
"rho+";
307 if (fAnti) daughterN =
"anti_" + daughterN;
310 mode =
new G4PhaseSpaceDecayChannel(nameParent, br / 2.0, 2, daughterN, daughterRho);
325 G4VDecayChannel* mode;
328 G4String daughterPi1;
329 G4String daughterPi2;
334 daughterN =
"proton";
339 daughterN =
"neutron";
343 if (fAnti) daughterN =
"anti_" + daughterN;
346 mode =
new G4PhaseSpaceDecayChannel(nameParent, br / 2.0, 3, daughterN, daughterPi1, daughterPi2);
353 daughterN =
"proton";
358 daughterN =
"neutron";
362 if (fAnti) daughterN =
"anti_" + daughterN;
365 mode =
new G4PhaseSpaceDecayChannel(nameParent, br / 2.0, 3, daughterN, daughterPi1, daughterPi2);
376 G4VDecayChannel* mode;
384 daughterN =
"N(1440)+";
388 daughterN =
"N(1440)0";
391 if (fAnti) daughterN =
"anti_" + daughterN;
393 mode =
new G4PhaseSpaceDecayChannel(nameParent, br / 2.0, 2, daughterN, daughterPi);
400 daughterN =
"N(1440)0";
409 daughterN =
"N(1440)+";
417 if (fAnti) daughterN =
"anti_" + daughterN;
420 mode =
new G4PhaseSpaceDecayChannel(nameParent, br / 2.0, 2, daughterN, daughterPi);
431 G4VDecayChannel* mode;
433 G4String daughterDelta;
440 daughterDelta =
"delta0";
450 daughterDelta =
"delta+";
459 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
461 mode =
new G4PhaseSpaceDecayChannel(nameParent, r, 2, daughterDelta, daughterPi);
468 daughterDelta =
"delta++";
478 daughterDelta =
"delta-";
487 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
489 mode =
new G4PhaseSpaceDecayChannel(nameParent, r, 2, daughterDelta, daughterPi);
496 daughterDelta =
"delta+";
501 daughterDelta =
"delta0";
505 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
507 mode =
new G4PhaseSpaceDecayChannel(nameParent, r, 2, daughterDelta, daughterPi);
518 G4VDecayChannel* mode;
520 G4String
lambda =
"lambda";
538 daughterK =
"anti_kaon0";
543 mode =
new G4PhaseSpaceDecayChannel(nameParent, br, 2, lambda, daughterK);
558const char* G4ExcitedNucleonConstructor::name[] = {
559 "N(1440)",
"N(1520)",
"N(1535)",
"N(1650)",
"N(1675)",
560 "N(1680)",
"N(1700)",
"N(1710)",
"N(1720)",
"N(1900)",
561 "N(1990)",
"N(2090)",
"N(2190)",
"N(2220)",
"N(2250)"
564const G4double G4ExcitedNucleonConstructor::mass[] = {
565 1.440*GeV, 1.515*GeV, 1.530*GeV, 1.650*GeV, 1.675*GeV,
566 1.685*GeV, 1.720*GeV, 1.710*GeV, 1.720*GeV, 1.920*GeV,
567 2.020*GeV, 2.080*GeV, 2.180*GeV, 2.250*GeV, 2.280*GeV
570const G4double G4ExcitedNucleonConstructor::width[] = {
571 350.0*MeV, 110.0*MeV, 150.0*MeV, 125.0*MeV, 145.0*MeV,
572 120.0*MeV, 200.0*MeV, 140.0*MeV, 250.0*MeV, 200.0*MeV,
573 300.0*MeV, 350.0*MeV, 400.0*MeV, 400.0*MeV, 500.0*MeV
576const G4int G4ExcitedNucleonConstructor::iSpin[] = {
582const G4int G4ExcitedNucleonConstructor::iParity[] = {
588const G4int G4ExcitedNucleonConstructor::encodingOffset[] = {
589 10000, 0, 20000, 30000, 0,
590 10000, 20000, 40000, 30000, 40000,
591 10000, 50000, 0, 0, 10000
596 { 0.0, 0.70, 0.0, 0.0, 0.0, 0.05, 0.25, 0.0, 0.0},
597 { 0.0, 0.60, 0.0, 0.0, 0.0, 0.15, 0.25, 0.0, 0.0},
598 {0.001, 0.55, 0.35, 0.0, 0.0, 0.05, 0.00, 0.05, 0.0},
599 { 0.0, 0.65, 0.05, 0.0, 0.0, 0.05, 0.10, 0.05, 0.10},
600 { 0.0, 0.45, 0.0, 0.0, 0.0, 0.00, 0.55, 0.0, 0.0},
601 { 0.0, 0.65, 0.0, 0.0, 0.0, 0.20, 0.15, 0.0, 0.0},
602 { 0.0, 0.10, 0.05, 0.0, 0.05, 0.45, 0.35, 0.0, 0.0},
603 { 0.0, 0.15, 0.20, 0.0, 0.05, 0.20, 0.20, 0.10, 0.10},
604 { 0.0, 0.15, 0.00, 0.0, 0.25, 0.45, 0.10, 0.00, 0.05},
605 { 0.0, 0.35, 0.0, 0.55, 0.05, 0.00, 0.05, 0.0, 0.0},
606 { 0.0, 0.05, 0.0, 0.0, 0.15, 0.25, 0.30, 0.15, 0.10},
607 { 0.0, 0.60, 0.05, 0.0, 0.25, 0.05, 0.05, 0.0, 0.0},
608 { 0.0, 0.35, 0.0, 0.00, 0.30, 0.15, 0.15, 0.05, 0.0},
609 { 0.0, 0.35, 0.0, 0.0, 0.25, 0.20, 0.20, 0.0, 0.0},
610 { 0.0, 0.30, 0.0, 0.00, 0.25, 0.20, 0.20, 0.05, 0.0}
void Insert(G4VDecayChannel *aChannel)
G4ExcitedBaryonConstructor(G4int nStates=0, G4int isoSpin=0)
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