Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/particles/shortlived/src/G4ExcitedMesonConstructor.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/G4ExcitedMesonConstructor.cc (Version 11.3.0) and /particles/shortlived/src/G4ExcitedMesonConstructor.cc (Version 9.6.p4)


  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$
                                                   >>  28 //
                                                   >>  29 // 
 26 // -------------------------------------------     30 // --------------------------------------------------------------
 27 //  GEANT 4 class implementation file          <<  31 //  GEANT 4 class implementation file 
 28 //      History: first implementation, based o     32 //      History: first implementation, based on object model of
 29 //      10 oct 1998  H.Kurashige                   33 //      10 oct 1998  H.Kurashige
 30 // -------------------------------------------     34 // ---------------------------------------------------------------
 31 //    01 Oct. 02 Fixed PDG codes for a0(1450),     35 //    01 Oct. 02 Fixed PDG codes for a0(1450), f0(1370), k0_star(1430)
 32 //                                             << 
 33 //    Update mass and width following PDG 2023 << 
 34                                                    36 
 35 #include "G4ExcitedMesonConstructor.hh"            37 #include "G4ExcitedMesonConstructor.hh"
 36                                                    38 
 37 #include "G4DecayTable.hh"                     <<  39 #include "G4SystemOfUnits.hh"
 38 #include "G4ExcitedMesons.hh"                  <<  40 #include "G4ParticleDefinition.hh"
 39 #include "G4ParticleTable.hh"                      41 #include "G4ParticleTable.hh"
                                                   >>  42 #include "G4ShortLivedTable.hh"
 40 #include "G4PhaseSpaceDecayChannel.hh"             43 #include "G4PhaseSpaceDecayChannel.hh"
 41 #include "G4SystemOfUnits.hh"                  << 
 42 #include "G4VDecayChannel.hh"                      44 #include "G4VDecayChannel.hh"
                                                   >>  45 #include "G4DecayTable.hh"
                                                   >>  46 
 43                                                    47 
 44 G4ExcitedMesonConstructor::G4ExcitedMesonConst <<  48 G4ExcitedMesonConstructor::G4ExcitedMesonConstructor(G4int ,
                                                   >>  49                    G4int )
                                                   >>  50     :   type("meson"), leptonNumber(0), baryonNumber(0)
                                                   >>  51 {
                                                   >>  52 }
                                                   >>  53 
                                                   >>  54 G4ExcitedMesonConstructor::~G4ExcitedMesonConstructor()
                                                   >>  55 {
                                                   >>  56 }
 45                                                    57 
 46 void G4ExcitedMesonConstructor::Construct(G4in     58 void G4ExcitedMesonConstructor::Construct(G4int idx)
 47 {                                                  59 {
 48   G4int iType;                                     60   G4int iType;
 49   if (idx < 0) {                               <<  61   if (idx < 0 ) {
 50     for (G4int state = 0; state < NMultiplets; <<  62     for (G4int state=0; state< NMultiplets; state +=1) {
 51       for (iType = 0; iType < NMesonTypes; iTy <<  63       for (iType = 0; iType < NMesonTypes ; iType++) 
 52         ConstructMesons(state, iType);         <<  64   ConstructMesons(state, iType);
 53     }                                          <<  65     }
 54   }                                            <<  66   } else if (idx < NMultiplets ) {
 55   else if (idx < NMultiplets) {                <<  67       for (iType = 0; iType < NMesonTypes ; iType++) 
 56     for (iType = 0; iType < NMesonTypes; iType <<  68   ConstructMesons(idx, iType);
 57       ConstructMesons(idx, iType);             <<  69   } else {
 58   }                                            << 
 59   else {                                       << 
 60 #ifdef G4VERBOSE                                   70 #ifdef G4VERBOSE
 61     if (G4ParticleTable::GetParticleTable()->G <<  71     if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>1) {
 62       G4cerr << "G4ExcitedMesonConstructor::Co     72       G4cerr << "G4ExcitedMesonConstructor::Construct()";
 63       G4cerr << "   illegal index os state = "     73       G4cerr << "   illegal index os state = " << idx << G4endl;
 64     }                                              74     }
 65 #endif                                             75 #endif
 66   }                                                76   }
 67 }                                                  77 }
 68                                                    78 
 69 G4bool G4ExcitedMesonConstructor::Exist(G4int      79 G4bool G4ExcitedMesonConstructor::Exist(G4int idxState, G4int idxType)
 70 {                                                  80 {
 71   G4bool value = true;                             81   G4bool value = true;
 72   if (idxType == TEtaPrime) {                  <<  82   if ( idxType == TEtaPrime ) {
 73     if (idxState == N13P0) value = false;      <<  83     if (idxState==N13P0) value = false;      
 74     if (idxState == N13D1) value = false;      <<  84     if (idxState==N13D1) value = false;      
 75   }                                            <<  85   } else if ( idxType == TPi ) {
 76   else if (idxType == TPi) {                   <<  86     if (idxState==N23P2) value = false;      
 77     if (idxState == N23P2) value = false;      << 
 78   }                                                87   }
 79   return value;                                    88   return value;
 80 }                                                  89 }
 81                                                    90 
                                                   >>  91 #include "G4ExcitedMesons.hh"
                                                   >>  92 
 82 void G4ExcitedMesonConstructor::ConstructMeson     93 void G4ExcitedMesonConstructor::ConstructMesons(G4int iState, G4int iType)
 83 {                                                  94 {
 84   if (!Exist(iState, iType)) return;           <<  95   if (!Exist(iState, iType) ) return;
 85                                                    96 
 86   //    Construct Resonace particles as dynami     97   //    Construct Resonace particles as dynamic object
 87   //    Arguments for constructor are as follo     98   //    Arguments for constructor are as follows
 88   //               name             mass       <<  99   //               name             mass          width        
 89   //             charge           2*spin       << 100   //             charge           2*spin           
 90   //             parity    C-conjugation          101   //             parity    C-conjugation
 91   //          2*Isospin       2*Isospin3       << 102   //          2*Isospin       2*Isospin3       
 92   //          G-parity                            103   //          G-parity
 93   //               type    lepton number  Bary << 104   //               type    lepton number  Baryon number   
 94   //        PDG encoding                          105   //        PDG encoding
 95   //             stable         lifetime    de << 106   //             stable         lifetime    decay table 
 96                                                << 107   
                                                   >> 108   
 97   G4String aName;                                 109   G4String aName;
 98   G4ExcitedMesons* particle;                      110   G4ExcitedMesons* particle;
 99                                                << 111   
100   for (G4int iIso3 = (-1) * iIsoSpin[iType]; i << 112   for ( G4int iIso3=(-1)*iIsoSpin[iType]; iIso3<=iIsoSpin[iType]; iIso3+=2) {
101     aName = GetName(iIso3, iState, iType);     << 113     aName= GetName(iIso3, iState, iType);
102     G4double fmass = mass[iState][iType];      << 114     G4double fmass =  mass[iState][iType];
103     G4double fwidth = width[iState][iType];       115     G4double fwidth = width[iState][iType];
104     if ((iType == TK) || (iType == TAntiK)) {  << 116   if ( (iType== TK) || (iType==TAntiK ) ) {
105       if (GetCharge(iIso3, iType) == 0.0) {    << 117     if ( GetCharge(iIso3,iType) == 0.0) {
106         fmass += massKdiff[iState];            << 118     fmass  += massKdiff[iState];
107         fwidth += widthKdiff[iState];          << 119       fwidth += widthKdiff[iState];
108       }                                           120       }
109     }                                          << 121    }
110                                                << 122     particle = new G4ExcitedMesons(            
111     // clang-format off                        << 123              aName,   fmass,         fwidth,    
112     particle = new G4ExcitedMesons(            << 
113              aName,   fmass,         fwidth,   << 
114      GetCharge(iIso3,iType),                 i    124      GetCharge(iIso3,iType),                 iSpin[iState],
115       iParity[iState],    iChargeConjugation[i    125       iParity[iState],    iChargeConjugation[iState],
116                         iIsoSpin[iType],       << 126                         iIsoSpin[iType],                         iIso3,   
117                 iGParity[iState][iType],          127                 iGParity[iState][iType],
118                              type,  leptonNumb << 128                              type,  leptonNumber,   baryonNumber, 
119      GetEncoding(iIso3, iState, iType),           129      GetEncoding(iIso3, iState, iType),
120                             false,           0 << 130                             false,           0.0,            NULL
121             );                                    131             );
122     // clang-format on                         << 
123                                                   132 
124     if ((iType == TEta) || (iType == TEtaPrime << 133     if ( (iType==TEta) || (iType==TEtaPrime) || ((iType==TPi)&&(iIso3==0)) ) {
125       // set same encoding for AntiParticle    << 134     // set same encoding for AntiParticle
126       particle->SetAntiPDGEncoding(GetEncoding    135       particle->SetAntiPDGEncoding(GetEncoding(iIso3, iState, iType));
127     }                                             136     }
128     particle->SetMultipletName(name[iState][iT    137     particle->SetMultipletName(name[iState][iType]);
129     particle->SetDecayTable(CreateDecayTable(a << 138     particle->SetDecayTable(CreateDecayTable( aName, iIso3, iState, iType));
130   }                                               139   }
131 }                                                 140 }
132                                                   141 
133 G4int G4ExcitedMesonConstructor::GetQuarkConte << 142 
                                                   >> 143 G4int  G4ExcitedMesonConstructor::GetQuarkContents(G4int iQ, 
                                                   >> 144                G4int iIso3,
                                                   >> 145                G4int iType)
134 {                                                 146 {
135   // Quark contents                               147   // Quark contents
136                                                   148 
137   G4int quark = 0;                             << 149   G4int quark=0;
138   if (iType == TPi) {                             150   if (iType == TPi) {
139     if (iIso3 == 2) {                          << 151     if ( iIso3 == 2 ){
140       if (iQ == 0) {                           << 152       if ( iQ == 0 ){ quark = 2; }
141         quark = 2;                             << 153       else          { quark = 1; }
142       }                                        << 154     } else if ( iIso3 == 0 ){
143       else {                                   << 
144         quark = 1;                             << 
145       }                                        << 
146     }                                          << 
147     else if (iIso3 == 0) {                     << 
148       quark = 1;                                  155       quark = 1;
                                                   >> 156     }  else if ( iIso3 == -2 ){
                                                   >> 157       if ( iQ == 0 ){ quark = 1; }
                                                   >> 158       else          { quark = 2; }
149     }                                             159     }
150     else if (iIso3 == -2) {                    << 160   } else if (iType == TEta) {
151       if (iQ == 0) {                           << 
152         quark = 1;                             << 
153       }                                        << 
154       else {                                   << 
155         quark = 2;                             << 
156       }                                        << 
157     }                                          << 
158   }                                            << 
159   else if (iType == TEta) {                    << 
160     quark = 2;                                    161     quark = 2;
161   }                                            << 162 
162   else if (iType == TEtaPrime) {               << 163   } else if (iType == TEtaPrime) {
163     quark = 3;                                    164     quark = 3;
164   }                                            << 165 
165   else if (iType == TAntiK) {                  << 166   } else if (iType == TAntiK) {
166     if (iIso3 == 1) {                          << 167     if ( iIso3 == 1 ){
167       if (iQ == 0) {                           << 168       if ( iQ == 0 ){ quark = 3; }
168         quark = 3;                             << 169       else          { quark = 1; }
169       }                                        << 170     } else if ( iIso3 == -1 ){
170       else {                                   << 171       if ( iQ == 0 ){ quark = 3; }
171         quark = 1;                             << 172       else          { quark = 2; }
172       }                                        << 173     }
173     }                                          << 174  
174     else if (iIso3 == -1) {                    << 175   } else if (iType == TK) {
175       if (iQ == 0) {                           << 176     if ( iIso3 == 1 ){
176         quark = 3;                             << 177       if ( iQ == 0 ){ quark = 2; }
177       }                                        << 178       else          { quark = 3; }
178       else {                                   << 179     } else if ( iIso3 == -1 ){
179         quark = 2;                             << 180       if ( iQ == 0 ){ quark = 1; }
180       }                                        << 181       else          { quark = 3; }
181     }                                          << 
182   }                                            << 
183   else if (iType == TK) {                      << 
184     if (iIso3 == 1) {                          << 
185       if (iQ == 0) {                           << 
186         quark = 2;                             << 
187       }                                        << 
188       else {                                   << 
189         quark = 3;                             << 
190       }                                        << 
191     }                                          << 
192     else if (iIso3 == -1) {                    << 
193       if (iQ == 0) {                           << 
194         quark = 1;                             << 
195       }                                        << 
196       else {                                   << 
197         quark = 3;                             << 
198       }                                        << 
199     }                                             182     }
                                                   >> 183 
200   }                                               184   }
201   return quark;                                   185   return quark;
202 }                                                 186 }
203                                                   187 
204 G4double G4ExcitedMesonConstructor::GetCharge( << 188 G4double  G4ExcitedMesonConstructor::GetCharge(G4int iIsoSpin3, G4int idxType )
205 {                                                 189 {
206   // clang-format off                          << 190   static G4double quark_charge[7] = 
207   static const G4double quark_charge[7] =      << 
208   {                                               191   {
209     0., -1./3., +2./3., -1./3., +2./3., -1./3.    192     0., -1./3., +2./3., -1./3., +2./3., -1./3., +2./3.
210   };                                              193   };
211   // clang-format on                           << 194   
212                                                << 195   G4double charge =  quark_charge[GetQuarkContents(0, iIsoSpin3, idxType)]*eplus;
213   G4double charge = quark_charge[GetQuarkConte << 196   charge -=  quark_charge[GetQuarkContents(1, iIsoSpin3, idxType)]*eplus;
214   charge -= quark_charge[GetQuarkContents(1, i << 
215   return charge;                                  197   return charge;
216 }                                                 198 }
217                                                   199 
218 G4int G4ExcitedMesonConstructor::GetEncoding(G << 200 G4int     G4ExcitedMesonConstructor::GetEncoding(G4int iIsoSpin3, 
                                                   >> 201              G4int idxState, 
                                                   >> 202              G4int idxType    )
219 {                                                 203 {
220   G4int encoding = encodingOffset[idxState];      204   G4int encoding = encodingOffset[idxState];
221   encoding += iSpin[idxState] + 1;             << 205   encoding +=  iSpin[idxState] +1;
222   G4int iQ = 0;                                   206   G4int iQ = 0;
223   G4int iQbar = 1;                                207   G4int iQbar = 1;
224                                                   208 
225   if (idxType == TPi) {                        << 209   if ( idxType == TPi ) {
226     if (iIsoSpin3 < 0) {                       << 210     if (iIsoSpin3<0) {
227       iQ = 1;                                     211       iQ = 1;
228       iQbar = 0;                               << 212       iQbar = 0; 
229     }                                             213     }
230   }                                            << 214   } else if ( idxType == TK ) {
231   else if (idxType == TK) {                    << 
232     iQ = 1;                                       215     iQ = 1;
233     iQbar = 0;                                 << 216     iQbar = 0; 
234   }                                               217   }
235                                                   218 
236   encoding += 100 * GetQuarkContents(iQ, iIsoS << 219 
237   encoding += 10 * GetQuarkContents(iQbar, iIs << 220   encoding +=  100*GetQuarkContents(iQ, iIsoSpin3, idxType);
238   if (idxType == TPi) {                        << 221   encoding +=   10*GetQuarkContents(iQbar, iIsoSpin3, idxType);
239     if (iIsoSpin3 < 0) {                       << 222   if ( idxType == TPi ) {
240       encoding *= -1;                          << 223     if (iIsoSpin3<0) {
                                                   >> 224       encoding *=  -1;
241     }                                             225     }
242   }                                            << 226   } else if ( idxType == TAntiK ) {
243   else if (idxType == TAntiK) {                << 227     encoding *=  -1;
244     encoding *= -1;                            << 
245   }                                               228   }
246                                                   229 
247   // PDG2005                                   << 230 // PDG2005
248   //                                           << 231 //
249   if (idxState == 9) {                         << 232   if (idxState == 9 ) {
250     if (idxType == TEta) {                        233     if (idxType == TEta) {
251       //   f2(1810)  9030225                   << 234 //   f2(1810)  9030225
252       encoding = 9030225;                         235       encoding = 9030225;
253     }                                          << 236     } else if (idxType == TEtaPrime) {
254     else if (idxType == TEtaPrime) {           << 237 //   f2(2010)  9060225
255       //   f2(2010)  9060225                   << 
256       encoding = 9060225;                         238       encoding = 9060225;
257     }                                             239     }
258   }                                               240   }
259                                                   241 
260   // PDG2013                                   << 
261   if (idxState == 1) {                         << 
262     if (idxType == TEta) {                     << 
263       //   f0(1370)  30221                     << 
264       encoding = 30221;                        << 
265     }                                          << 
266   }                                            << 
267   return encoding;                                242   return encoding;
268 }                                                 243 }
269                                                   244 
270 G4DecayTable* G4ExcitedMesonConstructor::Creat << 245 G4DecayTable*  G4ExcitedMesonConstructor::CreateDecayTable(
271                                                << 246               const G4String& parentName,
                                                   >> 247               G4int           iIso3,
                                                   >> 248                                             G4int           iState, 
                                                   >> 249               G4int           iType)
272 {                                                 250 {
273   // create decay table                        << 251    // create decay table
274   auto decayTable = new G4DecayTable();        << 252   G4DecayTable* decayTable =  new G4DecayTable();
275   G4double br;                                    253   G4double br;
276                                                << 254  
277   if ((iType == TK) || (iType == TAntiK)) {    << 255   if ((iType==TK)||(iType==TAntiK)) {
278     if ((br = bRatio[iState][iType][MKPi]) > 0 << 256     
279       AddKPiMode(decayTable, parentName, br, i << 257     if ( (br=bRatio[iState][iType][MKPi]) >0.0) {
                                                   >> 258       AddKPiMode( decayTable, parentName, br, iIso3, iType );
280     }                                             259     }
281     if ((br = bRatio[iState][iType][MKStarPi]) << 260     if ( (br=bRatio[iState][iType][MKStarPi]) >0.0) {
282       AddKStarPiMode(decayTable, parentName, b << 261       AddKStarPiMode( decayTable, parentName, br, iIso3, iType );
283     }                                             262     }
284     if ((br = bRatio[iState][iType][MKRho]) >  << 263     if ( (br=bRatio[iState][iType][MKRho]) >0.0) {
285       AddKRhoMode(decayTable, parentName, br,  << 264       AddKRhoMode( decayTable, parentName, br, iIso3, iType );
286     }                                             265     }
287     if ((br = bRatio[iState][iType][MKOmega])  << 266     if ( (br=bRatio[iState][iType][MKOmega]) >0.0) {
288       AddKOmegaMode(decayTable, parentName, br << 267       AddKOmegaMode( decayTable, parentName, br, iIso3, iType );
289     }                                             268     }
290     if ((br = bRatio[iState][iType][MKStar2Pi] << 269     if ( (br=bRatio[iState][iType][MKStar2Pi]) >0.0) {
291       AddKStar2PiMode(decayTable, parentName,  << 270       AddKStar2PiMode( decayTable, parentName, br, iIso3, iType );
292     }                                             271     }
293     if ((br = bRatio[iState][iType][MKTwoPi])  << 272     if ( (br=bRatio[iState][iType][MKTwoPi]) >0.0) {
294       AddKTwoPiMode(decayTable, parentName, br << 273       AddKTwoPiMode( decayTable, parentName, br, iIso3, iType );
295     }                                             274     }
296     if ((br = bRatio[iState][iType][MKEta]) >  << 275     if ( (br=bRatio[iState][iType][MKEta]) >0.0) {
297       AddKEtaMode(decayTable, parentName, br,  << 276       AddKEtaMode( decayTable, parentName, br, iIso3, iType );
298     }                                             277     }
299   }                                            << 278 
300   else {                                       << 279   } else {
301     if ((br = bRatio[iState][iType][MPiGamma]) << 280     if ( (br=bRatio[iState][iType][MPiGamma]) >0.0) {
302       AddPiGammaMode(decayTable, parentName, b << 281       AddPiGammaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
303     }                                          << 
304     if ((br = bRatio[iState][iType][MRhoGamma] << 
305       AddRhoGammaMode(decayTable, parentName,  << 
306     }                                             282     }
307     if ((br = bRatio[iState][iType][M2Pi]) > 0 << 283     if ( (br=bRatio[iState][iType][MRhoGamma]) >0.0) {
308       Add2PiMode(decayTable, parentName, br, i << 284       AddRhoGammaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
309     }                                             285     }
310     if ((br = bRatio[iState][iType][MPiRho]) > << 286     if ( (br=bRatio[iState][iType][M2Pi]) >0.0) {
311       AddPiRhoMode(decayTable, parentName, br, << 287       Add2PiMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
312     }                                             288     }
313     if ((br = bRatio[iState][iType][MPiEta]) > << 289     if ( (br=bRatio[iState][iType][MPiRho]) >0.0) {
314       AddPiEtaMode(decayTable, parentName, br, << 290       AddPiRhoMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
315     }                                             291     }
316     if ((br = bRatio[iState][iType][M3Pi]) > 0 << 292     if ( (br=bRatio[iState][iType][M3Pi]) >0.0) {
317       Add3PiMode(decayTable, parentName, br, i << 293       Add3PiMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
318     }                                             294     }
319     if ((br = bRatio[iState][iType][M4Pi]) > 0 << 295     if ( (br=bRatio[iState][iType][M4Pi]) >0.0) {
320       Add4PiMode(decayTable, parentName, br, i << 296       Add4PiMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
321     }                                             297     }
322     if ((br = bRatio[iState][iType][MKKStar])  << 298     if ( (br=bRatio[iState][iType][MKKStar]) >0.0) {
323       AddKKStarMode(decayTable, parentName, br << 299       AddKKStarMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
324     }                                             300     }
325     if ((br = bRatio[iState][iType][M2PiEta])  << 301     if ( (br=bRatio[iState][iType][M2PiEta]) >0.0) {
326       Add2PiEtaMode(decayTable, parentName, br << 302       Add2PiEtaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
327     }                                             303     }
328     if ((br = bRatio[iState][iType][MRhoEta])  << 304     if ( (br=bRatio[iState][iType][MRhoEta]) >0.0) {
329       AddRhoEtaMode(decayTable, parentName, br << 305       AddRhoEtaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
330     }                                             306     }
331     if ((br = bRatio[iState][iType][M2PiRho])  << 307     if ( (br=bRatio[iState][iType][M2PiRho]) >0.0) {
332       Add2PiRhoMode(decayTable, parentName, br << 308       Add2PiRhoMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
333     }                                             309     }
334     if ((br = bRatio[iState][iType][M2PiOmega] << 310     if ( (br=bRatio[iState][iType][M2PiOmega]) >0.0) {
335       Add2PiOmegaMode(decayTable, parentName,  << 311       Add2PiOmegaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
336     }                                             312     }
337     if ((br = bRatio[iState][iType][M2Eta]) >  << 313     if ( (br=bRatio[iState][iType][M2Eta]) >0.0) {
338       Add2EtaMode(decayTable, parentName, br,  << 314       Add2EtaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
339     }                                             315     }
340     if ((br = bRatio[iState][iType][M2K]) > 0. << 316     if ( (br=bRatio[iState][iType][M2K]) >0.0) {
341       Add2KMode(decayTable, parentName, br, iI << 317       Add2KMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
342     }                                             318     }
343     if ((br = bRatio[iState][iType][M2KPi]) >  << 319     if ( (br=bRatio[iState][iType][M2KPi]) >0.0) {
344       Add2KPiMode(decayTable, parentName, br,  << 320       Add2KPiMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
345     }                                             321     }
346     if ((br = bRatio[iState][iType][MPiOmega]) << 322    if ( (br=bRatio[iState][iType][MPiOmega]) >0.0) {
347       AddPiOmegaMode(decayTable, parentName, b << 323       AddPiOmegaMode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
348     }                                             324     }
349     if ((br = bRatio[iState][iType][MPiF2]) >  << 325    if ( (br=bRatio[iState][iType][MPiF2]) >0.0) {
350       AddPiF2Mode(decayTable, parentName, br,  << 326       AddPiF2Mode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
351     }                                             327     }
352     if ((br = bRatio[iState][iType][MPiF0]) >  << 328    if ( (br=bRatio[iState][iType][MPiF0]) >0.0) {
353       AddPiF0Mode(decayTable, parentName, br,  << 329       AddPiF0Mode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
354     }                                             330     }
355     if ((br = bRatio[iState][iType][MPiA2]) >  << 331    if ( (br=bRatio[iState][iType][MPiA2]) >0.0) {
356       AddPiA2Mode(decayTable, parentName, br,  << 332       AddPiA2Mode( decayTable, parentName, br, iIso3, iIsoSpin[iType] );
357     }                                             333     }
358   }                                               334   }
359                                                   335 
360   return decayTable;                              336   return decayTable;
361 }                                                 337 }
362                                                   338 
363 G4DecayTable* G4ExcitedMesonConstructor::AddKP << 339 G4DecayTable*  G4ExcitedMesonConstructor::AddKPiMode( 
364                                                << 340                                    G4DecayTable* decayTable, const G4String& nameParent,
365                                                << 341                                     G4double br, G4int iIso3, G4int iType)
366 {                                                 342 {
367   G4VDecayChannel* mode;                          343   G4VDecayChannel* mode;
368   //                                           << 344   // 
369   if (iIso3 == +1) {                              345   if (iIso3 == +1) {
370     if (iType == TK) {                         << 346     if (iType == TK) {    
371       mode = new G4PhaseSpaceDecayChannel(name << 347       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
                                                   >> 348              "kaon+","pi0");
372       decayTable->Insert(mode);                   349       decayTable->Insert(mode);
373       mode = new G4PhaseSpaceDecayChannel(name << 350       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 351              "kaon0","pi+");
374       decayTable->Insert(mode);                   352       decayTable->Insert(mode);
375     }                                          << 353     }else if (iType==TAntiK) {
376     else if (iType == TAntiK) {                << 354       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
377       mode = new G4PhaseSpaceDecayChannel(name << 355              "anti_kaon0","pi0");
378       decayTable->Insert(mode);                   356       decayTable->Insert(mode);
379       mode = new G4PhaseSpaceDecayChannel(name << 357       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 358              "kaon-","pi+");
380       decayTable->Insert(mode);                   359       decayTable->Insert(mode);
381     }                                          << 360    }
382   }                                            << 361   } else if (iIso3 == -1) {
383   else if (iIso3 == -1) {                      << 362     if (iType == TK) {    
384     if (iType == TK) {                         << 363       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
385       mode = new G4PhaseSpaceDecayChannel(name << 364              "kaon0","pi0");
386       decayTable->Insert(mode);                   365       decayTable->Insert(mode);
387       mode = new G4PhaseSpaceDecayChannel(name << 366       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 367              "kaon+","pi-");
388       decayTable->Insert(mode);                   368       decayTable->Insert(mode);
389     }                                          << 369  
390     else if (iType == TAntiK) {                << 370     }else if (iType==TAntiK) {
391       mode = new G4PhaseSpaceDecayChannel(name << 371       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
                                                   >> 372              "kaon-","pi0");
392       decayTable->Insert(mode);                   373       decayTable->Insert(mode);
393       mode = new G4PhaseSpaceDecayChannel(name << 374       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 375              "anti_kaon0","pi-");
394       decayTable->Insert(mode);                   376       decayTable->Insert(mode);
395     }                                             377     }
396   }                                               378   }
397                                                   379 
398   return decayTable;                              380   return decayTable;
399 }                                                 381 }
400 G4DecayTable* G4ExcitedMesonConstructor::AddKT << 382 G4DecayTable*  G4ExcitedMesonConstructor::AddKTwoPiMode( 
401                                                << 383                                    G4DecayTable* decayTable, const G4String& nameParent,
402                                                << 384                                     G4double br, G4int iIso3, G4int iType)
403 {                                                 385 {
404   G4VDecayChannel* mode;                          386   G4VDecayChannel* mode;
405   //                                           << 387   // 
406   if (iIso3 == +1) {                              388   if (iIso3 == +1) {
407     if (iType == TK) {                         << 389     if (iType == TK) {    
408       mode = new G4PhaseSpaceDecayChannel(name << 390       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
                                                   >> 391              "k2_star(1430)+","pi0");
409       decayTable->Insert(mode);                   392       decayTable->Insert(mode);
410       mode = new G4PhaseSpaceDecayChannel(name << 393       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 394              "k2_star(1430)0","pi+");
411       decayTable->Insert(mode);                   395       decayTable->Insert(mode);
412     }                                          << 396     }else if (iType==TAntiK) {
413     else if (iType == TAntiK) {                << 397       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
414       mode = new G4PhaseSpaceDecayChannel(name << 398              "anti_k2_star(1430)0","pi0");
415       decayTable->Insert(mode);                   399       decayTable->Insert(mode);
416       mode = new G4PhaseSpaceDecayChannel(name << 400       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 401              "k2_star(1430)-","pi+");
417       decayTable->Insert(mode);                   402       decayTable->Insert(mode);
418     }                                          << 403    }
419   }                                            << 404   } else if (iIso3 == -1) {
420   else if (iIso3 == -1) {                      << 405     if (iType == TK) {    
421     if (iType == TK) {                         << 406       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
422       mode = new G4PhaseSpaceDecayChannel(name << 407              "k2_star(1430)0","pi0");
423       decayTable->Insert(mode);                   408       decayTable->Insert(mode);
424       mode = new G4PhaseSpaceDecayChannel(name << 409       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 410              "k2_star(1430)+","pi-");
425       decayTable->Insert(mode);                   411       decayTable->Insert(mode);
426     }                                          << 412  
427     else if (iType == TAntiK) {                << 413     }else if (iType==TAntiK) {
428       mode = new G4PhaseSpaceDecayChannel(name << 414       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
                                                   >> 415              "k2_star(1430)-","pi0");
429       decayTable->Insert(mode);                   416       decayTable->Insert(mode);
430       mode =                                   << 417       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
431         new G4PhaseSpaceDecayChannel(nameParen << 418              "anti_k2_star(1430)0","pi-");
432       decayTable->Insert(mode);                   419       decayTable->Insert(mode);
433     }                                             420     }
434   }                                               421   }
435                                                   422 
436   return decayTable;                              423   return decayTable;
437 }                                                 424 }
438                                                   425 
439 G4DecayTable* G4ExcitedMesonConstructor::AddKO << 426 G4DecayTable*  G4ExcitedMesonConstructor::AddKOmegaMode( 
440                                                << 427                                    G4DecayTable* decayTable, const G4String& nameParent,
441                                                << 428                                     G4double br, G4int iIso3, G4int iType)
442 {                                                 429 {
443   G4VDecayChannel* mode;                          430   G4VDecayChannel* mode;
444   //                                           << 431   // 
445   if (iIso3 == +1) {                              432   if (iIso3 == +1) {
446     if (iType == TK) {                         << 433     if (iType == TK) {    
447       mode = new G4PhaseSpaceDecayChannel(name << 434       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 435              "kaon+","omega");
448       decayTable->Insert(mode);                   436       decayTable->Insert(mode);
449     }                                          << 437     }else if (iType==TAntiK) {
450     else if (iType == TAntiK) {                << 438       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
451       mode = new G4PhaseSpaceDecayChannel(name << 439              "anti_kaon0","omega");
452       decayTable->Insert(mode);                   440       decayTable->Insert(mode);
453     }                                          << 441    } 
454   }                                            << 442   } else if (iIso3 == -1) {
455   else if (iIso3 == -1) {                      << 443     if (iType == TK) {    
456     if (iType == TK) {                         << 444       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
457       mode = new G4PhaseSpaceDecayChannel(name << 445              "kaon0","omega");
458       decayTable->Insert(mode);                   446       decayTable->Insert(mode);
459     }                                          << 447     }else if (iType==TAntiK) {
460     else if (iType == TAntiK) {                << 448       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
461       mode = new G4PhaseSpaceDecayChannel(name << 449              "kaon-","omega");
462       decayTable->Insert(mode);                   450       decayTable->Insert(mode);
463     }                                             451     }
464   }                                               452   }
465                                                   453 
466   return decayTable;                              454   return decayTable;
467 }                                                 455 }
468                                                   456 
469 G4DecayTable* G4ExcitedMesonConstructor::AddKE << 457 G4DecayTable*  G4ExcitedMesonConstructor::AddKEtaMode( 
470                                                << 458                                    G4DecayTable* decayTable, const G4String& nameParent,
471                                                << 459                                     G4double br, G4int iIso3, G4int iType)
472 {                                                 460 {
473   G4VDecayChannel* mode;                          461   G4VDecayChannel* mode;
474   //                                           << 462   // 
475   if (iIso3 == +1) {                              463   if (iIso3 == +1) {
476     if (iType == TK) {                         << 464     if (iType == TK) {    
477       mode = new G4PhaseSpaceDecayChannel(name << 465       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 466              "kaon+","eta");
478       decayTable->Insert(mode);                   467       decayTable->Insert(mode);
479     }                                          << 468     }else if (iType==TAntiK) {
480     else if (iType == TAntiK) {                << 469       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
481       mode = new G4PhaseSpaceDecayChannel(name << 470              "anti_kaon0","eta");
482       decayTable->Insert(mode);                   471       decayTable->Insert(mode);
483     }                                          << 472    }   
484   }                                            << 473   } else if (iIso3 == -1) {
485   else if (iIso3 == -1) {                      << 474     if (iType == TK) {    
486     if (iType == TK) {                         << 475       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
487       mode = new G4PhaseSpaceDecayChannel(name << 476              "kaon0","eta");
488       decayTable->Insert(mode);                   477       decayTable->Insert(mode);
489     }                                          << 478     }else if (iType==TAntiK) {
490     else if (iType == TAntiK) {                << 479       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
491       mode = new G4PhaseSpaceDecayChannel(name << 480              "kaon-","eta");
492       decayTable->Insert(mode);                   481       decayTable->Insert(mode);
493     }                                             482     }
494   }                                               483   }
495                                                   484 
496   return decayTable;                              485   return decayTable;
497 }                                                 486 }
498                                                   487 
499 G4DecayTable* G4ExcitedMesonConstructor::AddKR << 488 G4DecayTable*  G4ExcitedMesonConstructor::AddKRhoMode( 
500                                                << 489                                    G4DecayTable* decayTable, const G4String& nameParent,
501                                                << 490                                     G4double br, G4int iIso3, G4int iType)
502 {                                                 491 {
503   G4VDecayChannel* mode;                          492   G4VDecayChannel* mode;
504   //                                           << 493   // 
505   if (iIso3 == +1) {                              494   if (iIso3 == +1) {
506     if (iType == TK) {                         << 495     if (iType == TK) {    
507       mode = new G4PhaseSpaceDecayChannel(name << 496       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
                                                   >> 497              "kaon+","rho0");
508       decayTable->Insert(mode);                   498       decayTable->Insert(mode);
509       mode = new G4PhaseSpaceDecayChannel(name << 499       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 500              "kaon0","rho+");
510       decayTable->Insert(mode);                   501       decayTable->Insert(mode);
511     }                                          << 502     }else if (iType==TAntiK) {
512     else if (iType == TAntiK) {                << 503       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
513       mode = new G4PhaseSpaceDecayChannel(name << 504              "anti_kaon0","rho0");
514       decayTable->Insert(mode);                   505       decayTable->Insert(mode);
515       mode = new G4PhaseSpaceDecayChannel(name << 506       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 507              "kaon-","rho+");
516       decayTable->Insert(mode);                   508       decayTable->Insert(mode);
517     }                                          << 509    }
518   }                                            << 510   } else if (iIso3 == -1) {
519   else if (iIso3 == -1) {                      << 511     if (iType == TK) {    
520     if (iType == TK) {                         << 512       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
521       mode = new G4PhaseSpaceDecayChannel(name << 513              "kaon0","rho0");
522       decayTable->Insert(mode);                   514       decayTable->Insert(mode);
523       mode = new G4PhaseSpaceDecayChannel(name << 515       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 516              "kaon+","rho-");
524       decayTable->Insert(mode);                   517       decayTable->Insert(mode);
525     }                                          << 518  
526     else if (iType == TAntiK) {                << 519     }else if (iType==TAntiK) {
527       mode = new G4PhaseSpaceDecayChannel(name << 520       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
                                                   >> 521              "kaon-","rho0");
528       decayTable->Insert(mode);                   522       decayTable->Insert(mode);
529       mode = new G4PhaseSpaceDecayChannel(name << 523       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 524              "anti_kaon0","rho-");
530       decayTable->Insert(mode);                   525       decayTable->Insert(mode);
531     }                                             526     }
532   }                                               527   }
533                                                   528 
534   return decayTable;                              529   return decayTable;
535 }                                                 530 }
536                                                   531 
537 G4DecayTable* G4ExcitedMesonConstructor::AddKS << 532 G4DecayTable*  G4ExcitedMesonConstructor::AddKStarPiMode( 
538                                                << 533                                    G4DecayTable* decayTable, const G4String& nameParent,
539                                                << 534                                     G4double br, G4int iIso3, G4int iType)
540 {                                                 535 {
541   G4VDecayChannel* mode;                          536   G4VDecayChannel* mode;
542   //                                           << 537   // 
543   if (iIso3 == +1) {                              538   if (iIso3 == +1) {
544     if (iType == TK) {                         << 539     if (iType == TK) {    
545       mode = new G4PhaseSpaceDecayChannel(name << 540       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
                                                   >> 541              "k_star+","pi0");
546       decayTable->Insert(mode);                   542       decayTable->Insert(mode);
547       mode = new G4PhaseSpaceDecayChannel(name << 543       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 544              "k_star0","pi+");
548       decayTable->Insert(mode);                   545       decayTable->Insert(mode);
549     }                                          << 546     }else if (iType==TAntiK) {
550     else if (iType == TAntiK) {                << 547       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
551       mode = new G4PhaseSpaceDecayChannel(name << 548              "anti_k_star0","pi0");
552       decayTable->Insert(mode);                   549       decayTable->Insert(mode);
553       mode = new G4PhaseSpaceDecayChannel(name << 550       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 551              "k_star-","pi+");
554       decayTable->Insert(mode);                   552       decayTable->Insert(mode);
555     }                                          << 553    }
556   }                                            << 554   } else if (iIso3 == -1) {
557   else if (iIso3 == -1) {                      << 555     if (iType == TK) {    
558     if (iType == TK) {                         << 556       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
559       mode = new G4PhaseSpaceDecayChannel(name << 557              "k_star0","pi0");
560       decayTable->Insert(mode);                   558       decayTable->Insert(mode);
561       mode = new G4PhaseSpaceDecayChannel(name << 559       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 560              "k_star+","pi-");
562       decayTable->Insert(mode);                   561       decayTable->Insert(mode);
563     }                                          << 562  
564     else if (iType == TAntiK) {                << 563     }else if (iType==TAntiK) {
565       mode = new G4PhaseSpaceDecayChannel(name << 564       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 2,
                                                   >> 565              "k_star-","pi0");
566       decayTable->Insert(mode);                   566       decayTable->Insert(mode);
567       mode = new G4PhaseSpaceDecayChannel(name << 567       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 2,
                                                   >> 568              "anti_k_star0","pi-");
568       decayTable->Insert(mode);                   569       decayTable->Insert(mode);
569     }                                             570     }
570   }                                               571   }
571                                                   572 
572   return decayTable;                              573   return decayTable;
573 }                                                 574 }
574                                                   575 
575 G4DecayTable* G4ExcitedMesonConstructor::AddKS << 576 G4DecayTable*  G4ExcitedMesonConstructor::AddKStar2PiMode( 
576                                                << 577                                    G4DecayTable* decayTable, const G4String& nameParent,
577                                                << 578                                     G4double br, G4int iIso3, G4int iType)
578 {                                                 579 {
579   // K* --> K pipi(I=1)                           580   // K* --> K pipi(I=1)
580   G4VDecayChannel* mode;                          581   G4VDecayChannel* mode;
581   //                                           << 582   // 
582   if (iIso3 == +1) {                              583   if (iIso3 == +1) {
583     if (iType == TK) {                         << 584     if (iType == TK) {    
584       mode = new G4PhaseSpaceDecayChannel(name << 585       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
                                                   >> 586              "k_star+","pi+","pi-");
585       decayTable->Insert(mode);                   587       decayTable->Insert(mode);
586       mode = new G4PhaseSpaceDecayChannel(name << 588       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
                                                   >> 589              "k_star0","pi+","pi0");
587       decayTable->Insert(mode);                   590       decayTable->Insert(mode);
588     }                                          << 591     }else if (iType==TAntiK) {
589     else if (iType == TAntiK) {                << 592       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
590       mode = new G4PhaseSpaceDecayChannel(name << 593              "anti_k_star0","pi+","pi-");
591       decayTable->Insert(mode);                   594       decayTable->Insert(mode);
592       mode = new G4PhaseSpaceDecayChannel(name << 595       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
                                                   >> 596              "k_star-","pi+","pi0");
593       decayTable->Insert(mode);                   597       decayTable->Insert(mode);
594     }                                          << 598    }
595   }                                            << 599   } else if (iIso3 == -1) {
596   else if (iIso3 == -1) {                      << 600     if (iType == TK) {    
597     if (iType == TK) {                         << 601       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
598       mode = new G4PhaseSpaceDecayChannel(name << 602              "k_star0","pi+","pi-");
599       decayTable->Insert(mode);                   603       decayTable->Insert(mode);
600       mode = new G4PhaseSpaceDecayChannel(name << 604       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
                                                   >> 605              "k_star+","pi-","pi0");
601       decayTable->Insert(mode);                   606       decayTable->Insert(mode);
602     }                                          << 607  
603     else if (iType == TAntiK) {                << 608     }else if (iType==TAntiK) {
604       mode = new G4PhaseSpaceDecayChannel(name << 609       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
                                                   >> 610              "k_star-","pi+","pi-");
605       decayTable->Insert(mode);                   611       decayTable->Insert(mode);
606       mode =                                   << 612       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
607         new G4PhaseSpaceDecayChannel(nameParen << 613              "anti_k_star0","pi-","pi0");
608       decayTable->Insert(mode);                   614       decayTable->Insert(mode);
609     }                                             615     }
610   }                                               616   }
611                                                   617 
612   return decayTable;                              618   return decayTable;
613 }                                                 619 }
614                                                   620 
615 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 621 G4DecayTable*  G4ExcitedMesonConstructor::AddPiGammaMode( 
616                                                << 622                                    G4DecayTable* decayTable, const G4String& nameParent,
617                                                << 623                                     G4double br, G4int iIso3, G4int iIso)
618 {                                                 624 {
619   if ((iIso != 2) && (iIso != 0)) return decay << 625   if ((iIso!=2)&&(iIso!=0)) return decayTable;
620                                                   626 
621   G4VDecayChannel* mode;                          627   G4VDecayChannel* mode;
622   //                                           << 628   // 
623   G4String daughter;                              629   G4String daughter;
624   if (iIso3 == +2) {                           << 630   if (iIso3 == +2) { 
625     daughter = "pi+";                          << 631     daughter = "pi+";  
626   }                                            << 632   } else if (iIso3 == 0) { 
627   else if (iIso3 == 0) {                       << 633     daughter = "pi0";  
628     daughter = "pi0";                          << 634   } else if (iIso3 ==-2) { 
629   }                                            << 635     daughter = "pi-";  
630   else if (iIso3 == -2) {                      << 636   } else {
631     daughter = "pi-";                          << 637     return decayTable; 
632   }                                            << 638   } 
633   else {                                       << 639     // create decay channel  [parent    BR     #daughters]
634     return decayTable;                         << 640   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
635   }                                            << 641                                            daughter,"gamma");
636   // create decay channel  [parent    BR     # << 
637   mode = new G4PhaseSpaceDecayChannel(namePare << 
638   // add decay table                              642   // add decay table
639   decayTable->Insert(mode);                       643   decayTable->Insert(mode);
640                                                   644 
641   return decayTable;                              645   return decayTable;
642 }                                                 646 }
643                                                   647 
644 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 648 G4DecayTable*  G4ExcitedMesonConstructor::AddPiOmegaMode( 
645                                                << 649                                    G4DecayTable* decayTable, const G4String& nameParent,
646                                                << 650                                     G4double br, G4int iIso3, G4int iIso)
647 {                                                 651 {
648   if ((iIso != 2) && (iIso != 0)) return decay << 652   if ((iIso!=2)&&(iIso!=0)) return decayTable;
649                                                   653 
650   G4VDecayChannel* mode;                          654   G4VDecayChannel* mode;
651   //                                           << 655   // 
652   G4String daughter;                              656   G4String daughter;
653   if (iIso3 == +2) {                           << 657   if (iIso3 == +2) { 
654     daughter = "pi+";                          << 658     daughter = "pi+";  
655   }                                            << 659   } else if (iIso3 == 0) { 
656   else if (iIso3 == 0) {                       << 660     daughter = "pi0";  
657     daughter = "pi0";                          << 661   } else if (iIso3 ==-2) { 
658   }                                            << 662     daughter = "pi-";  
659   else if (iIso3 == -2) {                      << 663   } else {
660     daughter = "pi-";                          << 664     return decayTable; 
661   }                                            << 665   } 
662   else {                                       << 666     // create decay channel  [parent    BR     #daughters]
663     return decayTable;                         << 667   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
664   }                                            << 668                                            daughter,"omega");
665   // create decay channel  [parent    BR     # << 
666   mode = new G4PhaseSpaceDecayChannel(namePare << 
667   // add decay table                              669   // add decay table
668   decayTable->Insert(mode);                       670   decayTable->Insert(mode);
669                                                   671 
670   return decayTable;                              672   return decayTable;
671 }                                                 673 }
672                                                   674 
673 G4DecayTable* G4ExcitedMesonConstructor::AddRh << 675 G4DecayTable*  G4ExcitedMesonConstructor::AddRhoGammaMode( 
674                                                << 676                                    G4DecayTable* decayTable, const G4String& nameParent,
675                                                << 677                                     G4double br, G4int iIso3, G4int iIso)
676 {                                                 678 {
677   if ((iIso != 2) && (iIso != 0)) return decay << 679   if ((iIso!=2)&&(iIso!=0)) return decayTable;
678                                                   680 
679   G4VDecayChannel* mode;                          681   G4VDecayChannel* mode;
680   //                                           << 682   // 
681   G4String daughter;                              683   G4String daughter;
682   if (iIso3 == +2) {                           << 684   if (iIso3 == +2) { 
683     daughter = "rho+";                         << 685     daughter = "rho+";  
684   }                                            << 686   } else if (iIso3 == 0) { 
685   else if (iIso3 == 0) {                       << 687     daughter = "rho0";  
686     daughter = "rho0";                         << 688   } else if (iIso3 ==-2) { 
687   }                                            << 689     daughter = "rho-";  
688   else if (iIso3 == -2) {                      << 690   } else {
689     daughter = "rho-";                         << 691     return decayTable; 
690   }                                            << 692   } 
691   else {                                       << 
692     return decayTable;                         << 
693   }                                            << 
694   // create decay channel  [parent    BR     #    693   // create decay channel  [parent    BR     #daughters]
695   mode = new G4PhaseSpaceDecayChannel(namePare << 694   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 695                                            daughter,"gamma");
696   // add decay table                              696   // add decay table
697   decayTable->Insert(mode);                       697   decayTable->Insert(mode);
698                                                   698 
699   return decayTable;                              699   return decayTable;
700 }                                                 700 }
701                                                   701 
702 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 702 G4DecayTable*  G4ExcitedMesonConstructor::AddPiEtaMode( 
703                                                << 703                                    G4DecayTable* decayTable, const G4String& nameParent,
704                                                << 704                                     G4double br, G4int iIso3, G4int iIso)
705 {                                                 705 {
706   if ((iIso != 2) && (iIso != 0)) return decay << 706   if ((iIso!=2)&&(iIso!=0)) return decayTable;
707                                                   707 
708   G4VDecayChannel* mode;                          708   G4VDecayChannel* mode;
709   //                                           << 709   // 
710   G4String daughter;                              710   G4String daughter;
711   if (iIso3 == +2) {                           << 711   if (iIso3 == +2) { 
712     daughter = "pi+";                          << 712     daughter = "pi+";  
713   }                                            << 713   } else if (iIso3 == 0) { 
714   else if (iIso3 == 0) {                       << 714     daughter = "pi0";  
715     daughter = "pi0";                          << 715   } else if (iIso3 ==-2) { 
716   }                                            << 716     daughter = "pi-";  
717   else if (iIso3 == -2) {                      << 717   } else {
718     daughter = "pi-";                          << 718     return decayTable; 
719   }                                            << 719   } 
720   else {                                       << 
721     return decayTable;                         << 
722   }                                            << 
723   // create decay channel  [parent    BR     #    720   // create decay channel  [parent    BR     #daughters]
724   mode = new G4PhaseSpaceDecayChannel(namePare << 721   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 722                                            daughter,"eta");
725   // add decay table                              723   // add decay table
726   decayTable->Insert(mode);                       724   decayTable->Insert(mode);
727                                                   725 
728   return decayTable;                              726   return decayTable;
729 }                                                 727 }
730                                                   728 
731 G4DecayTable* G4ExcitedMesonConstructor::AddRh << 729 G4DecayTable*  G4ExcitedMesonConstructor::AddRhoEtaMode( 
732                                                << 730                                    G4DecayTable* decayTable, const G4String& nameParent,
733                                                << 731                                     G4double br, G4int iIso3, G4int iIso)
734 {                                                 732 {
735   if ((iIso != 2) && (iIso != 0)) return decay << 733   if ((iIso!=2)&&(iIso!=0)) return decayTable;
736                                                   734 
737   G4VDecayChannel* mode;                          735   G4VDecayChannel* mode;
738   //                                           << 736   // 
739   G4String daughter;                              737   G4String daughter;
740   if (iIso3 == +2) {                           << 738   if (iIso3 == +2) { 
741     daughter = "rho+";                         << 739     daughter = "rho+";  
742   }                                            << 740   } else if (iIso3 == 0) { 
743   else if (iIso3 == 0) {                       << 741     daughter = "rho0";  
744     daughter = "rho0";                         << 742   } else if (iIso3 ==-2) { 
745   }                                            << 743     daughter = "rho-";  
746   else if (iIso3 == -2) {                      << 744   } else {
747     daughter = "rho-";                         << 745     return decayTable; 
748   }                                            << 746   } 
749   else {                                       << 
750     return decayTable;                         << 
751   }                                            << 
752   // create decay channel  [parent    BR     #    747   // create decay channel  [parent    BR     #daughters]
753   mode = new G4PhaseSpaceDecayChannel(namePare << 748   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 749                                            daughter,"eta");
754   // add decay table                              750   // add decay table
755   decayTable->Insert(mode);                       751   decayTable->Insert(mode);
756                                                   752 
757   return decayTable;                              753   return decayTable;
758 }                                                 754 }
759                                                   755 
760 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 756 G4DecayTable*  G4ExcitedMesonConstructor::AddPiF2Mode( 
761                                                << 757                                    G4DecayTable* decayTable, const G4String& nameParent,
762                                                << 758                                     G4double br, G4int iIso3, G4int iIso)
763 {                                                 759 {
764   if ((iIso != 2) && (iIso != 0)) return decay << 760   if ((iIso!=2)&&(iIso!=0)) return decayTable;
765                                                   761 
766   G4VDecayChannel* mode;                          762   G4VDecayChannel* mode;
767   //                                           << 763   // 
768   G4String daughter;                              764   G4String daughter;
769   if (iIso3 == +2) {                           << 765   if (iIso3 == +2) { 
770     daughter = "pi+";                          << 766     daughter = "pi+";  
771   }                                            << 767   } else if (iIso3 == 0) { 
772   else if (iIso3 == 0) {                       << 768     daughter = "pi0";  
773     daughter = "pi0";                          << 769   } else if (iIso3 ==-2) { 
774   }                                            << 770     daughter = "pi-";  
775   else if (iIso3 == -2) {                      << 771   } else {
776     daughter = "pi-";                          << 772     return decayTable; 
777   }                                            << 773   } 
778   else {                                       << 
779     return decayTable;                         << 
780   }                                            << 
781   // create decay channel  [parent    BR     #    774   // create decay channel  [parent    BR     #daughters]
782   mode = new G4PhaseSpaceDecayChannel(namePare << 775   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 776                                            daughter,"f2(1270)");
783   // add decay table                              777   // add decay table
784   decayTable->Insert(mode);                       778   decayTable->Insert(mode);
785                                                   779 
786   return decayTable;                              780   return decayTable;
787 }                                                 781 }
788                                                   782 
789 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 783 G4DecayTable*  G4ExcitedMesonConstructor::AddPiF0Mode( 
790                                                << 784                                    G4DecayTable* decayTable, const G4String& nameParent,
791                                                << 785                                     G4double br, G4int iIso3, G4int iIso)
792 {                                                 786 {
793   if ((iIso != 2) && (iIso != 0)) return decay << 787   if ((iIso!=2)&&(iIso!=0)) return decayTable;
794                                                   788 
795   G4VDecayChannel* mode;                          789   G4VDecayChannel* mode;
796   //                                           << 790   // 
797   G4String daughter;                              791   G4String daughter;
798   if (iIso3 == +2) {                           << 792   if (iIso3 == +2) { 
799     daughter = "pi+";                          << 793     daughter = "pi+";  
800   }                                            << 794   } else if (iIso3 == 0) { 
801   else if (iIso3 == 0) {                       << 795     daughter = "pi0";  
802     daughter = "pi0";                          << 796   } else if (iIso3 ==-2) { 
803   }                                            << 797     daughter = "pi-";  
804   else if (iIso3 == -2) {                      << 798   } else {
805     daughter = "pi-";                          << 799     return decayTable; 
806   }                                            << 800   } 
807   else {                                       << 
808     return decayTable;                         << 
809   }                                            << 
810   // create decay channel  [parent    BR     #    801   // create decay channel  [parent    BR     #daughters]
811   mode = new G4PhaseSpaceDecayChannel(namePare << 802   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 803                                            daughter,"f0(1370)");
812   // add decay table                              804   // add decay table
813   decayTable->Insert(mode);                       805   decayTable->Insert(mode);
814   return decayTable;                              806   return decayTable;
815 }                                                 807 }
816                                                   808 
817 G4DecayTable* G4ExcitedMesonConstructor::Add2P << 809 
818                                                << 810 G4DecayTable*  G4ExcitedMesonConstructor::Add2PiMode( 
819                                                << 811                                     G4DecayTable* decayTable, const G4String& nameParent,
                                                   >> 812                                     G4double br, G4int iIso3, G4int iIso)
820 {                                                 813 {
821   G4VDecayChannel* mode;                          814   G4VDecayChannel* mode;
822                                                   815 
823   G4String daughterPi1;                           816   G4String daughterPi1;
824   G4String daughterPi2;                           817   G4String daughterPi2;
825   G4double r;                                  << 818   G4double r; 
826                                                   819 
827   // I = 0 states                                 820   // I = 0 states
828   if (iIso == 0) {                             << 821   if (iIso==0) {
829     if (iIso3 == 0) {                          << 822     if (iIso3==0) {
830       // pi+ + pi-                             << 823      // pi+ + pi-
831       daughterPi1 = "pi+";                        824       daughterPi1 = "pi+";
832       daughterPi2 = "pi-";                        825       daughterPi2 = "pi-";
833       r = br * 2. / 3.;                        << 826       r = br*2./3.;
834       mode = new G4PhaseSpaceDecayChannel(name << 827       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 828             daughterPi1,daughterPi2);
835       decayTable->Insert(mode);                   829       decayTable->Insert(mode);
836                                                   830 
837       // pi0 + pi0                                831       // pi0 + pi0
838       daughterPi1 = "pi0";                        832       daughterPi1 = "pi0";
839       daughterPi2 = "pi0";                        833       daughterPi2 = "pi0";
840       r = br * 1. / 3.;                        << 834       r = br*1./3.;
841       mode = new G4PhaseSpaceDecayChannel(name << 835       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
842       decayTable->Insert(mode);                << 836             daughterPi1,daughterPi2);
843     }                                          << 837       decayTable->Insert(mode);
844   }                                            << 838     } 
845   else if (iIso == 2) {                        << 839   } else if (iIso==2) {
846     if (iIso3 == +2) {                         << 840     if (iIso3==+2) {
847       // pi+ + pi0                                841       // pi+ + pi0
848       daughterPi1 = "pi+";                        842       daughterPi1 = "pi+";
849       daughterPi2 = "pi0";                        843       daughterPi2 = "pi0";
850       r = br;                                     844       r = br;
851       mode = new G4PhaseSpaceDecayChannel(name << 845             mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 846             daughterPi1,daughterPi2);
852       // add decay table                          847       // add decay table
853       decayTable->Insert(mode);                   848       decayTable->Insert(mode);
854     }                                          << 849     } else if (iIso3==0) {
855     else if (iIso3 == 0) {                     << 850        // pi+ + pi-
856       // pi+ + pi-                             << 
857       daughterPi1 = "pi+";                        851       daughterPi1 = "pi+";
858       daughterPi2 = "pi-";                        852       daughterPi2 = "pi-";
859       r = br;                                     853       r = br;
860       mode = new G4PhaseSpaceDecayChannel(name << 854       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 855             daughterPi1,daughterPi2);
861       decayTable->Insert(mode);                   856       decayTable->Insert(mode);
862     }                                          << 857      } else if (iIso3==-2) {
863     else if (iIso3 == -2) {                    << 858        // pi- + pi0
864       // pi- + pi0                             << 
865       daughterPi1 = "pi-";                        859       daughterPi1 = "pi-";
866       daughterPi2 = "pi0";                        860       daughterPi2 = "pi0";
867       r = br;                                     861       r = br;
868       mode = new G4PhaseSpaceDecayChannel(name << 862       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 863             daughterPi1,daughterPi2);
869       decayTable->Insert(mode);                   864       decayTable->Insert(mode);
870     }                                             865     }
871   }                                               866   }
872   return decayTable;                              867   return decayTable;
873 }                                                 868 }
874                                                   869 
875 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 870 G4DecayTable*  G4ExcitedMesonConstructor::AddPiRhoMode( 
876                                                << 871                                     G4DecayTable* decayTable, const G4String& nameParent,
877                                                << 872                                     G4double br, G4int iIso3, G4int iIso)
878 {                                                 873 {
879   G4VDecayChannel* mode;                          874   G4VDecayChannel* mode;
880                                                   875 
881   G4String daughterPi;                            876   G4String daughterPi;
882   G4String daughterRho;                           877   G4String daughterRho;
883   G4double r;                                  << 878   G4double r; 
884                                                   879 
885   // I = 0 states                                 880   // I = 0 states
886   if (iIso == 0) {                             << 881   if (iIso==0) {
887     if (iIso3 == 0) {                          << 882     if (iIso3==0) {
888       // pi+ + rho-                               883       // pi+ + rho-
889       daughterPi = "pi+";                         884       daughterPi = "pi+";
890       daughterRho = "rho-";                       885       daughterRho = "rho-";
891       r = br / 3.;                             << 886       r = br/3.;
892       mode = new G4PhaseSpaceDecayChannel(name << 887       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 888             daughterPi,daughterRho);
893       decayTable->Insert(mode);                   889       decayTable->Insert(mode);
894                                                << 890       
895       // pi0 + rho0                               891       // pi0 + rho0
896       daughterPi = "pi0";                         892       daughterPi = "pi0";
897       daughterRho = "rho0";                       893       daughterRho = "rho0";
898       r = br * 1. / 3.;                        << 894       r = br*1./3.;
899       mode = new G4PhaseSpaceDecayChannel(name << 895       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 896             daughterPi,daughterRho);
900       decayTable->Insert(mode);                   897       decayTable->Insert(mode);
901                                                << 898       
902       // pi- + rho+                               899       // pi- + rho+
903       daughterPi = "pi-";                         900       daughterPi = "pi-";
904       daughterRho = "rho+";                       901       daughterRho = "rho+";
905       r = br * 1. / 3.;                        << 902       r = br*1./3.;
906       mode = new G4PhaseSpaceDecayChannel(name << 903       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
907       decayTable->Insert(mode);                << 904             daughterPi,daughterRho);
908     }                                          << 905       decayTable->Insert(mode);
909   }                                            << 906     } 
910   else if (iIso == 2) {                        << 907   } else if (iIso==2) {
911     if (iIso3 == +2) {                         << 908     if (iIso3==+2) {
912       // pi+ + rho0                               909       // pi+ + rho0
913       daughterPi = "pi+";                         910       daughterPi = "pi+";
914       daughterRho = "rho0";                       911       daughterRho = "rho0";
915       r = br / 2.;                             << 912       r = br/2.;
916       mode = new G4PhaseSpaceDecayChannel(name << 913       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 914             daughterPi,daughterRho);
917       decayTable->Insert(mode);                   915       decayTable->Insert(mode);
918                                                << 916  
919       // pi0 + rho+                               917       // pi0 + rho+
920       daughterPi = "pi0";                         918       daughterPi = "pi0";
921       daughterRho = "rho+";                       919       daughterRho = "rho+";
922       r = br / 2.;                             << 920       r = br/2.;
923       mode = new G4PhaseSpaceDecayChannel(name << 921       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 922             daughterPi,daughterRho);
924       decayTable->Insert(mode);                   923       decayTable->Insert(mode);
925     }                                          << 924     } else if (iIso3==0) {
926     else if (iIso3 == 0) {                     << 925        // pi+ + rho-
927       // pi+ + rho-                            << 
928       daughterPi = "pi+";                         926       daughterPi = "pi+";
929       daughterRho = "rho-";                       927       daughterRho = "rho-";
930       r = br / 2.;                             << 928       r = br/2.;
931       mode = new G4PhaseSpaceDecayChannel(name << 929       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 930             daughterPi,daughterRho);
932       decayTable->Insert(mode);                   931       decayTable->Insert(mode);
933                                                   932 
934       // pi- + rho+                            << 933        // pi- + rho+
935       daughterPi = "pi-";                         934       daughterPi = "pi-";
936       daughterRho = "rho+";                       935       daughterRho = "rho+";
937       r = br / 2.;                             << 936       r = br/2.;
938       mode = new G4PhaseSpaceDecayChannel(name << 937       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 938             daughterPi,daughterRho);
939       decayTable->Insert(mode);                   939       decayTable->Insert(mode);
940     }                                          << 940      } else if (iIso3==-2) {
941     else if (iIso3 == -2) {                    << 941        // pi- + rho0
942       // pi- + rho0                            << 
943       daughterPi = "pi-";                         942       daughterPi = "pi-";
944       daughterRho = "rho0";                       943       daughterRho = "rho0";
945       r = br / 2.;                             << 944       r = br/2.;
946       mode = new G4PhaseSpaceDecayChannel(name << 945       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 946             daughterPi,daughterRho);
947       decayTable->Insert(mode);                   947       decayTable->Insert(mode);
948                                                << 948     
949       // pi0 + rho-                               949       // pi0 + rho-
950       daughterPi = "pi0";                         950       daughterPi = "pi0";
951       daughterRho = "rho-";                       951       daughterRho = "rho-";
952       r = br / 2.;                             << 952       r = br/2.;
953       mode = new G4PhaseSpaceDecayChannel(name << 953       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 954             daughterPi,daughterRho);
954       decayTable->Insert(mode);                   955       decayTable->Insert(mode);
955     }                                             956     }
956   }                                               957   }
957   return decayTable;                              958   return decayTable;
958 }                                                 959 }
959                                                   960 
960 G4DecayTable* G4ExcitedMesonConstructor::AddPi << 961 G4DecayTable*  G4ExcitedMesonConstructor::AddPiA2Mode( 
961                                                << 962                                     G4DecayTable* decayTable, const G4String& nameParent,
962                                                << 963                                     G4double br, G4int iIso3, G4int iIso)
963 {                                                 964 {
964   G4VDecayChannel* mode;                          965   G4VDecayChannel* mode;
965                                                   966 
966   G4String daughterPi;                            967   G4String daughterPi;
967   G4String daughterA2;                            968   G4String daughterA2;
968   G4double r;                                  << 969   G4double r; 
969                                                   970 
970   // I = 0 states                                 971   // I = 0 states
971   if (iIso == 0) {                             << 972   if (iIso==0) {
972     if (iIso3 == 0) {                          << 973     if (iIso3==0) {
973       // pi+ + a2(1320)-                          974       // pi+ + a2(1320)-
974       daughterPi = "pi+";                         975       daughterPi = "pi+";
975       daughterA2 = "a2(1320)-";                   976       daughterA2 = "a2(1320)-";
976       r = br / 3.;                             << 977       r = br/3.;
977       mode = new G4PhaseSpaceDecayChannel(name << 978       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 979             daughterPi,daughterA2);
978       decayTable->Insert(mode);                   980       decayTable->Insert(mode);
979                                                << 981       
980       // pi0 + a2(1320)0                          982       // pi0 + a2(1320)0
981       daughterPi = "pi0";                         983       daughterPi = "pi0";
982       daughterA2 = "a2(1320)0";                   984       daughterA2 = "a2(1320)0";
983       r = br * 1. / 3.;                        << 985       r = br*1./3.;
984       mode = new G4PhaseSpaceDecayChannel(name << 986       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 987             daughterPi,daughterA2);
985       decayTable->Insert(mode);                   988       decayTable->Insert(mode);
986                                                << 989       
987       // pi- + a2(1320)+                          990       // pi- + a2(1320)+
988       daughterPi = "pi-";                         991       daughterPi = "pi-";
989       daughterA2 = "a2(1320)+";                   992       daughterA2 = "a2(1320)+";
990       r = br * 1. / 3.;                        << 993       r = br*1./3.;
991       mode = new G4PhaseSpaceDecayChannel(name << 994       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
992       decayTable->Insert(mode);                << 995             daughterPi,daughterA2);
993     }                                          << 996       decayTable->Insert(mode);
994   }                                            << 997     } 
995   else if (iIso == 2) {                        << 998   } else if (iIso==2) {
996     if (iIso3 == +2) {                         << 999     if (iIso3==+2) {
997       // pi+ + a2(1320)0                          1000       // pi+ + a2(1320)0
998       daughterPi = "pi+";                         1001       daughterPi = "pi+";
999       daughterA2 = "a2(1320)0";                   1002       daughterA2 = "a2(1320)0";
1000       r = br / 2.;                            << 1003       r = br/2.;
1001       mode = new G4PhaseSpaceDecayChannel(nam << 1004       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 1005             daughterPi,daughterA2);
1002       decayTable->Insert(mode);                  1006       decayTable->Insert(mode);
1003                                               << 1007  
1004       // pi0 + a2(1320)+                         1008       // pi0 + a2(1320)+
1005       daughterPi = "pi0";                        1009       daughterPi = "pi0";
1006       daughterA2 = "a2(1320)+";                  1010       daughterA2 = "a2(1320)+";
1007       r = br / 2.;                            << 1011       r = br/2.;
1008       mode = new G4PhaseSpaceDecayChannel(nam << 1012       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 1013             daughterPi,daughterA2);
1009       decayTable->Insert(mode);                  1014       decayTable->Insert(mode);
1010     }                                         << 1015     } else if (iIso3==0) {
1011     else if (iIso3 == 0) {                    << 1016        // pi+ + a2(1320)-
1012       // pi+ + a2(1320)-                      << 
1013       daughterPi = "pi+";                        1017       daughterPi = "pi+";
1014       daughterA2 = "a2(1320)-";                  1018       daughterA2 = "a2(1320)-";
1015       r = br / 2.;                            << 1019       r = br/2.;
1016       mode = new G4PhaseSpaceDecayChannel(nam << 1020       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 1021             daughterPi,daughterA2);
1017       decayTable->Insert(mode);                  1022       decayTable->Insert(mode);
1018                                                  1023 
1019       // pi- + a2(1320)+                      << 1024        // pi- + a2(1320)+
1020       daughterPi = "pi-";                        1025       daughterPi = "pi-";
1021       daughterA2 = "a2(1320)+";                  1026       daughterA2 = "a2(1320)+";
1022       r = br / 2.;                            << 1027       r = br/2.;
1023       mode = new G4PhaseSpaceDecayChannel(nam << 1028       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 1029             daughterPi,daughterA2);
1024       decayTable->Insert(mode);                  1030       decayTable->Insert(mode);
1025     }                                         << 1031      } else if (iIso3==-2) {
1026     else if (iIso3 == -2) {                   << 1032        // pi- + a2(1320)0
1027       // pi- + a2(1320)0                      << 
1028       daughterPi = "pi-";                        1033       daughterPi = "pi-";
1029       daughterA2 = "a2(1320)0";                  1034       daughterA2 = "a2(1320)0";
1030       r = br / 2.;                            << 1035       r = br/2.;
1031       mode = new G4PhaseSpaceDecayChannel(nam << 1036       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 1037             daughterPi,daughterA2);
1032       decayTable->Insert(mode);                  1038       decayTable->Insert(mode);
1033                                               << 1039     
1034       // pi0 + a2(1320)-                         1040       // pi0 + a2(1320)-
1035       daughterPi = "pi0";                        1041       daughterPi = "pi0";
1036       daughterA2 = "a2(1320)-";                  1042       daughterA2 = "a2(1320)-";
1037       r = br / 2.;                            << 1043       r = br/2.;
1038       mode = new G4PhaseSpaceDecayChannel(nam << 1044       mode = new G4PhaseSpaceDecayChannel(nameParent, r, 2,
                                                   >> 1045             daughterPi,daughterA2);
1039       decayTable->Insert(mode);                  1046       decayTable->Insert(mode);
1040     }                                            1047     }
1041   }                                              1048   }
1042   return decayTable;                             1049   return decayTable;
1043 }                                                1050 }
1044                                                  1051 
1045 G4DecayTable* G4ExcitedMesonConstructor::Add3 << 1052 G4DecayTable*  G4ExcitedMesonConstructor::Add3PiMode( 
1046                                               << 1053                                     G4DecayTable* decayTable, const G4String& nameParent,
1047                                               << 1054                                     G4double br, G4int iIso3, G4int iIso)
1048 {                                                1055 {
1049   G4VDecayChannel* mode;                         1056   G4VDecayChannel* mode;
1050                                                  1057 
1051   // I =0 state                                  1058   // I =0 state
1052   // This mode is X(I=0,J=1) --> pi+,pi-,pi0     1059   // This mode is X(I=0,J=1) --> pi+,pi-,pi0 mode
1053   if (iIso == 0) {                            << 1060   if (iIso==0) {
1054     // pi+ + pi-                                 1061     // pi+ + pi-
1055     mode = new G4PhaseSpaceDecayChannel(nameP << 1062     mode = new G4PhaseSpaceDecayChannel(nameParent, br, 3,
                                                   >> 1063           "pi+","pi-","pi0");
1056     decayTable->Insert(mode);                    1064     decayTable->Insert(mode);
1057   }                                           << 1065   } else if (iIso==2) {
1058   else if (iIso == 2) {                       << 1066   // This mode is X(I=1) --> pi + pipi(I=0) mode
1059     // This mode is X(I=1) --> pi + pipi(I=0) << 1067     if (iIso3==+2) {
1060     if (iIso3 == +2) {                        << 1068       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
1061       mode = new G4PhaseSpaceDecayChannel(nam << 1069           "pi+","pi0","pi0");
1062       decayTable->Insert(mode);                  1070       decayTable->Insert(mode);
1063       mode = new G4PhaseSpaceDecayChannel(nam << 1071       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
                                                   >> 1072           "pi+","pi+","pi-");
1064       decayTable->Insert(mode);                  1073       decayTable->Insert(mode);
1065     }                                         << 1074     } else if (iIso3==0) {
1066     else if (iIso3 == 0) {                    << 1075       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
1067       mode = new G4PhaseSpaceDecayChannel(nam << 1076           "pi0","pi0","pi0");
1068       decayTable->Insert(mode);                  1077       decayTable->Insert(mode);
1069       mode = new G4PhaseSpaceDecayChannel(nam << 1078       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
                                                   >> 1079           "pi0","pi+","pi-");
1070       decayTable->Insert(mode);                  1080       decayTable->Insert(mode);
1071     }                                         << 1081     } else if (iIso3==-2) {
1072     else if (iIso3 == -2) {                   << 1082       mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
1073       mode = new G4PhaseSpaceDecayChannel(nam << 1083           "pi-","pi0","pi0");
1074       decayTable->Insert(mode);                  1084       decayTable->Insert(mode);
1075       mode = new G4PhaseSpaceDecayChannel(nam << 1085       mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
                                                   >> 1086           "pi-","pi+","pi-");
1076       decayTable->Insert(mode);                  1087       decayTable->Insert(mode);
1077     }                                            1088     }
1078   }                                           << 1089   } 
1079   return decayTable;                             1090   return decayTable;
1080 }                                                1091 }
1081                                                  1092 
1082 G4DecayTable* G4ExcitedMesonConstructor::Add4 << 1093 G4DecayTable*  G4ExcitedMesonConstructor::Add4PiMode( 
1083                                               << 1094                                     G4DecayTable* decayTable, const G4String& nameParent,
1084                                               << 1095                                     G4double br, G4int iIso3, G4int )
1085 {                                                1096 {
1086   G4VDecayChannel* mode;                         1097   G4VDecayChannel* mode;
1087                                                  1098 
1088   if (iIso3 == 0) {                           << 1099   if (iIso3==0) {
1089     // 2pi+ + 2pi-                               1100     // 2pi+ + 2pi-
1090     mode = new G4PhaseSpaceDecayChannel(nameP << 1101     mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 4,
                                                   >> 1102           "pi+","pi-","pi+","pi-");
1091     decayTable->Insert(mode);                    1103     decayTable->Insert(mode);
1092     // pi+ + pi- + 2pi0                       << 1104     // pi+ + pi- + 2pi0 
1093     mode = new G4PhaseSpaceDecayChannel(nameP << 1105     mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 4,
                                                   >> 1106           "pi+","pi-","pi0","pi0");
1094     decayTable->Insert(mode);                    1107     decayTable->Insert(mode);
1095   }                                           << 1108   } else if (iIso3==+2) {
1096   else if (iIso3 == +2) {                     << 
1097     // pi+ + 3pi0                                1109     // pi+ + 3pi0
1098     mode = new G4PhaseSpaceDecayChannel(nameP << 1110     mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 4,
                                                   >> 1111           "pi+","pi0","pi0","pi0");
1099     decayTable->Insert(mode);                    1112     decayTable->Insert(mode);
1100     // 2pi+ + pi- + pi0                          1113     // 2pi+ + pi- + pi0
1101     mode = new G4PhaseSpaceDecayChannel(nameP << 1114     mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 4,
                                                   >> 1115           "pi+","pi+","pi-","pi0");
1102     decayTable->Insert(mode);                    1116     decayTable->Insert(mode);
1103   }                                           << 1117   } else if (iIso3==-2) {
1104   else if (iIso3 == -2) {                     << 
1105     // pi- + 3pi0                                1118     // pi- + 3pi0
1106     mode = new G4PhaseSpaceDecayChannel(nameP << 1119     mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 4,
                                                   >> 1120           "pi-","pi0","pi0","pi0");
1107     decayTable->Insert(mode);                    1121     decayTable->Insert(mode);
1108     // 2pi- + pi+ + pi0                          1122     // 2pi- + pi+ + pi0
1109     mode = new G4PhaseSpaceDecayChannel(nameP << 1123     mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 4,
                                                   >> 1124           "pi-","pi-","pi+","pi0");
1110     decayTable->Insert(mode);                    1125     decayTable->Insert(mode);
1111   }                                              1126   }
1112   return decayTable;                             1127   return decayTable;
1113 }                                                1128 }
1114                                                  1129 
1115 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1130 G4DecayTable*  G4ExcitedMesonConstructor::Add2PiEtaMode( 
1116                                               << 1131                                     G4DecayTable* decayTable, const G4String& nameParent,
1117                                               << 1132                                     G4double br, G4int , G4int iIso)
1118 {                                                1133 {
1119   // f1-->eta + pi + pi mode                     1134   // f1-->eta + pi + pi mode
1120                                                  1135 
1121   if (iIso != 0) return decayTable;           << 1136   if (iIso!=0) return decayTable;
1122                                                  1137 
1123   G4VDecayChannel* mode;                         1138   G4VDecayChannel* mode;
1124                                                  1139 
1125   // eta pi+ pi-                                 1140   // eta pi+ pi-
1126   mode = new G4PhaseSpaceDecayChannel(namePar << 1141   mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
                                                   >> 1142                   "eta","pi+","pi-");
1127   decayTable->Insert(mode);                      1143   decayTable->Insert(mode);
1128                                                  1144 
1129   // eta pi+ pi-                                 1145   // eta pi+ pi-
1130   mode = new G4PhaseSpaceDecayChannel(namePar << 1146   mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
                                                   >> 1147                   "eta","pi0","pi0");
1131   decayTable->Insert(mode);                      1148   decayTable->Insert(mode);
1132   return decayTable;                             1149   return decayTable;
1133 }                                                1150 }
1134                                                  1151 
1135 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1152 G4DecayTable*  G4ExcitedMesonConstructor::Add2EtaMode( 
1136                                               << 1153                                     G4DecayTable* decayTable, const G4String& nameParent,
1137                                               << 1154                                     G4double br, G4int , G4int iIso)
1138 {                                                1155 {
1139   if (iIso != 0) return decayTable;           << 1156   if (iIso!=0) return decayTable;
1140                                                  1157 
1141   G4VDecayChannel* mode;                         1158   G4VDecayChannel* mode;
1142                                                  1159 
1143   // eta eta                                     1160   // eta eta
1144   mode = new G4PhaseSpaceDecayChannel(namePar << 1161   mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 1162                   "eta","eta");
1145   decayTable->Insert(mode);                      1163   decayTable->Insert(mode);
1146   return decayTable;                             1164   return decayTable;
1147 }                                                1165 }
1148                                                  1166 
1149 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1167 G4DecayTable*  G4ExcitedMesonConstructor::Add2PiOmegaMode( 
1150                                               << 1168                                     G4DecayTable* decayTable, const G4String& nameParent,
1151                                               << 1169                                     G4double br, G4int iIso3, G4int iIso)
1152 {                                                1170 {
                                                   >> 1171 
1153   G4VDecayChannel* mode;                         1172   G4VDecayChannel* mode;
1154   if (iIso == 0) {                            << 1173   if (iIso==0) {
1155     // omega pi+ pi-                             1174     // omega pi+ pi-
1156     mode = new G4PhaseSpaceDecayChannel(nameP << 1175     mode = new G4PhaseSpaceDecayChannel(nameParent, br*2./3., 3,
                                                   >> 1176                   "omega","pi+","pi-");
1157     decayTable->Insert(mode);                    1177     decayTable->Insert(mode);
1158                                                  1178 
1159     // omega pi+ pi-                             1179     // omega pi+ pi-
1160     mode = new G4PhaseSpaceDecayChannel(nameP << 1180     mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
                                                   >> 1181                   "omega","pi0","pi0");
1161     decayTable->Insert(mode);                    1182     decayTable->Insert(mode);
1162   }                                           << 1183   } else if (iIso==2) {
1163   else if (iIso == 2) {                       << 1184     if (iIso3==+2) {
1164     if (iIso3 == +2) {                        << 
1165       // omega pi+ pi0                           1185       // omega pi+ pi0
1166       mode = new G4PhaseSpaceDecayChannel(nam << 1186       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 3,
                                                   >> 1187                   "omega","pi+","pi0");
1167       decayTable->Insert(mode);                  1188       decayTable->Insert(mode);
1168     }                                         << 1189     } else if (iIso3==0) {
1169     else if (iIso3 == 0) {                    << 
1170       // omega pi+ pi-                           1190       // omega pi+ pi-
1171       mode = new G4PhaseSpaceDecayChannel(nam << 1191       mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 3,
                                                   >> 1192                   "omega","pi-","pi+");
1172       decayTable->Insert(mode);                  1193       decayTable->Insert(mode);
1173       // omega pi0 pi0                           1194       // omega pi0 pi0
1174       mode = new G4PhaseSpaceDecayChannel(nam << 1195       mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 3,
                                                   >> 1196                   "omega","pi0","pi0");
1175       decayTable->Insert(mode);                  1197       decayTable->Insert(mode);
1176     }                                         << 1198      } else if (iIso3==-2) {
1177     else if (iIso3 == -2) {                   << 
1178       // omega pi- pi0                           1199       // omega pi- pi0
1179       mode = new G4PhaseSpaceDecayChannel(nam << 1200       mode = new G4PhaseSpaceDecayChannel(nameParent, br, 3,
                                                   >> 1201                   "omega","pi-","pi0");
1180       decayTable->Insert(mode);                  1202       decayTable->Insert(mode);
1181     }                                         << 1203      }
1182   }                                              1204   }
1183   return decayTable;                             1205   return decayTable;
1184 }                                                1206 }
                                                   >> 1207   
1185                                                  1208 
1186 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1209 
1187                                               << 1210 G4DecayTable*  G4ExcitedMesonConstructor::Add2PiRhoMode( 
1188                                               << 1211                                     G4DecayTable* decayTable, const G4String& nameParent,
                                                   >> 1212                                     G4double br, G4int iIso3, G4int iIso)
1189 {                                                1213 {
1190   G4VDecayChannel* mode;                         1214   G4VDecayChannel* mode;
1191                                                  1215 
1192   if (iIso == 0) {                            << 1216   if (iIso==0) {
1193     // f1 --> rho0 + pi+ pi-                     1217     // f1 --> rho0 + pi+ pi-
1194     // rho0 pi+ pi-                              1218     // rho0 pi+ pi-
1195     mode = new G4PhaseSpaceDecayChannel(nameP << 1219     mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1220                   "rho0","pi+","pi-");
1196     decayTable->Insert(mode);                    1221     decayTable->Insert(mode);
1197   }                                           << 1222   } else if (iIso==2) {
1198   else if (iIso == 2) {                       << 1223     if (iIso3==+2) {
1199     if (iIso3 == +2) {                        << 
1200       // rho+ pi0 pi0                            1224       // rho+ pi0 pi0
1201       mode = new G4PhaseSpaceDecayChannel(nam << 1225       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1226                   "rho+","pi0","pi0");
1202       decayTable->Insert(mode);                  1227       decayTable->Insert(mode);
1203       // rho+ pi+ pi-                            1228       // rho+ pi+ pi-
1204       mode = new G4PhaseSpaceDecayChannel(nam << 1229       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1230                   "rho+","pi+","pi-");
1205       decayTable->Insert(mode);                  1231       decayTable->Insert(mode);
1206       // rho0 pi+ pi0                            1232       // rho0 pi+ pi0
1207       mode = new G4PhaseSpaceDecayChannel(nam << 1233       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1234                   "rho0","pi+","pi0");
1208       decayTable->Insert(mode);                  1235       decayTable->Insert(mode);
1209       // rho- pi+ pi+                            1236       // rho- pi+ pi+
1210       mode = new G4PhaseSpaceDecayChannel(nam << 1237       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1238                   "rho-","pi+","pi+");
1211       decayTable->Insert(mode);                  1239       decayTable->Insert(mode);
1212     }                                         << 1240     } else if (iIso3==-2) {
1213     else if (iIso3 == -2) {                   << 
1214       // rho- pi0 pi0                            1241       // rho- pi0 pi0
1215       mode = new G4PhaseSpaceDecayChannel(nam << 1242       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1243                   "rho-","pi0","pi0");
1216       decayTable->Insert(mode);                  1244       decayTable->Insert(mode);
1217       // rho- pi+ pi-                            1245       // rho- pi+ pi-
1218       mode = new G4PhaseSpaceDecayChannel(nam << 1246       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1247                   "rho-","pi+","pi-");
1219       decayTable->Insert(mode);                  1248       decayTable->Insert(mode);
1220       // rho0 pi- pi0                            1249       // rho0 pi- pi0
1221       mode = new G4PhaseSpaceDecayChannel(nam << 1250       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1251                   "rho0","pi-","pi0");
1222       decayTable->Insert(mode);                  1252       decayTable->Insert(mode);
1223       // rho+ pi- pi-                            1253       // rho+ pi- pi-
1224       mode = new G4PhaseSpaceDecayChannel(nam << 1254       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1255                   "rho+","pi-","pi-");
1225       decayTable->Insert(mode);                  1256       decayTable->Insert(mode);
1226     }                                         << 1257     } else if (iIso3==0) {
1227     else if (iIso3 == 0) {                    << 
1228       // rho+ pi- pi0                            1258       // rho+ pi- pi0
1229       mode = new G4PhaseSpaceDecayChannel(nam << 1259       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1260                   "rho+","pi-","pi0");
1230       decayTable->Insert(mode);                  1261       decayTable->Insert(mode);
1231       // rho0 pi+ pi-                            1262       // rho0 pi+ pi-
1232       mode = new G4PhaseSpaceDecayChannel(nam << 1263       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1264                   "rho0","pi+","pi-");
1233       decayTable->Insert(mode);                  1265       decayTable->Insert(mode);
1234       // rho0 pi0 pi0                            1266       // rho0 pi0 pi0
1235       mode = new G4PhaseSpaceDecayChannel(nam << 1267       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1268                   "rho0","pi0","pi0");
1236       decayTable->Insert(mode);                  1269       decayTable->Insert(mode);
1237       // rho- pi+ pi0                            1270       // rho- pi+ pi0
1238       mode = new G4PhaseSpaceDecayChannel(nam << 1271       mode = new G4PhaseSpaceDecayChannel(nameParent, br/5., 3,
                                                   >> 1272                   "rho-","pi+","pi-");
1239       decayTable->Insert(mode);                  1273       decayTable->Insert(mode);
1240     }                                            1274     }
1241   }                                              1275   }
1242   return decayTable;                             1276   return decayTable;
1243 }                                                1277 }
1244                                                  1278 
1245 G4DecayTable* G4ExcitedMesonConstructor::AddK << 1279 
1246                                               << 1280 G4DecayTable*  G4ExcitedMesonConstructor::AddKKStarMode( 
1247                                               << 1281                                     G4DecayTable* decayTable, const G4String& nameParent,
                                                   >> 1282                                     G4double br, G4int , G4int iIso)
1248 {                                                1283 {
1249   G4VDecayChannel* mode;                      << 1284   // X(I=0,J=1)-->K + Anti-K*, Anti_K + K* mode
1250                                                  1285 
1251   if (iIso3 == 0) {                           << 1286   if (iIso!=0) return decayTable;
1252     // X(I=0,J=1)-->K + Anti-K*, Anti_K + K*  << 
1253     // K+ + K*-                               << 
1254     mode = new G4PhaseSpaceDecayChannel(nameP << 
1255     decayTable->Insert(mode);                 << 
1256                                                  1287 
1257     // K- + K*+                               << 1288   G4VDecayChannel* mode;
1258     mode = new G4PhaseSpaceDecayChannel(nameP << 
1259     decayTable->Insert(mode);                 << 
1260                                                  1289 
1261     // K0 + Anti_K*0                          << 1290   // K+ + K*-
1262     mode = new G4PhaseSpaceDecayChannel(nameP << 1291   mode = new G4PhaseSpaceDecayChannel(nameParent, br/4., 2,
1263     decayTable->Insert(mode);                 << 1292                   "kaon+","k_star-");
                                                   >> 1293   decayTable->Insert(mode);
1264                                                  1294 
1265     // Anti_K0 + K*0                          << 1295   // K- + K*+
1266     mode = new G4PhaseSpaceDecayChannel(nameP << 1296   mode = new G4PhaseSpaceDecayChannel(nameParent, br/4., 2,
1267     decayTable->Insert(mode);                 << 1297                   "kaon-","k_star0");
1268   }                                           << 1298   decayTable->Insert(mode);
1269   else if (iIso3 == 2) {                      << 
1270     // K+ + Anti_K*0                          << 
1271     mode = new G4PhaseSpaceDecayChannel(nameP << 
1272     decayTable->Insert(mode);                 << 
1273                                                  1299 
1274     // K0 + K*+                               << 1300   // K0 + Anti_K*0
1275     mode = new G4PhaseSpaceDecayChannel(nameP << 1301   mode = new G4PhaseSpaceDecayChannel(nameParent, br/4., 2,
1276     decayTable->Insert(mode);                 << 1302                   "kaon0","anti_k_star0");
1277   }                                           << 1303   decayTable->Insert(mode);
1278   else if (iIso3 == -2) {                     << 1304 
1279     // K- + K*0                               << 1305   // Anti_K0 + K*0
1280     mode = new G4PhaseSpaceDecayChannel(nameP << 1306   mode = new G4PhaseSpaceDecayChannel(nameParent, br/4., 2,
1281     decayTable->Insert(mode);                 << 1307                   "anti_kaon0","k_star0");
                                                   >> 1308   decayTable->Insert(mode);
1282                                                  1309 
1283     // K0 + K*-                               << 
1284     mode = new G4PhaseSpaceDecayChannel(nameP << 
1285     decayTable->Insert(mode);                 << 
1286   }                                           << 
1287                                                  1310 
1288   return decayTable;                             1311   return decayTable;
1289 }                                                1312 }
1290                                                  1313 
1291 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1314 G4DecayTable*  G4ExcitedMesonConstructor::Add2KMode( 
1292                                               << 1315                                     G4DecayTable* decayTable, const G4String& nameParent,
1293                                               << 1316                                     G4double br, G4int iIso3, G4int )
1294 {                                                1317 {
1295   G4VDecayChannel* mode;                         1318   G4VDecayChannel* mode;
1296                                                  1319 
1297   if (iIso3 == 0) {                           << 1320   if (iIso3==0) {
1298     // K+ + K-                                   1321     // K+ + K-
1299     mode = new G4PhaseSpaceDecayChannel(nameP << 1322     mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 2,
                                                   >> 1323                   "kaon+","kaon-");
1300     decayTable->Insert(mode);                    1324     decayTable->Insert(mode);
1301                                               << 1325    
1302     // K0 + Anti_K0                              1326     // K0 + Anti_K0
1303     mode = new G4PhaseSpaceDecayChannel(nameP << 1327     mode = new G4PhaseSpaceDecayChannel(nameParent, br/2., 2,
                                                   >> 1328                 "kaon0","anti_kaon0");
1304     decayTable->Insert(mode);                    1329     decayTable->Insert(mode);
1305   }                                           << 1330   } else if  (iIso3==+2) {
1306   else if (iIso3 == +2) {                     << 
1307     // K+ + anti_K0                              1331     // K+ + anti_K0
1308     mode = new G4PhaseSpaceDecayChannel(nameP << 1332     mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 1333                   "kaon+","anti_kaon0");
1309     decayTable->Insert(mode);                    1334     decayTable->Insert(mode);
1310   }                                           << 1335   } else if  (iIso3==-2) {
1311   else if (iIso3 == -2) {                     << 
1312     // K- + K0                                   1336     // K- + K0
1313     mode = new G4PhaseSpaceDecayChannel(nameP << 1337     mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
                                                   >> 1338                   "kaon-","kaon0");
1314     decayTable->Insert(mode);                    1339     decayTable->Insert(mode);
1315   }                                           << 1340   }   
1316                                               << 1341    
1317   return decayTable;                             1342   return decayTable;
1318 }                                                1343 }
1319                                                  1344 
1320 G4DecayTable* G4ExcitedMesonConstructor::Add2 << 1345 G4DecayTable*  G4ExcitedMesonConstructor::Add2KPiMode( 
1321                                               << 1346                                     G4DecayTable* decayTable, const G4String& nameParent,
1322                                               << 1347                                     G4double br, G4int , G4int iIso)
1323 {                                                1348 {
1324   // X(I=0)-->KKpi                            << 1349 
1325   if (iIso != 0) return decayTable;           << 1350   // X(I=0)-->KKpi 
                                                   >> 1351   if (iIso!=0) return decayTable; 
1326                                                  1352 
1327   G4VDecayChannel* mode;                         1353   G4VDecayChannel* mode;
1328                                                  1354 
1329   // K+ + K- + pi0                               1355   // K+ + K- + pi0
1330   mode = new G4PhaseSpaceDecayChannel(namePar << 1356   mode = new G4PhaseSpaceDecayChannel(nameParent, br/6., 3,
                                                   >> 1357               "kaon+","kaon-","pi0");
1331   decayTable->Insert(mode);                      1358   decayTable->Insert(mode);
1332                                               << 1359   
1333   // K0 + Anti_K0 + pi0                          1360   // K0 + Anti_K0 + pi0
1334   mode = new G4PhaseSpaceDecayChannel(namePar << 1361   mode = new G4PhaseSpaceDecayChannel(nameParent, br/6., 3,
                                                   >> 1362               "kaon0","anti_kaon0","pi0");
1335   decayTable->Insert(mode);                      1363   decayTable->Insert(mode);
1336                                               << 1364   
1337   // K+ + anti_K0 + pi-                          1365   // K+ + anti_K0 + pi-
1338   mode = new G4PhaseSpaceDecayChannel(namePar << 1366   mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
                                                   >> 1367                   "kaon+","anti_kaon0","pi-");
1339   decayTable->Insert(mode);                      1368   decayTable->Insert(mode);
1340                                               << 1369   
1341   // K- + K0 + pi+                               1370   // K- + K0 + pi+
1342   mode = new G4PhaseSpaceDecayChannel(namePar << 1371   mode = new G4PhaseSpaceDecayChannel(nameParent, br/3., 3,
                                                   >> 1372                   "kaon-","kaon0","pi+");
1343   decayTable->Insert(mode);                      1373   decayTable->Insert(mode);
1344                                               << 1374  
                                                   >> 1375    
1345   return decayTable;                             1376   return decayTable;
1346 }                                                1377 }
1347                                                  1378 
1348 // clang-format off                           << 
1349                                               << 
1350 // PDG2005                                       1379 // PDG2005
1351 //   eta(1440)   is renamed to eta(1475)      << 1380 //   eta(1440)   is renamed to eta(1475)  
1352 //   omega(1600)  is renamed to omega(1650)      1381 //   omega(1600)  is renamed to omega(1650)
1353 //                                               1382 //
1354 //                                               1383 //
1355                                                  1384 
1356                                                  1385 
1357 const char* G4ExcitedMesonConstructor::name[G    1386 const char* G4ExcitedMesonConstructor::name[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ] =
1358 {                                                1387 {
1359   { "b1(1235)",   "h1(1170)",   "h1(1380)",      1388   { "b1(1235)",   "h1(1170)",   "h1(1380)",      "k1(1270)",      "k1(1270)" },
1360   { "a0(1450)",   "f0(1370)",           "", "    1389   { "a0(1450)",   "f0(1370)",           "", "k0_star(1430)", "k0_star(1430)" },
1361   { "a1(1260)",   "f1(1285)",   "f1(1420)",      1390   { "a1(1260)",   "f1(1285)",   "f1(1420)",      "k1(1400)",      "k1(1400)" },
1362   { "a2(1320)",   "f2(1270)","f2_prime(1525)"    1391   { "a2(1320)",   "f2(1270)","f2_prime(1525)","k2_star(1430)","k2_star(1430)"},
1363   {"pi2(1670)", "eta2(1645)", "eta2(1870)",      1392   {"pi2(1670)", "eta2(1645)", "eta2(1870)",      "k2(1770)",      "k2(1770)" },
1364   {"rho(1700)", "omega(1650)",          "",      1393   {"rho(1700)", "omega(1650)",          "",  "k_star(1680)",  "k_star(1680)" },
1365   {"rho3(1690)","omega3(1670)","phi3(1850)",  << 1394  {"rho3(1690)","omega3(1670)","phi3(1850)", "k3_star(1780)", "k3_star(1780)" },
1366   { "pi(1300)",  "eta(1295)",  "eta(1475)",      1395   { "pi(1300)",  "eta(1295)",  "eta(1475)",       "k(1460)",       "k(1460)" },
1367   {"rho(1450)","omega(1420)",  "phi(1680)",      1396   {"rho(1450)","omega(1420)",  "phi(1680)",  "k_star(1410)",  "k_star(1410)" },
1368   {         "",   "f2(1810)",   "f2(2010)", "    1397   {         "",   "f2(1810)",   "f2(2010)", "k2_star(1980)", "k2_star(1980)" }
1369 };                                               1398 };
1370                                                  1399 
1371 const G4double G4ExcitedMesonConstructor::mas << 1400 const G4double G4ExcitedMesonConstructor::mass[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ] = 
1372 {                                                1401 {
1373   {  1.2295*GeV, 1.166*GeV, 1.409*GeV, 1.253* << 1402   {  1.2295*GeV, 1.170*GeV, 1.386*GeV, 1.272*GeV,  1.272*GeV },
1374   {   1.439*GeV, 1.350*GeV,       0.0, 1.425* << 1403   {   1.474*GeV, 1.350*GeV,       0.0, 1.430*GeV,  1.430*GeV },
1375   {   1.230*GeV,1.2819*GeV,1.4263*GeV, 1.403* << 1404   {   1.230*GeV,1.2818*GeV,1.4264*GeV, 1.403*GeV,  1.403*GeV },
1376   {  1.3182*GeV,1.2750*GeV,1.5174*GeV,1.4273* << 1405   {  1.3183*GeV,1.2751*GeV, 1.525*GeV,1.4256*GeV, 1.4256*GeV },
1377   {  1.6706*GeV, 1.617*GeV, 1.842*GeV, 1.773* << 1406   {  1.6722*GeV, 1.617*GeV, 1.842*GeV, 1.773*GeV,  1.773*GeV },
1378   {   1.729*GeV, 1.670*GeV,       0.0, 1.718* << 1407   {   1.720*GeV, 1.670*GeV,       0.0, 1.717*GeV,  1.717*GeV },
1379   {  1.6888*GeV, 1.667*GeV, 1.854*GeV, 1.779* << 1408   {  1.6888*GeV, 1.667*GeV, 1.854*GeV, 1.776*GeV,  1.776*GeV },
1380   {   1.300*GeV, 1.294*GeV, 1.475*GeV, 1.482* << 1409   {   1.300*GeV, 1.294*GeV, 1.476*GeV, 1.460*GeV,  1.460*GeV },
1381   {   1.465*GeV, 1.410*GeV, 1.680*GeV, 1.414* << 1410   {   1.465*GeV, 1.425*GeV, 1.680*GeV, 1.414*GeV,  1.414*GeV },
1382   {         0.0, 1.815*GeV, 2.011*GeV, 1.994* << 1411   {         0.0, 1.815*GeV, 2.010*GeV, 1.973*GeV,  1.973*GeV }
1383 };                                               1412 };
1384                                                  1413 
1385 const G4double  G4ExcitedMesonConstructor::ma    1414 const G4double  G4ExcitedMesonConstructor::massKdiff[ G4ExcitedMesonConstructor::NMultiplets ] = {
1386   0.0*MeV,  0.0*MeV, 0.0*MeV, 6.8*MeV, 0.0*Me << 1415   0.0*MeV,  0.0*MeV, 0.0*MeV, 6.8*MeV, 0.0*MeV, 
1387     0.0*MeV,  0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*    1416     0.0*MeV,  0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*MeV
1388 };                                               1417 };
1389                                                  1418 
1390 const G4double  G4ExcitedMesonConstructor::wi    1419 const G4double  G4ExcitedMesonConstructor::widthKdiff[ G4ExcitedMesonConstructor::NMultiplets ] = {
1391   0.0*MeV,  0.0*MeV, 0.0*MeV, 10.5*MeV, 0.0*M << 1420   0.0*MeV,  0.0*MeV, 0.0*MeV, 10.5*MeV, 0.0*MeV, 
1392     0.0*MeV,  0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*    1421     0.0*MeV,  0.0*MeV, 0.0*MeV, 0.0*MeV, 0.0*MeV
1393 };                                               1422 };
1394                                                  1423 
1395 const G4double G4ExcitedMesonConstructor::wid << 1424 const G4double G4ExcitedMesonConstructor::width[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ] = 
1396 {                                                1425 {
1397   {  142.0*MeV, 375.0*MeV,  78.0*MeV,  90.0*M << 1426   {  142.0*MeV, 360.0*MeV,  91.0*MeV,  90.0*MeV,  90.0*MeV },
1398   {  258.0*MeV, 350.0*MeV,       0.0, 270.0*M << 1427   {  265.0*MeV, 350.0*MeV,       0.0, 270.0*MeV, 270.0*MeV },
1399   {  420.0*MeV,  22.7*MeV,  54.5*MeV, 174.0*M << 1428   {  420.0*MeV,  24.3*MeV,  54.9*MeV, 174.0*MeV, 174.0*MeV },
1400   {  107.0*MeV, 186.6*MeV,  86.0*MeV, 100.0*M << 1429   {  107.0*MeV, 185.1*MeV,  73.0*MeV,  98.5*MeV,  98.5*MeV },
1401   {  258.0*MeV, 181.0*MeV, 225.0*MeV, 186.0*M << 1430   {  260.0*MeV, 181.0*MeV, 225.0*MeV, 186.0*MeV, 186.0*MeV },
1402   {  250.0*MeV, 315.0*MeV,       0.0, 322.0*M << 1431   {  250.0*MeV, 315.0*MeV,       0.0, 320.0*MeV, 320.0*MeV },
1403   {  161.0*MeV, 168.0*MeV,  87.0*MeV, 161.0*M << 1432   {  161.0*MeV, 168.0*MeV,  87.0*MeV, 159.0*MeV, 159.0*MeV },
1404   {  400.0*MeV,  55.0*MeV,  90.0*MeV, 335.0*M << 1433   {  400.0*MeV,  55.0*MeV,  85.0*MeV, 260.0*MeV, 260.0*MeV },
1405   {  400.0*MeV, 290.0*MeV, 150.0*MeV, 232.0*M << 1434   {  400.0*MeV, 215.0*MeV, 150.0*MeV, 232.0*MeV, 232.0*MeV },
1406   {        0.0, 197.0*MeV, 202.0*MeV, 348.0*M << 1435   {        0.0, 197.0*MeV, 200.0*MeV, 373.0*MeV, 373.0*MeV }
1407 };                                               1436 };
1408                                                  1437 
1409                                                  1438 
1410 const G4int    G4ExcitedMesonConstructor::iIs    1439 const G4int    G4ExcitedMesonConstructor::iIsoSpin[] =
1411 {                                                1440 {
1412 //  Tpi  TEta  TEtaPrime   TK  TAntiK            1441 //  Tpi  TEta  TEtaPrime   TK  TAntiK
1413      2,     0,         0,   1,     1             1442      2,     0,         0,   1,     1
1414 };                                               1443 };
1415                                                  1444 
1416 const G4int    G4ExcitedMesonConstructor::iSp    1445 const G4int    G4ExcitedMesonConstructor::iSpin[] =
1417 {                                                1446 {
1418 //N   1     1     1     1     1     1     1      1447 //N   1     1     1     1     1     1     1     2     2     2
1419 //    1P1   3P0   3P1   3P2   1D2   3D1   3D3    1448 //    1P1   3P0   3P1   3P2   1D2   3D1   3D3   1S0   3S1   3P2
1420       2,    0,    2,    4,    4,    2,    6,     1449       2,    0,    2,    4,    4,    2,    6,    0,    2,    4
1421 };                                               1450 };
1422                                                  1451 
1423 const G4int    G4ExcitedMesonConstructor::iPa    1452 const G4int    G4ExcitedMesonConstructor::iParity[] =
1424 {                                                1453 {
1425 //N   1     1     1     1     1     1     1      1454 //N   1     1     1     1     1     1     1     2     2     2
1426 //    1P1   3P0   3P1   3P2   1D2   3D1   3D3    1455 //    1P1   3P0   3P1   3P2   1D2   3D1   3D3   1S0   3S1   3P2
1427      +1,   +1,   +1,   +1,   -1,   -1,   -1,     1456      +1,   +1,   +1,   +1,   -1,   -1,   -1,   -1,   -1,   +1
1428 };                                               1457 };
1429                                                  1458 
1430 const G4int    G4ExcitedMesonConstructor::iCh    1459 const G4int    G4ExcitedMesonConstructor::iChargeConjugation[] =
1431 {                                                1460 {
1432 //N   1     1     1     1     1     1     1      1461 //N   1     1     1     1     1     1     1     2     2     2
1433 //    1P1   3P0   3P1   3P2   1D2   3D1   3D3    1462 //    1P1   3P0   3P1   3P2   1D2   3D1   3D3   1S0   3S1   3P2
1434      -1,   +1,   +1,   +1,   +1,   -1,   -1,     1463      -1,   +1,   +1,   +1,   +1,   -1,   -1,   +1,   -1,   +1
1435 };                                               1464 };
1436                                                  1465 
1437 const G4int    G4ExcitedMesonConstructor::iGP    1466 const G4int    G4ExcitedMesonConstructor::iGParity[G4ExcitedMesonConstructor::NMultiplets ][ G4ExcitedMesonConstructor::NMesonTypes ]=
1438 {                                                1467 {
1439   {  +1,  -1,  -1,  0,  0},                      1468   {  +1,  -1,  -1,  0,  0},
1440   {  -1,  +1,   0,  0,  0},                      1469   {  -1,  +1,   0,  0,  0},
1441   {  -1,  +1,  +1,  0,  0},                      1470   {  -1,  +1,  +1,  0,  0},
1442   {  -1,  +1,  +1,  0,  0},                      1471   {  -1,  +1,  +1,  0,  0},
1443   {  -1,  +1,  +1,  0,  0},                      1472   {  -1,  +1,  +1,  0,  0},
1444   {  +1,  -1,   0,  0,  0},                      1473   {  +1,  -1,   0,  0,  0},
1445   {  +1,  -1,  -1,  0,  0},                      1474   {  +1,  -1,  -1,  0,  0},
1446   {  -1,  +1, +1,  0,  0},                       1475   {  -1,  +1, +1,  0,  0},
1447   {  +1,  -1,  -1,  0,  0},                      1476   {  +1,  -1,  -1,  0,  0},
1448   {   0,  +1,  +1,  0,  0}                       1477   {   0,  +1,  +1,  0,  0}
1449 };                                               1478 };
1450                                                  1479 
1451                                                  1480 
1452 const G4int    G4ExcitedMesonConstructor::enc    1481 const G4int    G4ExcitedMesonConstructor::encodingOffset[]=
1453 { 10000, 10000, 20000,      0, 10000, 30000,     1482 { 10000, 10000, 20000,      0, 10000, 30000,     0, 100000,100000,100000};
1454                                                  1483 
1455                                                  1484 
1456                                                  1485 
1457                                                  1486 
1458 const G4double G4ExcitedMesonConstructor::bRa    1487 const G4double G4ExcitedMesonConstructor::bRatio[G4ExcitedMesonConstructor::NMultiplets][G4ExcitedMesonConstructor::NMesonTypes][G4ExcitedMesonConstructor::NumberOfDecayModes]=
1459 {                                                1488 {
1460    //    0    1     2     3     4     5     6    1489    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1461    // "b1(1235)",   "h1(1170)",   "h1(1380)", << 
1462   {                                              1490   {
1463    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1491    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00 },
1464    { 0.00, 0.00, 0.00, 0.90, 0.10, 0.00, 0.00    1492    { 0.00, 0.00, 0.00, 0.90, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1465    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1493    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1466    { 0.00, 0.47, 0.42, 0.11, 0.00, 0.00, 0.00    1494    { 0.00, 0.47, 0.42, 0.11, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1467    { 0.00, 0.47, 0.42, 0.11, 0.00, 0.00, 0.00    1495    { 0.00, 0.47, 0.42, 0.11, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1468  },                                              1496  },
1469    //    0    1     2     3     4     5     6    1497    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1470    // "a0(1450)",   "f0(1370)",           "", << 
1471   {                                              1498   {
1472    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.90, 0.00    1499    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.90, 0.00, 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.00, 0.00 },
1473    { 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.70    1500    { 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.70, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00 },
1474    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1501    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1475    { 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1502    { 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1476    { 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1503    { 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1477   },                                             1504   },
1478    //    0    1     2     3     4     5     6    1505    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1479    // "a1(1260)",   "f1(1285)",   "f1(1420)", << 
1480   {                                              1506   {
1481    { 0.10, 0.00, 0.00, 0.90, 0.00, 0.00, 0.00    1507    { 0.10, 0.00, 0.00, 0.90, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1482    { 0.00, 0.07, 0.00, 0.00, 0.00, 0.00, 0.20    1508    { 0.00, 0.07, 0.00, 0.00, 0.00, 0.00, 0.20, 0.00, 0.54, 0.00, 0.10, 0.00, 0.00, 0.00, 0.09, 0.00, 0.00, 0.00, 0.00 },
1483    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1509    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00 },
1484    { 0.00, 0.96, 0.03, 0.01, 0.00, 0.00, 0.00    1510    { 0.00, 0.96, 0.03, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1485    { 0.00, 0.96, 0.03, 0.01, 0.00, 0.00, 0.00    1511    { 0.00, 0.96, 0.03, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1486   },                                             1512   },
1487    //    0    1     2     3     4     5     6    1513    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1488    //"a2(1320)",   "f2(1270)","f2_prime(1525) << 
1489   {                                              1514   {
1490    { 0.00, 0.00, 0.00, 0.70, 0.00, 0.14, 0.00    1515    { 0.00, 0.00, 0.00, 0.70, 0.00, 0.14, 0.00, 0.00, 0.00, 0.00, 0.00, 0.11, 0.00, 0.05, 0.00, 0.00, 0.00, 0.00, 0.00 },
1491    { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.30    1516    { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00 },
1492    { 0.00, 0.00, 0.01, 0.00, 0.00, 0.00, 0.00    1517    { 0.00, 0.00, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.10, 0.89, 0.00, 0.00, 0.00, 0.00, 0.00 },
1493    { 0.50, 0.25, 0.09, 0.03, 0.13, 0.00, 0.00    1518    { 0.50, 0.25, 0.09, 0.03, 0.13, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1494    { 0.50, 0.25, 0.09, 0.03, 0.13, 0.00, 0.00    1519    { 0.50, 0.25, 0.09, 0.03, 0.13, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1495   },                                             1520   },
1496    //    0    1     2     3     4     5     6    1521    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1497    // "pi2(1670)", "eta2(1645)", "eta2(1870)" << 
1498   {                                              1522   {
1499    { 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00    1523    { 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.04, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.56, 0.10, 0.00 },
1500    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1524    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.10, 0.00, 0.00, 0.00, 0.90 },
1501    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50    1525    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50 },
1502    { 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00    1526    { 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1503    { 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00    1527    { 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1504   },                                             1528   },
1505    //    0    1     2     3     4     5     6    1529    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1506    // "rho(1700)", "omega(1650)",          "" << 
1507   {                                              1530   {
1508    { 0.00, 0.00, 0.10, 0.00, 0.00, 0.20, 0.00    1531    { 0.00, 0.00, 0.10, 0.00, 0.00, 0.20, 0.00, 0.00, 0.00, 0.00, 0.70, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1509    { 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00    1532    { 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1510    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1533    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1511    { 0.00, 0.40, 0.30, 0.30, 0.00, 0.00, 0.00    1534    { 0.00, 0.40, 0.30, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1512    { 0.00, 0.40, 0.30, 0.30, 0.00, 0.00, 0.00    1535    { 0.00, 0.40, 0.30, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1513   },                                             1536   },
1514    //    0    1     2     3     4     5     6    1537    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1515    // "rho3(1690)","omega3(1670)","phi3(1850) << 
1516   {                                              1538   {
1517    { 0.00, 0.00, 0.24, 0.00, 0.00, 0.00, 0.60    1539    { 0.00, 0.00, 0.24, 0.00, 0.00, 0.00, 0.60, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.01, 0.04, 0.11, 0.00, 0.00, 0.00 },
1518    { 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00    1540    { 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1519    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1541    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.40, 0.00, 0.00, 0.00, 0.00, 0.00, 0.60, 0.00, 0.00, 0.00, 0.00, 0.00 },
1520    { 0.19, 0.20, 0.31, 0.00, 0.00, 0.00, 0.30    1542    { 0.19, 0.20, 0.31, 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1521    { 0.19, 0.20, 0.31, 0.00, 0.00, 0.00, 0.30    1543    { 0.19, 0.20, 0.31, 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1522   },                                             1544   },
1523    //    0    1     2     3     4     5     6    1545    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1524    // "pi(1300)",  "eta(1295)",  "eta(1475)", << 
1525   {                                              1546   {
1526    { 0.00, 0.00, 0.00, 0.50, 0.50, 0.00, 0.00    1547    { 0.00, 0.00, 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1527    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1548    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1528    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1549    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.20, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00, 0.60, 0.00, 0.00, 0.00, 0.00 },
1529    { 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00    1550    { 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1530    { 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00    1551    { 0.00, 0.50, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1531   },                                             1552   },
1532    //    0    1     2     3     4     5     6    1553    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1533    // "rho(1450)","omega(1420)",  "phi(1680)" << 
1534   {                                              1554   {
1535    { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.50    1555    { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1536    { 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00    1556    { 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1537    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1557    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.80, 0.00, 0.00, 0.00, 0.00, 0.00, 0.10, 0.10, 0.00, 0.00, 0.00, 0.00 },
1538    { 0.30, 0.65, 0.05, 0.00, 0.00, 0.00, 0.00    1558    { 0.30, 0.65, 0.05, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1539    { 0.30, 0.65, 0.05, 0.00, 0.00, 0.00, 0.00    1559    { 0.30, 0.65, 0.05, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1540   },                                             1560   },
1541    //    0    1     2     3     4     5     6    1561    //    0    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
1542    //         "",   "f2(1810)",   "f2(2010)", << 
1543   {                                              1562   {
1544    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1563    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1545    { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00    1564    { 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.30, 0.00, 0.00, 0.00, 0.00, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00 },
1546    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00    1565    { 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1547    { 0.00, 0.00, 0.60, 0.40, 0.00, 0.00, 0.00    1566    { 0.00, 0.00, 0.60, 0.40, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 },
1548    { 0.00, 0.00, 0.60, 0.40, 0.00, 0.00, 0.00    1567    { 0.00, 0.00, 0.60, 0.40, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 }
1549   }                                              1568   }
1550 };                                               1569 };
                                                   >> 1570 
                                                   >> 1571 
                                                   >> 1572 
                                                   >> 1573 
                                                   >> 1574 
                                                   >> 1575 
1551                                                  1576