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 10.3.p2)


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