60 if ((idxState==1)||(idxState==6)||(idxState==8)||(idxState==9)||(idxState==12) ) {
62 if ((iIsoSpin3==3)||(iIsoSpin3==-3)) {
67 }
else if (iIsoSpin3== +1){
72 }
else if (iIsoSpin3== -1){
95 if ( (br=bRatio[iState][NGamma]) >0.0) {
96 AddNGammaMode( decayTable, parentName, br, iIso3, fAnti);
99 if ( (br=bRatio[iState][NPi]) >0.0) {
100 AddNPiMode( decayTable, parentName, br, iIso3, fAnti);
103 if ( (br=bRatio[iState][NEta]) >0.0) {
104 AddNEtaMode( decayTable, parentName, br, iIso3, fAnti);
107 if ( (br=bRatio[iState][NOmega]) >0.0) {
108 AddNOmegaMode( decayTable, parentName, br, iIso3, fAnti);
111 if ( (br=bRatio[iState][NRho]) >0.0) {
112 AddNRhoMode( decayTable, parentName, br, iIso3, fAnti);
115 if ( (br=bRatio[iState][N2Pi]) >0.0) {
116 AddN2PiMode( decayTable, parentName, br, iIso3, fAnti);
119 if ( (br=bRatio[iState][DeltaPi]) >0.0) {
120 AddDeltaPiMode( decayTable, parentName, br, iIso3, fAnti);
123 if ( (br=bRatio[iState][NStarPi]) >0.0) {
124 AddNStarPiMode( decayTable, parentName, br, iIso3, fAnti);
127 if ( (br=bRatio[iState][LambdaK]) >0.0) {
128 AddLambdaKMode( decayTable, parentName, br, iIso3, fAnti);
134G4DecayTable* G4ExcitedNucleonConstructor::AddNGammaMode(
143 daughterN =
"proton";
145 daughterN =
"neutron";
147 if (fAnti) daughterN =
"anti_" + daughterN;
170 daughterN =
"proton";
173 daughterN =
"neutron";
176 if (fAnti) daughterN =
"anti_" + daughterN;
179 daughterN,daughterPi);
186 daughterN =
"neutron";
193 daughterN =
"proton";
200 if (fAnti) daughterN =
"anti_" + daughterN;
204 daughterN,daughterPi);
222 daughterN =
"proton";
224 daughterN =
"neutron";
226 if (fAnti) daughterN =
"anti_" + daughterN;
236G4DecayTable* G4ExcitedNucleonConstructor::AddNOmegaMode(
247 daughterN =
"proton";
249 daughterN =
"neutron";
251 if (fAnti) daughterN =
"anti_" + daughterN;
273 daughterN =
"proton";
274 daughterRho =
"rho0";
276 daughterN =
"neutron";
277 daughterRho =
"rho0";
279 if (fAnti) daughterN =
"anti_" + daughterN;
282 daughterN,daughterRho);
289 daughterN =
"neutron";
291 daughterRho =
"rho+";
293 daughterRho =
"rho-";
296 daughterN =
"proton";
298 daughterRho =
"rho-";
300 daughterRho =
"rho+";
303 if (fAnti) daughterN =
"anti_" + daughterN;
307 daughterN,daughterRho);
331 daughterN =
"proton";
335 daughterN =
"neutron";
339 if (fAnti) daughterN =
"anti_" + daughterN;
343 daughterN,daughterPi1,daughterPi2);
350 daughterN =
"proton";
354 daughterN =
"neutron";
358 if (fAnti) daughterN =
"anti_" + daughterN;
362 daughterN,daughterPi1,daughterPi2);
369G4DecayTable* G4ExcitedNucleonConstructor::AddNStarPiMode(
381 daughterN =
"N(1440)+";
384 daughterN =
"N(1440)0";
387 if (fAnti) daughterN =
"anti_" + daughterN;
390 daughterN,daughterPi);
397 daughterN =
"N(1440)0";
404 daughterN =
"N(1440)+";
411 if (fAnti) daughterN =
"anti_" + daughterN;
415 daughterN,daughterPi);
422G4DecayTable* G4ExcitedNucleonConstructor::AddDeltaPiMode(
435 daughterDelta =
"delta0";
443 daughterDelta =
"delta+";
451 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
454 daughterDelta,daughterPi);
461 daughterDelta =
"delta++";
469 daughterDelta =
"delta-";
477 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
480 daughterDelta,daughterPi);
487 daughterDelta =
"delta+";
491 daughterDelta =
"delta0";
495 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
498 daughterDelta,daughterPi);
506G4DecayTable* G4ExcitedNucleonConstructor::AddLambdaKMode(
527 daughterK =
"anti_kaon0";
544const char* G4ExcitedNucleonConstructor::name[] = {
545 "N(1440)",
"N(1520)",
"N(1535)",
"N(1650)",
"N(1675)",
546 "N(1680)",
"N(1700)",
"N(1710)",
"N(1720)",
"N(1900)",
547 "N(1990)",
"N(2090)",
"N(2190)",
"N(2220)",
"N(2250)"
550const G4double G4ExcitedNucleonConstructor::mass[] = {
551 1.430*GeV, 1.515*GeV, 1.535*GeV, 1.655*GeV, 1.675*GeV,
552 1.685*GeV, 1.700*GeV, 1.710*GeV, 1.720*GeV, 1.900*GeV,
553 1.950*GeV, 2.080*GeV, 2.190*GeV, 2.250*GeV, 2.275*GeV
556const G4double G4ExcitedNucleonConstructor::width[] = {
557 350.0*MeV, 115.0*MeV, 150.0*MeV, 140.0*MeV, 150.0*MeV,
558 130.0*MeV, 150.0*MeV, 100.0*MeV, 250.0*MeV, 500.0*MeV,
559 555.0*MeV, 350.0*MeV, 500.0*MeV, 400.0*MeV, 500.0*MeV
562const G4int G4ExcitedNucleonConstructor::iSpin[] = {
568const G4int G4ExcitedNucleonConstructor::iParity[] = {
574const G4int G4ExcitedNucleonConstructor::encodingOffset[] = {
575 10000, 0, 20000, 30000, 0,
576 10000, 20000, 40000, 30000, 40000,
577 10000, 50000, 0, 0, 10000
582 { 0.0, 0.70, 0.0, 0.0, 0.0, 0.05, 0.25, 0.0, 0.0},
583 { 0.0, 0.60, 0.0, 0.0, 0.0, 0.15, 0.25, 0.0, 0.0},
584 {0.001, 0.55, 0.35, 0.0, 0.0, 0.05, 0.00, 0.05, 0.0},
585 { 0.0, 0.65, 0.05, 0.0, 0.0, 0.05, 0.10, 0.05, 0.10},
586 { 0.0, 0.45, 0.0, 0.0, 0.0, 0.00, 0.55, 0.0, 0.0},
587 { 0.0, 0.65, 0.0, 0.0, 0.0, 0.20, 0.15, 0.0, 0.0},
588 { 0.0, 0.10, 0.05, 0.0, 0.05, 0.45, 0.35, 0.0, 0.0},
589 { 0.0, 0.15, 0.20, 0.0, 0.05, 0.20, 0.20, 0.10, 0.10},
590 { 0.0, 0.15, 0.00, 0.0, 0.25, 0.45, 0.10, 0.00, 0.05},
591 { 0.0, 0.35, 0.0, 0.55, 0.05, 0.00, 0.05, 0.0, 0.0},
592 { 0.0, 0.05, 0.0, 0.0, 0.15, 0.25, 0.30, 0.15, 0.10},
593 { 0.0, 0.60, 0.05, 0.0, 0.25, 0.05, 0.05, 0.0, 0.0},
594 { 0.0, 0.35, 0.0, 0.00, 0.30, 0.15, 0.15, 0.05, 0.0},
595 { 0.0, 0.35, 0.0, 0.0, 0.25, 0.20, 0.20, 0.0, 0.0},
596 { 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)