61 if ((idxState==1)||(idxState==6)||(idxState==8)||(idxState==9)||(idxState==12) ) {
63 if ((iIsoSpin3==3)||(iIsoSpin3==-3)) {
68 }
else if (iIsoSpin3== +1){
73 }
else if (iIsoSpin3== -1){
96 if ( (br=bRatio[iState][NGamma]) >0.0) {
97 AddNGammaMode( decayTable, parentName, br, iIso3, fAnti);
100 if ( (br=bRatio[iState][NPi]) >0.0) {
101 AddNPiMode( decayTable, parentName, br, iIso3, fAnti);
104 if ( (br=bRatio[iState][NEta]) >0.0) {
105 AddNEtaMode( decayTable, parentName, br, iIso3, fAnti);
108 if ( (br=bRatio[iState][NOmega]) >0.0) {
109 AddNOmegaMode( decayTable, parentName, br, iIso3, fAnti);
112 if ( (br=bRatio[iState][NRho]) >0.0) {
113 AddNRhoMode( decayTable, parentName, br, iIso3, fAnti);
116 if ( (br=bRatio[iState][N2Pi]) >0.0) {
117 AddN2PiMode( decayTable, parentName, br, iIso3, fAnti);
120 if ( (br=bRatio[iState][DeltaPi]) >0.0) {
121 AddDeltaPiMode( decayTable, parentName, br, iIso3, fAnti);
124 if ( (br=bRatio[iState][NStarPi]) >0.0) {
125 AddNStarPiMode( decayTable, parentName, br, iIso3, fAnti);
128 if ( (br=bRatio[iState][LambdaK]) >0.0) {
129 AddLambdaKMode( decayTable, parentName, br, iIso3, fAnti);
135 G4DecayTable* G4ExcitedNucleonConstructor::AddNGammaMode(
144 daughterN =
"proton";
146 daughterN =
"neutron";
148 if (fAnti) daughterN =
"anti_" + daughterN;
171 daughterN =
"proton";
174 daughterN =
"neutron";
177 if (fAnti) daughterN =
"anti_" + daughterN;
180 daughterN,daughterPi);
187 daughterN =
"neutron";
194 daughterN =
"proton";
201 if (fAnti) daughterN =
"anti_" + daughterN;
205 daughterN,daughterPi);
223 daughterN =
"proton";
225 daughterN =
"neutron";
227 if (fAnti) daughterN =
"anti_" + daughterN;
237 G4DecayTable* G4ExcitedNucleonConstructor::AddNOmegaMode(
248 daughterN =
"proton";
250 daughterN =
"neutron";
252 if (fAnti) daughterN =
"anti_" + daughterN;
274 daughterN =
"proton";
275 daughterRho =
"rho0";
277 daughterN =
"neutron";
278 daughterRho =
"rho0";
280 if (fAnti) daughterN =
"anti_" + daughterN;
283 daughterN,daughterRho);
290 daughterN =
"neutron";
292 daughterRho =
"rho+";
294 daughterRho =
"rho-";
297 daughterN =
"proton";
299 daughterRho =
"rho-";
301 daughterRho =
"rho+";
304 if (fAnti) daughterN =
"anti_" + daughterN;
308 daughterN,daughterRho);
332 daughterN =
"proton";
336 daughterN =
"neutron";
340 if (fAnti) daughterN =
"anti_" + daughterN;
344 daughterN,daughterPi1,daughterPi2);
351 daughterN =
"proton";
355 daughterN =
"neutron";
359 if (fAnti) daughterN =
"anti_" + daughterN;
363 daughterN,daughterPi1,daughterPi2);
370 G4DecayTable* G4ExcitedNucleonConstructor::AddNStarPiMode(
382 daughterN =
"N(1440)+";
385 daughterN =
"N(1440)0";
388 if (fAnti) daughterN =
"anti_" + daughterN;
391 daughterN,daughterPi);
398 daughterN =
"N(1440)0";
405 daughterN =
"N(1440)+";
412 if (fAnti) daughterN =
"anti_" + daughterN;
416 daughterN,daughterPi);
423 G4DecayTable* G4ExcitedNucleonConstructor::AddDeltaPiMode(
436 daughterDelta =
"delta0";
444 daughterDelta =
"delta+";
452 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
455 daughterDelta,daughterPi);
462 daughterDelta =
"delta++";
470 daughterDelta =
"delta-";
478 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
481 daughterDelta,daughterPi);
488 daughterDelta =
"delta+";
492 daughterDelta =
"delta0";
496 if (fAnti) daughterDelta =
"anti_" + daughterDelta;
499 daughterDelta,daughterPi);
507 G4DecayTable* G4ExcitedNucleonConstructor::AddLambdaKMode(
528 daughterK =
"anti_kaon0";
531 if (fAnti) lambda =
"anti_" +
lambda;
545 const char* G4ExcitedNucleonConstructor::name[] = {
546 "N(1440)",
"N(1520)",
"N(1535)",
"N(1650)",
"N(1675)",
547 "N(1680)",
"N(1700)",
"N(1710)",
"N(1720)",
"N(1900)",
548 "N(1990)",
"N(2090)",
"N(2190)",
"N(2220)",
"N(2250)"
551 const G4double G4ExcitedNucleonConstructor::mass[] = {
557 const G4double G4ExcitedNucleonConstructor::width[] = {
563 const G4int G4ExcitedNucleonConstructor::iSpin[] = {
569 const G4int G4ExcitedNucleonConstructor::iParity[] = {
575 const G4int G4ExcitedNucleonConstructor::encodingOffset[] = {
576 10000, 0, 20000, 30000, 0,
577 10000, 20000, 40000, 30000, 40000,
578 10000, 50000, 0, 0, 10000
583 { 0.0, 0.70, 0.0, 0.0, 0.0, 0.05, 0.25, 0.0, 0.0},
584 { 0.0, 0.60, 0.0, 0.0, 0.0, 0.15, 0.25, 0.0, 0.0},
585 {0.001, 0.55, 0.35, 0.0, 0.0, 0.05, 0.00, 0.05, 0.0},
586 { 0.0, 0.65, 0.05, 0.0, 0.0, 0.05, 0.10, 0.05, 0.10},
587 { 0.0, 0.45, 0.0, 0.0, 0.0, 0.00, 0.55, 0.0, 0.0},
588 { 0.0, 0.65, 0.0, 0.0, 0.0, 0.20, 0.15, 0.0, 0.0},
589 { 0.0, 0.10, 0.05, 0.0, 0.05, 0.45, 0.35, 0.0, 0.0},
590 { 0.0, 0.15, 0.20, 0.0, 0.05, 0.20, 0.20, 0.10, 0.10},
591 { 0.0, 0.15, 0.00, 0.0, 0.25, 0.45, 0.10, 0.00, 0.05},
592 { 0.0, 0.35, 0.0, 0.55, 0.05, 0.00, 0.05, 0.0, 0.0},
593 { 0.0, 0.05, 0.0, 0.0, 0.15, 0.25, 0.30, 0.15, 0.10},
594 { 0.0, 0.60, 0.05, 0.0, 0.25, 0.05, 0.05, 0.0, 0.0},
595 { 0.0, 0.35, 0.0, 0.00, 0.30, 0.15, 0.15, 0.05, 0.0},
596 { 0.0, 0.35, 0.0, 0.0, 0.25, 0.20, 0.20, 0.0, 0.0},
597 { 0.0, 0.30, 0.0, 0.00, 0.25, 0.20, 0.20, 0.05, 0.0}
virtual G4DecayTable * CreateDecayTable(const G4String &name, G4int iIso3, G4int iState, G4bool fAnti=false)
const XML_Char const XML_Char * encoding
virtual ~G4ExcitedNucleonConstructor()
virtual G4int GetEncoding(G4int iIsoSpin3, G4int idxState)
virtual G4int GetiSpin(G4int iState)
void Insert(G4VDecayChannel *aChannel)
virtual G4int GetQuarkContents(G4int, G4int)
virtual G4int GetEncodingOffset(G4int iState)
static constexpr double GeV
static constexpr double MeV
G4ExcitedNucleonConstructor()
virtual G4int GetEncoding(G4int iIsoSpin3, G4int idxState)