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 7.1)


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