62 if ((idxState==1)||(idxState==6)||(idxState==8)||(idxState==9)||(idxState==12) ) {
64 if ((iIsoSpin3==3)||(iIsoSpin3==-3)) {
69 }
else if (iIsoSpin3== +1){
74 }
else if (iIsoSpin3== -1){
97 if ( (br=bRatio[iState][NGamma]) >0.0) {
98 AddNGammaMode( decayTable, parentName, br, iIso3, fAnti);
101 if ( (br=bRatio[iState][NPi]) >0.0) {
102 AddNPiMode( decayTable, parentName, br, iIso3, fAnti);
105 if ( (br=bRatio[iState][NEta]) >0.0) {
106 AddNEtaMode( decayTable, parentName, br, iIso3, fAnti);
109 if ( (br=bRatio[iState][NOmega]) >0.0) {
110 AddNOmegaMode( decayTable, parentName, br, iIso3, fAnti);
113 if ( (br=bRatio[iState][NRho]) >0.0) {
114 AddNRhoMode( decayTable, parentName, br, iIso3, fAnti);
117 if ( (br=bRatio[iState][N2Pi]) >0.0) {
118 AddN2PiMode( decayTable, parentName, br, iIso3, fAnti);
121 if ( (br=bRatio[iState][DeltaPi]) >0.0) {
122 AddDeltaPiMode( decayTable, parentName, br, iIso3, fAnti);
125 if ( (br=bRatio[iState][NStarPi]) >0.0) {
126 AddNStarPiMode( decayTable, parentName, br, iIso3, fAnti);
129 if ( (br=bRatio[iState][LambdaK]) >0.0) {
130 AddLambdaKMode( decayTable, parentName, br, iIso3, fAnti);
136G4DecayTable* G4ExcitedNucleonConstructor::AddNGammaMode(
145 daughterN =
"proton";
147 daughterN =
"neutron";
149 if (fAnti) daughterN =
"anti_" + daughterN;
172 daughterN =
"proton";
175 daughterN =
"neutron";
178 if (fAnti) daughterN =
"anti_" + daughterN;
181 daughterN,daughterPi);
188 daughterN =
"neutron";
195 daughterN =
"proton";
202 if (fAnti) daughterN =
"anti_" + daughterN;
206 daughterN,daughterPi);
224 daughterN =
"proton";
226 daughterN =
"neutron";
228 if (fAnti) daughterN =
"anti_" + daughterN;
238G4DecayTable* G4ExcitedNucleonConstructor::AddNOmegaMode(
249 daughterN =
"proton";
251 daughterN =
"neutron";
253 if (fAnti) daughterN =
"anti_" + daughterN;
275 daughterN =
"proton";
276 daughterRho =
"rho0";
278 daughterN =
"neutron";
279 daughterRho =
"rho0";
281 if (fAnti) daughterN =
"anti_" + daughterN;
284 daughterN,daughterRho);
291 daughterN =
"neutron";
293 daughterRho =
"rho+";
295 daughterRho =
"rho-";
298 daughterN =
"proton";
300 daughterRho =
"rho-";
302 daughterRho =
"rho+";
305 if (fAnti) daughterN =
"anti_" + daughterN;
309 daughterN,daughterRho);
333 daughterN =
"proton";
337 daughterN =
"neutron";
341 if (fAnti) daughterN =
"anti_" + daughterN;
345 daughterN,daughterPi1,daughterPi2);
352 daughterN =
"proton";
356 daughterN =
"neutron";
360 if (fAnti) daughterN =
"anti_" + daughterN;
364 daughterN,daughterPi1,daughterPi2);
371G4DecayTable* G4ExcitedNucleonConstructor::AddNStarPiMode(
383 daughterN =
"N(1440)+";
386 daughterN =
"N(1440)0";
389 if (fAnti) daughterN =
"anti_" + daughterN;
392 daughterN,daughterPi);
399 daughterN =
"N(1440)0";
406 daughterN =
"N(1440)+";
413 if (fAnti) daughterN =
"anti_" + daughterN;
417 daughterN,daughterPi);
424G4DecayTable* G4ExcitedNucleonConstructor::AddDeltaPiMode(
437 daughterDelta =
"delta0";
445 daughterDelta =
"delta+";
453 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
456 daughterDelta,daughterPi);
463 daughterDelta =
"delta++";
471 daughterDelta =
"delta-";
479 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
482 daughterDelta,daughterPi);
489 daughterDelta =
"delta+";
493 daughterDelta =
"delta0";
497 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
500 daughterDelta,daughterPi);
508G4DecayTable* G4ExcitedNucleonConstructor::AddLambdaKMode(
529 daughterK =
"anti_kaon0";
546const char* G4ExcitedNucleonConstructor::name[] = {
547 "N(1440)",
"N(1520)",
"N(1535)",
"N(1650)",
"N(1675)",
548 "N(1680)",
"N(1700)",
"N(1710)",
"N(1720)",
"N(1900)",
549 "N(1990)",
"N(2090)",
"N(2190)",
"N(2220)",
"N(2250)"
552const G4double G4ExcitedNucleonConstructor::mass[] = {
553 1.440*GeV, 1.520*GeV, 1.535*GeV, 1.655*GeV, 1.675*GeV,
554 1.685*GeV, 1.700*GeV, 1.710*GeV, 1.720*GeV, 1.900*GeV,
555 1.950*GeV, 2.080*GeV, 2.190*GeV, 2.250*GeV, 2.275*GeV
558const G4double G4ExcitedNucleonConstructor::width[] = {
559 300.0*MeV, 115.0*MeV, 150.0*MeV, 165.0*MeV, 150.0*MeV,
560 130.0*MeV, 100.0*MeV, 100.0*MeV, 200.0*MeV, 500.0*MeV,
561 555.0*MeV, 350.0*MeV, 500.0*MeV, 400.0*MeV, 500.0*MeV
564const G4int G4ExcitedNucleonConstructor::iSpin[] = {
570const G4int G4ExcitedNucleonConstructor::iParity[] = {
576const G4int G4ExcitedNucleonConstructor::encodingOffset[] = {
577 10000, 0, 20000, 30000, 0,
578 10000, 20000, 40000, 30000, 40000,
579 10000, 50000, 0, 0, 10000
584 { 0.0, 0.70, 0.0, 0.0, 0.0, 0.05, 0.25, 0.0, 0.0},
585 { 0.0, 0.60, 0.0, 0.0, 0.0, 0.15, 0.25, 0.0, 0.0},
586 {0.001, 0.55, 0.35, 0.0, 0.0, 0.05, 0.00, 0.05, 0.0},
587 { 0.0, 0.65, 0.05, 0.0, 0.0, 0.05, 0.10, 0.05, 0.10},
588 { 0.0, 0.45, 0.0, 0.0, 0.0, 0.00, 0.55, 0.0, 0.0},
589 { 0.0, 0.65, 0.0, 0.0, 0.0, 0.20, 0.15, 0.0, 0.0},
590 { 0.0, 0.10, 0.05, 0.0, 0.05, 0.45, 0.35, 0.0, 0.0},
591 { 0.0, 0.15, 0.20, 0.0, 0.05, 0.20, 0.20, 0.10, 0.10},
592 { 0.0, 0.15, 0.00, 0.0, 0.25, 0.45, 0.10, 0.00, 0.05},
593 { 0.0, 0.35, 0.0, 0.55, 0.05, 0.00, 0.05, 0.0, 0.0},
594 { 0.0, 0.05, 0.0, 0.0, 0.15, 0.25, 0.30, 0.15, 0.10},
595 { 0.0, 0.60, 0.05, 0.0, 0.25, 0.05, 0.05, 0.0, 0.0},
596 { 0.0, 0.35, 0.0, 0.00, 0.30, 0.15, 0.15, 0.05, 0.0},
597 { 0.0, 0.35, 0.0, 0.0, 0.25, 0.20, 0.20, 0.0, 0.0},
598 { 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)
G4ExcitedNucleonConstructor()
virtual G4int GetEncoding(G4int iIsoSpin3, G4int idxState)
virtual G4DecayTable * CreateDecayTable(const G4String &name, G4int iIso3, G4int iState, G4bool fAnti=false)
virtual G4int GetQuarkContents(G4int, G4int)
virtual ~G4ExcitedNucleonConstructor()
virtual G4int GetiSpin(G4int iState)
virtual G4int GetEncodingOffset(G4int iState)