Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/particles/shortlived/src/G4ExcitedSigmaConstructor.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /particles/shortlived/src/G4ExcitedSigmaConstructor.cc (Version 11.3.0) and /particles/shortlived/src/G4ExcitedSigmaConstructor.cc (Version 11.1.2)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
                                                   >>  26 //
                                                   >>  27 //
                                                   >>  28 // 
 26 // -------------------------------------------     29 // --------------------------------------------------------------
 27 //  GEANT 4 class implementation file          <<  30 //  GEANT 4 class implementation file 
 28 //                                                 31 //
 29 //      History: first implementation, based o     32 //      History: first implementation, based on object model of
 30 //      10 oct 1998  H.Kurashige                   33 //      10 oct 1998  H.Kurashige
 31 //                                             << 
 32 //      Update mass and width following PDG 20 << 
 33 //        4 nov 2023 S.Okada                   << 
 34 // -------------------------------------------     34 // ---------------------------------------------------------------
 35                                                    35 
                                                   >>  36 
 36 #include "G4ExcitedSigmaConstructor.hh"            37 #include "G4ExcitedSigmaConstructor.hh"
 37                                                    38 
 38 #include "G4DecayTable.hh"                     << 
 39 #include "G4PhaseSpaceDecayChannel.hh"         << 
 40 #include "G4SystemOfUnits.hh"                      39 #include "G4SystemOfUnits.hh"
                                                   >>  40 #include "G4ParticleDefinition.hh"
                                                   >>  41 #include "G4ParticleTable.hh"
                                                   >>  42 #include "G4PhaseSpaceDecayChannel.hh"
 41 #include "G4VDecayChannel.hh"                      43 #include "G4VDecayChannel.hh"
                                                   >>  44 #include "G4DecayTable.hh"
                                                   >>  45 
                                                   >>  46 G4ExcitedSigmaConstructor::G4ExcitedSigmaConstructor():
                                                   >>  47     G4ExcitedBaryonConstructor(NStates, SigmaIsoSpin)
                                                   >>  48 {
                                                   >>  49 
                                                   >>  50 }
 42                                                    51 
 43 G4ExcitedSigmaConstructor::G4ExcitedSigmaConst <<  52 G4ExcitedSigmaConstructor::~G4ExcitedSigmaConstructor()
 44   : G4ExcitedBaryonConstructor(NStates, SigmaI <<  53 {
 45 {}                                             <<  54 }
 46                                                    55 
 47 G4DecayTable* G4ExcitedSigmaConstructor::Creat <<  56 G4DecayTable* G4ExcitedSigmaConstructor::CreateDecayTable(
 48                                                <<  57                                                  const G4String&  parentName,  
                                                   >>  58                                                  G4int iIso3, 
                                                   >>  59                                                  G4int iState,
                                                   >>  60                                                  G4bool fAnti)
 49 {                                                  61 {
                                                   >>  62 
 50   // create decay table                            63   // create decay table
 51   auto decayTable = new G4DecayTable();        <<  64   G4DecayTable* decayTable =  new G4DecayTable();
 52                                                    65 
 53   G4double br;                                     66   G4double br;
 54   if ((br = bRatio[iState][NK]) > 0.0) {       <<  67   if ( (br=bRatio[iState][NK]) >0.0) {
 55     AddNKMode(decayTable, parentName, br, iIso <<  68     AddNKMode( decayTable, parentName, br, iIso3, fAnti);
 56   }                                                69   }
 57                                                    70 
 58   if ((br = bRatio[iState][NKStar]) > 0.0) {   <<  71   if ( (br=bRatio[iState][NKStar]) >0.0) {
 59     AddNKStarMode(decayTable, parentName, br,  <<  72     AddNKStarMode( decayTable, parentName, br, iIso3, fAnti);
 60   }                                                73   }
 61                                                    74 
 62   if ((br = bRatio[iState][SigmaPi]) > 0.0) {  <<  75   if ( (br=bRatio[iState][SigmaPi]) >0.0) {
 63     AddSigmaPiMode(decayTable, parentName, br, <<  76     AddSigmaPiMode( decayTable, parentName, br, iIso3, fAnti);
 64   }                                                77   }
 65                                                    78 
 66   if ((br = bRatio[iState][SigmaStarPi]) > 0.0 <<  79   if ( (br=bRatio[iState][SigmaStarPi]) >0.0) {
 67     AddSigmaStarPiMode(decayTable, parentName, <<  80     AddSigmaStarPiMode( decayTable, parentName, br, iIso3, fAnti);
 68   }                                                81   }
 69                                                    82 
 70   if ((br = bRatio[iState][LambdaPi]) > 0.0) { <<  83   if ( (br=bRatio[iState][LambdaPi]) >0.0) {
 71     AddLambdaPiMode(decayTable, parentName, br <<  84     AddLambdaPiMode( decayTable, parentName, br, iIso3, fAnti);
 72   }                                                85   }
 73                                                    86 
 74   if ((br = bRatio[iState][SigmaEta]) > 0.0) { <<  87   if ( (br=bRatio[iState][SigmaEta]) >0.0) {
 75     AddSigmaEtaMode(decayTable, parentName, br <<  88     AddSigmaEtaMode( decayTable, parentName, br, iIso3, fAnti);
 76   }                                                89   }
 77                                                    90 
 78   if ((br = bRatio[iState][LambdaStarPi]) > 0. <<  91   if ( (br=bRatio[iState][LambdaStarPi]) >0.0) {
 79     AddLambdaStarPiMode(decayTable, parentName <<  92     AddLambdaStarPiMode( decayTable, parentName, br, iIso3, fAnti);
 80   }                                                93   }
 81                                                    94 
 82   if ((br = bRatio[iState][DeltaK]) > 0.0) {   <<  95   if ( (br=bRatio[iState][DeltaK]) >0.0) {
 83     AddDeltaKMode(decayTable, parentName, br,  <<  96     AddDeltaKMode( decayTable, parentName, br, iIso3, fAnti);
 84   }                                                97   }
 85                                                    98 
 86   return decayTable;                           <<  99   return  decayTable;
 87 }                                                 100 }
 88                                                   101 
 89 G4DecayTable* G4ExcitedSigmaConstructor::AddSi << 102 G4DecayTable*  G4ExcitedSigmaConstructor::AddSigmaEtaMode( 
 90                                                << 103                                    G4DecayTable* decayTable, const G4String& nameParent,
 91                                                << 104                                     G4double br, G4int iIso3, G4bool fAnti)
 92 {                                                 105 {
 93   G4VDecayChannel* mode;                          106   G4VDecayChannel* mode;
 94   //                                           << 107   // 
 95   G4String daughterH;                          << 108   G4String daughterH;  
 96   if (iIso3 == +2) {                           << 109   if (iIso3== +2) {
 97     daughterH = "sigma+";                      << 110      daughterH = "sigma+";
 98   }                                            << 111    } else if (iIso3== 0) {
 99   else if (iIso3 == 0) {                       << 112      daughterH = "sigma0";
100     daughterH = "sigma0";                      << 113    } else if (iIso3== -2) {
101   }                                            << 114      daughterH = "sigma-";
102   else if (iIso3 == -2) {                      << 115    }
103     daughterH = "sigma-";                      << 
104   }                                            << 
105   if (fAnti) daughterH = "anti_" + daughterH;     116   if (fAnti) daughterH = "anti_" + daughterH;
106                                                   117 
107   // create decay channel  [parent    BR     #    118   // create decay channel  [parent    BR     #daughters]
108   mode = new G4PhaseSpaceDecayChannel(namePare << 119   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 120                                            daughterH,"eta");
109   // add decay table                              121   // add decay table
110   decayTable->Insert(mode);                       122   decayTable->Insert(mode);
111                                                   123 
112   return decayTable;                              124   return decayTable;
113 }                                                 125 }
114                                                   126 
115 G4DecayTable* G4ExcitedSigmaConstructor::AddNK << 127 G4DecayTable*  G4ExcitedSigmaConstructor::AddNKMode( 
116                                                << 128                                     G4DecayTable* decayTable, const G4String& nameParent,
117                                                << 129                                     G4double br, G4int iIso3, G4bool fAnti)
                                                   >> 130 
118                                                   131 
119 {                                                 132 {
120   G4VDecayChannel* mode;                          133   G4VDecayChannel* mode;
121                                                   134 
122   G4String daughterN;                             135   G4String daughterN;
123   G4String daughterK;                             136   G4String daughterK;
124   G4double r = 0.;                                137   G4double r = 0.;
125                                                   138 
126   // ------------ N K- ------------            << 139   // ------------ N K- ------------ 
127   // determine daughters                          140   // determine daughters
128   if (iIso3 == +2) {                           << 141   if (iIso3== +2) {
129     r = 0.;                                    << 142     r=0.;
130   }                                            << 143   } else if (iIso3== 0) {
131   else if (iIso3 == 0) {                       << 144     daughterN  = "proton";
132     daughterN = "proton";                      << 145     r = br/2.;
133     r = br / 2.;                               << 146   } else if (iIso3== -2) {
134   }                                            << 147     daughterN  = "neutron";
135   else if (iIso3 == -2) {                      << 
136     daughterN = "neutron";                     << 
137     r = br;                                       148     r = br;
138   }                                               149   }
139   if (!fAnti) {                                   150   if (!fAnti) {
140     daughterK = "kaon-";                          151     daughterK = "kaon-";
141   }                                            << 152   } else {
142   else {                                       << 
143     daughterK = "kaon+";                          153     daughterK = "kaon+";
144   }                                            << 154   }  
145   if (fAnti) daughterN = "anti_" + daughterN;     155   if (fAnti) daughterN = "anti_" + daughterN;
146   if (r > 0.) {                                << 156   if (r>0.) {
147     // create decay channel  [parent    BR        157     // create decay channel  [parent    BR     #daughters]
148     mode = new G4PhaseSpaceDecayChannel(namePa << 158     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 159                                         daughterN,daughterK);
149     // add decay table                            160     // add decay table
150     decayTable->Insert(mode);                     161     decayTable->Insert(mode);
151   }                                               162   }
152                                                   163 
153   // ------------ N K0 ------------            << 164   // ------------ N K0 ------------ 
154   // determine daughters                          165   // determine daughters
155   if (iIso3 == +2) {                           << 166   if (iIso3== +2) {
156     daughterN = "proton";                      << 167     daughterN  = "proton";
157     r = br;                                    << 168     r=br;
158   }                                            << 169   } else if (iIso3== 0) {
159   else if (iIso3 == 0) {                       << 170     daughterN  = "neutron";
160     daughterN = "neutron";                     << 171      r = br/2.;
161     r = br / 2.;                               << 172   } else if (iIso3== -2) {
162   }                                            << 
163   else if (iIso3 == -2) {                      << 
164     r = 0.;                                       173     r = 0.;
165   }                                               174   }
166   if (!fAnti) {                                   175   if (!fAnti) {
167     daughterK = "anti_kaon0";                     176     daughterK = "anti_kaon0";
168   }                                            << 177   } else {
169   else {                                       << 178 
170     daughterK = "kaon0";                          179     daughterK = "kaon0";
171   }                                               180   }
172   if (fAnti) daughterN = "anti_" + daughterN;     181   if (fAnti) daughterN = "anti_" + daughterN;
173   if (r > 0.) {                                << 182   if (r>0.) {
174     // create decay channel  [parent    BR        183     // create decay channel  [parent    BR     #daughters]
175     mode = new G4PhaseSpaceDecayChannel(namePa << 184     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 185                                         daughterN,daughterK);
176     // add decay table                            186     // add decay table
177     decayTable->Insert(mode);                     187     decayTable->Insert(mode);
178   }                                               188   }
179                                                   189 
180   return decayTable;                              190   return decayTable;
181 }                                                 191 }
182                                                   192 
183 G4DecayTable* G4ExcitedSigmaConstructor::AddDe << 193 G4DecayTable*  G4ExcitedSigmaConstructor::AddDeltaKMode( 
184                                                << 194                                     G4DecayTable* decayTable, const G4String& nameParent,
185                                                << 195                                     G4double br, G4int iIso3, G4bool fAnti)
186 {                                                 196 {
187   G4VDecayChannel* mode;                          197   G4VDecayChannel* mode;
188                                                   198 
189   G4String daughterN;                             199   G4String daughterN;
190   G4String daughterK;                             200   G4String daughterK;
191   G4double r = 0.;                                201   G4double r = 0.;
192                                                   202 
193   // ------------ N K- ------------            << 203   // ------------ N K- ------------ 
194   // determine daughters                          204   // determine daughters
195   if (iIso3 == +2) {                           << 205   if (iIso3== +2) {
196     daughterN = "delta++";                     << 206     daughterN  = "delta++";
197     r = 0.75 * br;                             << 207     r=0.75*br;
198   }                                            << 208   } else if (iIso3== 0) {
199   else if (iIso3 == 0) {                       << 209     daughterN  = "delta+";
200     daughterN = "delta+";                      << 210     r = br/2.;
201     r = br / 2.;                               << 211   } else if (iIso3== -2) {
202   }                                            << 212     daughterN  = "delta0";
203   else if (iIso3 == -2) {                      << 213     r = 0.25*br;
204     daughterN = "delta0";                      << 
205     r = 0.25 * br;                             << 
206   }                                               214   }
207   if (!fAnti) {                                   215   if (!fAnti) {
208     daughterK = "kaon-";                          216     daughterK = "kaon-";
209   }                                            << 217   } else {
210   else {                                       << 
211     daughterK = "kaon+";                          218     daughterK = "kaon+";
212   }                                               219   }
213   if (fAnti) daughterN = "anti_" + daughterN;     220   if (fAnti) daughterN = "anti_" + daughterN;
214   if (r > 0.) {                                << 221   if (r>0.) {
215     // create decay channel  [parent    BR        222     // create decay channel  [parent    BR     #daughters]
216     mode = new G4PhaseSpaceDecayChannel(namePa << 223     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 224                                         daughterN,daughterK);
217     // add decay table                            225     // add decay table
218     decayTable->Insert(mode);                     226     decayTable->Insert(mode);
219   }                                               227   }
220                                                   228 
221   // ------------ N K0 ------------            << 229   // ------------ N K0 ------------ 
222   // determine daughters                          230   // determine daughters
223   if (iIso3 == +2) {                           << 231   if (iIso3== +2) {
224     daughterN = "delta+";                      << 232     daughterN  = "delta+";
225     r = 0.25 * br;                             << 233     r=0.25*br;
226   }                                            << 234   } else if (iIso3== 0) {
227   else if (iIso3 == 0) {                       << 235     daughterN  = "delta0";
228     daughterN = "delta0";                      << 236      r = br/2.;
229     r = br / 2.;                               << 237   } else if (iIso3== -2) {
230   }                                            << 238     daughterN  = "delta-";
231   else if (iIso3 == -2) {                      << 239     r=0.75*br;
232     daughterN = "delta-";                      << 
233     r = 0.75 * br;                             << 
234   }                                               240   }
235   if (!fAnti) {                                   241   if (!fAnti) {
236     daughterK = "anti_kaon0";                     242     daughterK = "anti_kaon0";
237   }                                            << 243   } else {
238   else {                                       << 
239     daughterK = "kaon0";                          244     daughterK = "kaon0";
240   }                                               245   }
241   if (fAnti) daughterN = "anti_" + daughterN;     246   if (fAnti) daughterN = "anti_" + daughterN;
242   if (r > 0.) {                                << 247   if (r>0.) {
                                                   >> 248 
                                                   >> 249 
243     // create decay channel  [parent    BR        250     // create decay channel  [parent    BR     #daughters]
244     mode = new G4PhaseSpaceDecayChannel(namePa << 251     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 252                                         daughterN,daughterK);
245     // add decay table                            253     // add decay table
246     decayTable->Insert(mode);                     254     decayTable->Insert(mode);
247   }                                               255   }
248                                                   256 
249   return decayTable;                              257   return decayTable;
250 }                                                 258 }
251                                                   259 
252 G4DecayTable* G4ExcitedSigmaConstructor::AddNK << 260 
253                                                << 261 G4DecayTable*  G4ExcitedSigmaConstructor::AddNKStarMode( 
254                                                << 262                                     G4DecayTable* decayTable, const G4String& nameParent,
                                                   >> 263                                     G4double br, G4int iIso3, G4bool fAnti)
255 {                                                 264 {
256   G4VDecayChannel* mode;                          265   G4VDecayChannel* mode;
257                                                   266 
258   G4String daughterN;                             267   G4String daughterN;
259   G4String daughterK;                             268   G4String daughterK;
260   G4double r = 0.;                                269   G4double r = 0.;
261                                                   270 
262   // ------------ N K- ------------            << 271   // ------------ N K- ------------ 
263   // determine daughters                          272   // determine daughters
264   if (iIso3 == +2) {                           << 273   if (iIso3== +2) {
265     r = 0.;                                    << 274 
266   }                                            << 275     r=0.;
267   else if (iIso3 == 0) {                       << 276   } else if (iIso3== 0) {
268     daughterN = "proton";                      << 277     daughterN  = "proton";
269     r = br / 2.;                               << 278     r = br/2.;
270   }                                            << 279   } else if (iIso3== -2) {
271   else if (iIso3 == -2) {                      << 280     daughterN  = "neutron";
272     daughterN = "neutron";                     << 
273     r = br;                                       281     r = br;
274   }                                               282   }
275   if (!fAnti) {                                   283   if (!fAnti) {
276     daughterK = "k_star-";                        284     daughterK = "k_star-";
277   }                                            << 285   } else {
278   else {                                       << 
279     daughterK = "k_star+";                        286     daughterK = "k_star+";
280   }                                               287   }
281   if (fAnti) daughterN = "anti_" + daughterN;     288   if (fAnti) daughterN = "anti_" + daughterN;
282   if (r > 0.) {                                << 289   if (r>0.) {
283     // create decay channel  [parent    BR        290     // create decay channel  [parent    BR     #daughters]
284     mode = new G4PhaseSpaceDecayChannel(namePa << 291     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 292                                         daughterN,daughterK);
285     // add decay table                            293     // add decay table
286     decayTable->Insert(mode);                     294     decayTable->Insert(mode);
287   }                                               295   }
288                                                   296 
289   // ------------ N K0 ------------            << 297   // ------------ N K0 ------------ 
290                                                   298 
291   // determine daughters                          299   // determine daughters
292   if (iIso3 == +2) {                           << 300   if (iIso3== +2) {
293     daughterN = "proton";                      << 301     daughterN  = "proton";
294     r = br;                                    << 302     r=br;
295   }                                            << 303   } else if (iIso3== 0) {
296   else if (iIso3 == 0) {                       << 304     daughterN  = "neutron";
297     daughterN = "neutron";                     << 305     r = br/2.;
298     r = br / 2.;                               << 306   } else if (iIso3== -2) {
299   }                                            << 
300   else if (iIso3 == -2) {                      << 
301     r = 0.;                                       307     r = 0.;
302   }                                               308   }
303   if (!fAnti) {                                   309   if (!fAnti) {
304     daughterK = "anti_k_star0";                   310     daughterK = "anti_k_star0";
305   }                                            << 311   } else {
306   else {                                       << 
307     daughterK = "k_star0";                        312     daughterK = "k_star0";
308   }                                               313   }
309   if (fAnti) daughterN = "anti_" + daughterN;     314   if (fAnti) daughterN = "anti_" + daughterN;
310   // create decay channel  [parent    BR     #    315   // create decay channel  [parent    BR     #daughters]
311   if (r > 0.) {                                << 316   if (r>0.) {
312     mode = new G4PhaseSpaceDecayChannel(namePa << 317     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 318                                            daughterN,daughterK);
313     // add decay table                            319     // add decay table
314     decayTable->Insert(mode);                     320     decayTable->Insert(mode);
315   }                                               321   }
316                                                   322 
317   return decayTable;                              323   return decayTable;
318 }                                                 324 }
319                                                   325 
320 G4DecayTable* G4ExcitedSigmaConstructor::AddSi << 326 G4DecayTable*  G4ExcitedSigmaConstructor::AddSigmaPiMode( 
321                                                << 327                                     G4DecayTable* decayTable, const G4String& nameParent,
322                                                << 328                                     G4double br, G4int iIso3, G4bool fAnti)
323 {                                                 329 {
324   G4VDecayChannel* mode;                          330   G4VDecayChannel* mode;
325                                                   331 
326   G4String daughterSigma;                         332   G4String daughterSigma;
327   G4String daughterPi;                            333   G4String daughterPi;
328   G4double r = 0.;                                334   G4double r = 0.;
329                                                   335 
330   // ------------ Sigma+ pi - ------------     << 336   // ------------ Sigma+ pi - ------------ 
331   // determine daughters                          337   // determine daughters
332   if (iIso3 == +2) {                           << 338   if (iIso3== +2) {
333     r = 0.;                                       339     r = 0.;
334   }                                            << 340   } else if (iIso3== 0) {
335   else if (iIso3 == 0) {                       << 
336     daughterSigma = "sigma+";                     341     daughterSigma = "sigma+";
337     r = br / 2.;                               << 342     r = br/2.;
338   }                                            << 343   } else if (iIso3== -2) {
339   else if (iIso3 == -2) {                      << 
340     daughterSigma = "sigma0";                     344     daughterSigma = "sigma0";
341     r = br / 2.;                               << 345     r = br/2.;
342   }                                               346   }
343   if (!fAnti) {                                   347   if (!fAnti) {
344     daughterPi = "pi-";                           348     daughterPi = "pi-";
345   }                                            << 349   } else {
346   else {                                       << 
347     daughterPi = "pi+";                           350     daughterPi = "pi+";
348   }                                               351   }
349   if (fAnti) daughterSigma = "anti_" + daughte    352   if (fAnti) daughterSigma = "anti_" + daughterSigma;
350   if (r > 0.) {                                << 353   if (r>0.) {
351     // create decay channel  [parent    BR        354     // create decay channel  [parent    BR     #daughters]
352     mode = new G4PhaseSpaceDecayChannel(namePa << 355     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 356                                         daughterSigma,daughterPi);
353     // add decay table                            357     // add decay table
354     decayTable->Insert(mode);                     358     decayTable->Insert(mode);
355   }                                               359   }
356   // ------------ Sigma0 Pi0 ------------      << 360   // ------------ Sigma0 Pi0 ------------ 
357   // determine daughters                          361   // determine daughters
358   if (iIso3 == +2) {                           << 362   if (iIso3== +2) {
359     daughterSigma = "sigma+";                     363     daughterSigma = "sigma+";
360     r = br / 2.;                               << 364     r = br/2.;
361   }                                            << 365   } else if (iIso3== 0) {
362   else if (iIso3 == 0) {                       << 
363     r = 0.;                                       366     r = 0.;
364   }                                            << 367   } else if (iIso3== -2) {
365   else if (iIso3 == -2) {                      << 
366     daughterSigma = "sigma-";                     368     daughterSigma = "sigma-";
367                                                   369 
368     r = br / 2.;                               << 370 
                                                   >> 371     r = br/2.;
369   }                                               372   }
370   daughterPi = "pi0";                             373   daughterPi = "pi0";
371   if (fAnti) daughterSigma = "anti_" + daughte    374   if (fAnti) daughterSigma = "anti_" + daughterSigma;
372   if (r > 0.) {                                << 375   if (r>0.) {
373     // create decay channel  [parent    BR        376     // create decay channel  [parent    BR     #daughters]
374     mode = new G4PhaseSpaceDecayChannel(namePa << 377     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 378                                         daughterSigma,daughterPi);
375     // add decay table                            379     // add decay table
376     decayTable->Insert(mode);                     380     decayTable->Insert(mode);
377   }                                               381   }
378                                                   382 
379   // ------------ Sigma- pi + ------------     << 383   // ------------ Sigma- pi + ------------ 
380   // determine daughters                          384   // determine daughters
381   if (iIso3 == +2) {                           << 385   if (iIso3== +2) {
382     daughterSigma = "sigma0";                     386     daughterSigma = "sigma0";
383     r = br / 2.;                               << 387     r = br/2.;
384   }                                            << 388   } else if (iIso3== 0) {
385   else if (iIso3 == 0) {                       << 
386     daughterSigma = "sigma-";                     389     daughterSigma = "sigma-";
387     r = br / 2.;                               << 390     r = br/2.;
388   }                                            << 391   } else if (iIso3== -2) {
389   else if (iIso3 == -2) {                      << 
390     r = 0.;                                       392     r = 0.;
391   }                                               393   }
392   if (!fAnti) {                                   394   if (!fAnti) {
393     daughterPi = "pi+";                           395     daughterPi = "pi+";
394   }                                            << 396   } else {
395   else {                                       << 
396     daughterPi = "pi-";                           397     daughterPi = "pi-";
397   }                                               398   }
398   if (fAnti) daughterSigma = "anti_" + daughte    399   if (fAnti) daughterSigma = "anti_" + daughterSigma;
399   if (r > 0.) {                                << 400   if (r>0.) {
400     // create decay channel  [parent    BR        401     // create decay channel  [parent    BR     #daughters]
401     mode = new G4PhaseSpaceDecayChannel(namePa << 402     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 403                                         daughterSigma,daughterPi);
402     // add decay table                            404     // add decay table
403     decayTable->Insert(mode);                     405     decayTable->Insert(mode);
404   }                                               406   }
405                                                   407 
406   return decayTable;                              408   return decayTable;
407 }                                                 409 }
408                                                   410 
409 G4DecayTable* G4ExcitedSigmaConstructor::AddSi << 411 
410                                                << 412 G4DecayTable*  G4ExcitedSigmaConstructor::AddSigmaStarPiMode( 
411                                                << 413                                     G4DecayTable* decayTable, const G4String& nameParent,
                                                   >> 414                                     G4double br, G4int iIso3, G4bool fAnti)
412 {                                                 415 {
413   G4VDecayChannel* mode;                          416   G4VDecayChannel* mode;
414                                                   417 
                                                   >> 418 
415   G4String daughterSigma;                         419   G4String daughterSigma;
416   G4String daughterPi;                            420   G4String daughterPi;
417   G4double r = 0.;                                421   G4double r = 0.;
418                                                   422 
419   // ------------ Sigma+ pi - ------------     << 423   // ------------ Sigma+ pi - ------------ 
420   // determine daughters                          424   // determine daughters
421   if (iIso3 == +2) {                           << 425   if (iIso3== +2) {
422     r = 0.;                                       426     r = 0.;
423   }                                            << 427   } else if (iIso3== 0) {
424   else if (iIso3 == 0) {                       << 
425     daughterSigma = "sigma(1385)+";               428     daughterSigma = "sigma(1385)+";
426     r = br / 2.;                               << 429     r = br/2.;
427   }                                            << 430   } else if (iIso3== -2) {
428   else if (iIso3 == -2) {                      << 
429     daughterSigma = "sigma(1385)0";               431     daughterSigma = "sigma(1385)0";
430     r = br / 2.;                               << 432     r = br/2.;
431   }                                               433   }
432   if (!fAnti) {                                   434   if (!fAnti) {
433     daughterPi = "pi-";                           435     daughterPi = "pi-";
434   }                                            << 436   } else {
435   else {                                       << 
436     daughterPi = "pi+";                           437     daughterPi = "pi+";
437   }                                               438   }
438   if (fAnti) daughterSigma = "anti_" + daughte    439   if (fAnti) daughterSigma = "anti_" + daughterSigma;
439   if (r > 0.) {                                << 440   if (r>0.) {
440     // create decay channel  [parent    BR        441     // create decay channel  [parent    BR     #daughters]
441     mode = new G4PhaseSpaceDecayChannel(namePa << 442     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 443                                         daughterSigma,daughterPi);
442     // add decay table                            444     // add decay table
443     decayTable->Insert(mode);                     445     decayTable->Insert(mode);
444   }                                               446   }
445   // ------------ Sigma0 Pi0 ------------      << 447   // ------------ Sigma0 Pi0 ------------ 
446   // determine daughters                          448   // determine daughters
447   if (iIso3 == +2) {                           << 449   if (iIso3== +2) {
448     daughterSigma = "sigma(1385)+";               450     daughterSigma = "sigma(1385)+";
449     r = br / 2.;                               << 451     r = br/2.;
450   }                                            << 452   } else if (iIso3== 0) {
451   else if (iIso3 == 0) {                       << 
452     r = 0.;                                       453     r = 0.;
453   }                                            << 454   } else if (iIso3== -2) {
454   else if (iIso3 == -2) {                      << 
455     daughterSigma = "sigma(1385)-";               455     daughterSigma = "sigma(1385)-";
456     r = br / 2.;                               << 456     r = br/2.;
457   }                                               457   }
458   daughterPi = "pi0";                             458   daughterPi = "pi0";
459   if (fAnti) daughterSigma = "anti_" + daughte    459   if (fAnti) daughterSigma = "anti_" + daughterSigma;
460   if (r > 0.) {                                << 460   if (r>0.) {
461     // create decay channel  [parent    BR        461     // create decay channel  [parent    BR     #daughters]
462     mode = new G4PhaseSpaceDecayChannel(namePa << 462     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 463                                         daughterSigma,daughterPi);
463                                                   464 
464     // add decay table                            465     // add decay table
465     decayTable->Insert(mode);                     466     decayTable->Insert(mode);
466   }                                               467   }
467                                                   468 
468   // ------------ Sigma- pi + ------------     << 469   // ------------ Sigma- pi + ------------ 
469   // determine daughters                          470   // determine daughters
470   if (iIso3 == +2) {                           << 471   if (iIso3== +2) {
471     daughterSigma = "sigma(1385)0";               472     daughterSigma = "sigma(1385)0";
472     r = br / 2.;                               << 473     r = br/2.;
473   }                                            << 474   } else if (iIso3== 0) {
474   else if (iIso3 == 0) {                       << 
475     daughterSigma = "sigma(1385)-";               475     daughterSigma = "sigma(1385)-";
476     r = br / 2.;                               << 476     r = br/2.;
477   }                                            << 477   } else if (iIso3== -2) {
478   else if (iIso3 == -2) {                      << 
479     r = 0.;                                       478     r = 0.;
480   }                                               479   }
481   if (!fAnti) {                                   480   if (!fAnti) {
482     daughterPi = "pi+";                           481     daughterPi = "pi+";
483   }                                            << 482   } else {
484   else {                                       << 
485     daughterPi = "pi-";                           483     daughterPi = "pi-";
486   }                                               484   }
487   if (fAnti) daughterSigma = "anti_" + daughte    485   if (fAnti) daughterSigma = "anti_" + daughterSigma;
488   if (r > 0.) {                                << 486   if (r>0.) {
489     // create decay channel  [parent    BR        487     // create decay channel  [parent    BR     #daughters]
490                                                   488 
491     mode = new G4PhaseSpaceDecayChannel(namePa << 489     mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 490                                         daughterSigma,daughterPi);
492     // add decay table                            491     // add decay table
493     decayTable->Insert(mode);                     492     decayTable->Insert(mode);
494   }                                               493   }
495                                                   494 
496   return decayTable;                              495   return decayTable;
497 }                                                 496 }
498                                                   497 
499 G4DecayTable* G4ExcitedSigmaConstructor::AddLa << 498 G4DecayTable*  G4ExcitedSigmaConstructor::AddLambdaPiMode( 
500                                                << 499                                     G4DecayTable* decayTable, const G4String& nameParent,
501                                                << 500                                     G4double br, G4int iIso3, G4bool fAnti)
502 {                                                 501 {
503   G4VDecayChannel* mode;                          502   G4VDecayChannel* mode;
504                                                   503 
505   G4String daughterLambda = "lambda";             504   G4String daughterLambda = "lambda";
506   G4String daughterPi;                            505   G4String daughterPi;
507                                                   506 
508   // determine daughters                          507   // determine daughters
509   if (iIso3 == +2) {                           << 508   if (iIso3== +2) {
510     if (!fAnti) {                                 509     if (!fAnti) {
511       daughterPi = "pi+";                         510       daughterPi = "pi+";
512     }                                          << 511     } else {
513     else {                                     << 
514       daughterPi = "pi-";                         512       daughterPi = "pi-";
515     }                                             513     }
516   }                                            << 514   } else if (iIso3== 0) {
517   else if (iIso3 == 0) {                       << 
518     daughterPi = "pi0";                           515     daughterPi = "pi0";
519   }                                            << 516   } else if (iIso3== -2) {
520   else if (iIso3 == -2) {                      << 
521     if (!fAnti) {                                 517     if (!fAnti) {
522       daughterPi = "pi-";                         518       daughterPi = "pi-";
523     }                                          << 519     } else {
524     else {                                     << 
525       daughterPi = "pi+";                         520       daughterPi = "pi+";
526     }                                             521     }
527   }                                               522   }
528   if (fAnti) daughterLambda = "anti_" + daught    523   if (fAnti) daughterLambda = "anti_" + daughterLambda;
529   // create decay channel  [parent    BR     #    524   // create decay channel  [parent    BR     #daughters]
530   mode = new G4PhaseSpaceDecayChannel(namePare << 525   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 526                                            daughterLambda, daughterPi);
531   // add decay table                              527   // add decay table
532   decayTable->Insert(mode);                       528   decayTable->Insert(mode);
533                                                   529 
534   return decayTable;                              530   return decayTable;
535 }                                                 531 }
536                                                   532 
537 G4DecayTable* G4ExcitedSigmaConstructor::AddLa << 533 G4DecayTable*  G4ExcitedSigmaConstructor::AddLambdaStarPiMode( 
538                                                << 534                                     G4DecayTable* decayTable, const G4String& nameParent,
539                                                << 535                                     G4double br, G4int iIso3, G4bool fAnti)
540 {                                                 536 {
541   G4VDecayChannel* mode;                          537   G4VDecayChannel* mode;
542                                                   538 
543   G4String daughterLambda = "lambda(1405)";       539   G4String daughterLambda = "lambda(1405)";
544   G4String daughterPi;                            540   G4String daughterPi;
545                                                   541 
546   // determine daughters                          542   // determine daughters
547   if (iIso3 == +2) {                           << 543   if (iIso3== +2) {
548     if (!fAnti) {                                 544     if (!fAnti) {
549       daughterPi = "pi+";                         545       daughterPi = "pi+";
550     }                                          << 546     } else {
551     else {                                     << 
552       daughterPi = "pi-";                         547       daughterPi = "pi-";
553     }                                             548     }
554   }                                            << 549   } else if (iIso3== 0) {
555   else if (iIso3 == 0) {                       << 
556     daughterPi = "pi0";                           550     daughterPi = "pi0";
557   }                                            << 551   } else if (iIso3== -2) {
558   else if (iIso3 == -2) {                      << 
559     if (!fAnti) {                                 552     if (!fAnti) {
560       daughterPi = "pi-";                         553       daughterPi = "pi-";
561     }                                          << 554     } else {
562     else {                                     << 
563       daughterPi = "pi+";                         555       daughterPi = "pi+";
564     }                                             556     }
565   }                                               557   }
566                                                   558 
567   if (fAnti) daughterLambda = "anti_" + daught    559   if (fAnti) daughterLambda = "anti_" + daughterLambda;
568   // create decay channel  [parent    BR     #    560   // create decay channel  [parent    BR     #daughters]
569   mode = new G4PhaseSpaceDecayChannel(namePare << 561   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 562                                            daughterLambda,daughterPi);
570   // add decay table                              563   // add decay table
571   decayTable->Insert(mode);                       564   decayTable->Insert(mode);
572                                                   565 
573   return decayTable;                              566   return decayTable;
574 }                                                 567 }
575                                                   568 
                                                   >> 569 
576 G4double G4ExcitedSigmaConstructor::GetMass(G4    570 G4double G4ExcitedSigmaConstructor::GetMass(G4int iState, G4int iso3)
577 {                                              << 571 { 
578   G4double fmass = mass[iState];                  572   G4double fmass = mass[iState];
579   if (iState == 0) {                           << 573   if (iState == 0 ) {
580     if (iso3 == +2)                            << 574     if (iso3== +2)       fmass -= 0.9*MeV;  // sigma+
581       fmass -= 0.9 * MeV;  // sigma+           << 575     else if (iso3== -2) fmass += 3.5*MeV;  // sigma-
582     else if (iso3 == -2)                       << 
583       fmass += 3.5 * MeV;  // sigma-           << 
584   }                                               576   }
585   return fmass;                                   577   return fmass;
586 }                                                 578 }
587                                                   579 
588 G4double G4ExcitedSigmaConstructor::GetWidth(G    580 G4double G4ExcitedSigmaConstructor::GetWidth(G4int iState, G4int iso3)
589 {                                                 581 {
590   G4double fw = width[iState];                 << 582   G4double fw=width[iState];
591   if (iState == 0) {                           << 583   if (iState == 0 ) {
592     if (iso3 == +2)                            << 584     if (iso3== +2)       fw = 36.0*MeV;  // sigma+
593       fw = 36.0 * MeV;  // sigma+              << 585     else if (iso3== -2)  fw = 39.4*MeV;  // sigma-
594     else if (iso3 == -2)                       << 
595       fw = 39.4 * MeV;  // sigma-              << 
596   }                                               586   }
597   return fw;                                      587   return fw;
598 }                                                 588 }
599                                                   589 
600 // clang-format off                            << 
601                                                << 
602 const char* G4ExcitedSigmaConstructor::name[]     590 const char* G4ExcitedSigmaConstructor::name[] = {
603   "sigma(1385)","sigma(1660)","sigma(1670)","s    591   "sigma(1385)","sigma(1660)","sigma(1670)","sigma(1750)","sigma(1775)",
604   "sigma(1915)","sigma(1940)","sigma(2030)"       592   "sigma(1915)","sigma(1940)","sigma(2030)"
605 };                                                593 };
606                                                   594 
607 const G4double G4ExcitedSigmaConstructor::mass    595 const G4double G4ExcitedSigmaConstructor::mass[] = {
608  1.3837*GeV, 1.660*GeV, 1.675*GeV, 1.750*GeV,  << 596  1.3837*GeV, 1.660*GeV, 1.670*GeV, 1.750*GeV,  1.775*GeV, 
609   1.915*GeV, 1.940*GeV, 2.030*GeV                 597   1.915*GeV, 1.940*GeV, 2.030*GeV
610 };                                                598 };
611                                                   599 
612 const G4double G4ExcitedSigmaConstructor::widt    600 const G4double G4ExcitedSigmaConstructor::width[] = {
613    36.0*MeV, 200.0*MeV,  70.0*MeV, 150.0*MeV,  << 601    36.0*MeV, 100.0*MeV,  60.0*MeV,  90.0*MeV, 120.0*MeV,
614   120.0*MeV, 250.0*MeV, 180.0*MeV              << 602   120.0*MeV, 220.0*MeV, 180.0*MeV
615 };                                                603 };
616                                                   604 
617 const G4int G4ExcitedSigmaConstructor::iSpin[]    605 const G4int G4ExcitedSigmaConstructor::iSpin[] = {
618     3,   1,   3,   1,   5,                        606     3,   1,   3,   1,   5,
619     5,   3,   7                                   607     5,   3,   7
620 };                                                608 };
621                                                   609 
622 const G4int G4ExcitedSigmaConstructor::iParity    610 const G4int G4ExcitedSigmaConstructor::iParity[] = {
623   +1,  +1,   -1,  -1,  -1,                        611   +1,  +1,   -1,  -1,  -1,
624   +1,  -1,   +1                                   612   +1,  -1,   +1
625 };                                                613 };
626                                                   614 
627                                                   615 
628 const G4int G4ExcitedSigmaConstructor::encodin    616 const G4int G4ExcitedSigmaConstructor::encodingOffset[] = {
629       0, 10000, 10000, 20000,     0,              617       0, 10000, 10000, 20000,     0,
630   10000, 20000,     0                             618   10000, 20000,     0
631 };                                                619 };
632                                                   620 
633 const G4double G4ExcitedSigmaConstructor::bRat << 621 const G4double G4ExcitedSigmaConstructor::bRatio[ G4ExcitedSigmaConstructor::NStates ][ G4ExcitedSigmaConstructor::NumberOfDecayModes] = 
634 {                                                 622 {
635    {   0.0,  0.0, 0.12,  0.0, 0.88,   0.0,   0 << 623    {   0.0,  0.0, 0.12,  0.0, 0.88,   0.0,   0.0,   0.0}, 
636    {  0.30,  0.0, 0.35,  0.0, 0.35,   0.0,   0 << 624    {  0.30,  0.0, 0.35,  0.0, 0.35,   0.0,   0.0,   0.0}, 
637    {  0.15,  0.0, 0.70,  0.0, 0.15,   0.0,   0 << 625    {  0.15,  0.0, 0.70,  0.0, 0.15,   0.0,   0.0,   0.0}, 
638    {  0.40,  0.0, 0.05,  0.0,  0.0,  0.55,   0 << 626    {  0.40,  0.0, 0.05,  0.0,  0.0,  0.55,   0.0,   0.0}, 
639    {  0.40,  0.0, 0.04, 0.10, 0.23,   0.0,  0. << 627    {  0.40,  0.0, 0.04, 0.10, 0.23,   0.0,  0.23,   0.0}, 
640    {  0.15,  0.0, 0.40, 0.05, 0.40,   0.0,   0 << 628    {  0.15,  0.0, 0.40, 0.05, 0.40,   0.0,   0.0,   0.0}, 
641    {  0.10, 0.15, 0.15, 0.15, 0.15,   0.0,  0. << 629    {  0.10, 0.15, 0.15, 0.15, 0.15,   0.0,  0.15,  0.15}, 
642    {  0.20, 0.04, 0.10, 0.10, 0.20,   0.0,  0. << 630    {  0.20, 0.04, 0.10, 0.10, 0.20,   0.0,  0.18,  0.18} 
643                                                   631 
644 };                                                632 };
                                                   >> 633 
                                                   >> 634 
                                                   >> 635 
                                                   >> 636 
                                                   >> 637 
                                                   >> 638 
                                                   >> 639 
                                                   >> 640 
                                                   >> 641 
                                                   >> 642 
                                                   >> 643 
645                                                   644