Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/de_excitation/management/src/G4NuclearLevelData.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 /processes/hadronic/models/de_excitation/management/src/G4NuclearLevelData.cc (Version 11.3.0) and /processes/hadronic/models/de_excitation/management/src/G4NuclearLevelData.cc (Version 6.0)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 24 // *******************************************    
 25 //                                                
 26 //                                                
 27 // -------------------------------------------    
 28 //                                                
 29 //      GEANT4 source file                        
 30 //                                                
 31 //      File name:     G4NuclearLevelData         
 32 //                                                
 33 //      Author:        V.Ivanchenko               
 34 //                                                
 35 //      Creation date: 10 February 2015           
 36 //                                                
 37 //      Modifications:                            
 38 //                                                
 39 // -------------------------------------------    
 40                                                   
 41 #include "G4NuclearLevelData.hh"                  
 42 #include "G4LevelReader.hh"                       
 43 #include "G4LevelManager.hh"                      
 44 #include "G4Element.hh"                           
 45 #include "G4ElementTable.hh"                      
 46 #include "G4DeexPrecoParameters.hh"               
 47 #include "G4PairingCorrection.hh"                 
 48 #include "G4ShellCorrection.hh"                   
 49 #include "G4SystemOfUnits.hh"                     
 50 #include "G4AutoLock.hh"                          
 51 #include "G4Pow.hh"                               
 52 #include <iomanip>                                
 53                                                   
 54 G4NuclearLevelData* G4NuclearLevelData::theIns    
 55                                                   
 56 const G4int G4NuclearLevelData::AMIN[] = {1,      
 57     1,3,4,5,7,8,10,12,14,16,                //    
 58    20,19,21,22,25,27,29,31,35,35,           //    
 59    39,39,42,42,44,45,50,48,53,54,           //    
 60    60,60,63,64,69,69,73,73,76,78,           //    
 61    81,83,85,88,90,91,93,96,98,100,          //    
 62   104,105,108,109,112,114,117,121,121,125,  //    
 63   128,129,130,134,135,139,140,143,144,149,  //    
 64   150,153,155,158,159,161,164,166,170,171,  //    
 65   176,178,184,186,191,193,199,201,206,208,  //    
 66   212,217,225,228,230,233,234,237,241,241,  //    
 67   245,248,252,253,255,258,260,263,266,269,  //    
 68   272,277,282,0,289,0,293};                 //    
 69 const G4int G4NuclearLevelData::AMAX[] = {1,      
 70     6,10,11,14,17,22,24,26,30,30,           //    
 71    37,40,42,44,46,48,51,53,56,58,           //    
 72    61,63,66,68,71,74,76,79,82,85,           //    
 73    87,90,92,95,98,101,103,107,109,112,      //    
 74   114,117,120,124,126,128,129,133,135,138,  //    
 75   140,143,145,148,151,152,153,155,155,161,  //    
 76   163,165,167,169,171,173,175,177,179,181,  //    
 77   184,189,192,194,198,202,204,205,210,216,  //    
 78   217,220,224,227,229,229,233,234,235,238,  //    
 79   239,242,244,247,248,252,253,256,257,259,  //    
 80   260,262,266,265,270,269,274,277,278,277,  //    
 81   282,281,286,0,290,0,294};                 //    
 82 const G4int G4NuclearLevelData::LEVELIDX[] = {    
 83      0,      6,     14,     22,     32,     43    
 84    120,    138,    160,    182,    205,    227    
 85    341,    364,    389,    414,    441,    469    
 86    620,    648,    679,    709,    741,    771    
 87    939,    973,   1008,   1044,   1081,   1118    
 88   1308,   1345,   1384,   1422,   1462,   1502    
 89   1685,   1721,   1758,   1796,   1832,   1869    
 90   2044,   2079,   2116,   2154,   2191,   2231    
 91   2441,   2483,   2526,   2567,   2609,   2648    
 92   2815,   2843,   2869,   2889,   2909,   2928    
 93   3024,   3040,   3055,   3070,   3083,   3099    
 94   3163,   3174,   3179,   3184,   3184,   3186    
 95                                                   
 96 // obtained from PhotonEvaporation5.2             
 97 static const G4float LEVELMAX[3188] = {0.0f,      
 98     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
 99     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
100     0.0f,    0.0f,    0.0f,0.42908f, 27.494f,     
101     0.0f,    0.0f,   2.32f, 17.076f,  8.895f,     
102     0.0f,    0.0f,    0.0f,    0.0f, 3.3537f,     
103   4.142f,    0.0f,    0.0f,    0.0f,    0.0f,     
104    15.3f,  11.05f,  13.39f,0.39727f,  5.772f,     
105     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
106   6.555f,  3.073f,  6.936f,    0.0f,    0.0f,     
107  11.193f,  7.584f, 10.411f, 6.6475f,  4.584f,     
108   1.281f,    0.0f,    0.0f,    0.0f,    0.0f,     
109  11.533f, 4.4361f,  8.393f,   4.07f, 3.6913f,     
110  4.4679f,  9.813f, 12.592f,  6.578f,  4.289f,     
111   1.162f,  0.569f,  1.117f,    0.0f,    0.0f,     
112  6.2542f,  9.596f,  15.15f, 13.332f, 12.479f,     
113   5.203f, 1.2424f,   2.12f,   0.67f,   0.66f,     
114     0.0f,   0.55f, 0.4258f,   7.97f,  6.695f,     
115   3.202f, 4.7304f,  0.657f,   1.02f,    0.0f,     
116     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
117  6.5874f,  6.705f,  4.931f, 6.0233f, 2.1682f,     
118     0.0f,   0.77f,    0.0f,    0.0f,    0.0f,     
119  13.879f, 7.9356f, 7.9666f, 7.9201f, 6.2205f,     
120    1.56f,    0.0f,  0.184f,    0.0f,    0.0f,     
121  10.146f, 12.048f, 10.779f, 16.649f, 6.9861f,     
122   0.904f,   0.89f,   0.94f,  3.257f,    0.0f,     
123     0.0f, 5.0463f, 5.5484f, 8.3055f, 12.572f,     
124   2.451f, 3.0304f,  1.829f,  0.475f,  1.616f,     
125     0.0f,    0.0f,  1.867f,  3.819f,  5.542f,     
126  10.857f,  4.271f, 4.6339f, 4.2469f, 5.3515f,     
127     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
128  9.7407f,  5.978f, 3.7142f, 2.5743f, 4.5691f,     
129     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
130    7.75f,  22.06f,  7.146f,  10.45f, 6.2237f,     
131  5.6802f, 6.8692f,   3.53f, 2.5631f,    2.2f,     
132     0.0f,    0.0f,  6.148f, 6.2534f, 7.3549f,     
133  15.662f, 1.8478f,  6.184f, 4.2657f,  3.382f,     
134     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
135  13.169f, 8.0051f,  9.977f, 8.8816f, 10.939f,     
136  4.2098f,    0.0f,  2.881f,    0.0f,    0.0f,     
137     0.0f, 7.1595f, 13.631f, 15.258f, 13.282f,     
138  2.2979f, 2.1528f,    0.0f, 2.4756f,  0.114f,     
139   0.081f,    0.0f,    0.0f,    0.0f,    0.0f,     
140    10.7f, 17.958f, 9.2616f, 12.795f, 11.291f,     
141   0.503f, 4.6814f,  1.027f,  1.175f,    0.0f,     
142     0.0f,    0.0f,    0.0f,    0.0f, 6.2931f,     
143  4.9981f, 10.559f, 7.4078f, 4.7103f, 9.8311f,     
144   0.188f,    0.0f,    0.0f,    0.0f,    0.0f,     
145     0.0f,    0.0f,  0.153f, 6.9944f,  12.65f,     
146   8.323f, 12.813f, 4.9852f, 17.956f,  0.861f,     
147   0.387f,  1.389f,    0.0f,    0.0f,    0.0f,     
148     0.0f, 4.1151f, 10.507f, 14.882f,   18.6f,     
149  2.3097f, 4.1671f,  1.561f, 3.2712f,  0.642f,     
150     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
151  1.4534f, 6.4574f, 4.4831f, 22.459f, 8.3457f,     
152   4.461f,   8.24f, 4.0111f, 6.5798f,  2.155f,     
153     0.0f,  1.763f,    0.0f,   2.42f,    0.0f,     
154     0.0f,  2.398f, 22.747f, 31.964f, 8.1327f,     
155  5.0772f, 3.4636f, 0.9563f,  3.828f, 1.9801f,     
156     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
157     0.0f,  3.378f, 3.3862f, 33.899f, 32.617f,     
158   4.684f, 18.016f,  2.378f, 6.1158f,  2.377f,     
159  4.6053f,  3.106f,  3.304f,  1.492f,    0.0f,     
160   2.903f, 6.8423f, 14.465f, 5.6291f, 15.981f,     
161  4.1652f,0.74133f, 2.9895f, 1.0857f, 4.1479f,     
162  1.6216f,    0.0f,    0.0f,    0.0f,    0.0f,     
163     0.0f, 9.2999f, 8.1524f,  18.08f,  4.848f,     
164  2.3614f, 8.3611f, 6.5056f, 6.0652f, 6.0714f,     
165  1.9415f, 1.6704f, 2.3482f,  0.527f,    0.0f,     
166     0.0f, 9.7929f, 7.7913f, 8.4997f, 18.181f,     
167   9.399f, 1.0645f, 4.4563f,  2.024f, 1.9648f,     
168     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
169   0.929f,    0.0f, 21.201f, 13.363f, 20.245f,     
170  5.4325f, 7.4197f, 5.7838f, 3.6768f, 7.8185f,     
171   3.302f,    0.0f,    0.0f,    0.0f,    0.0f,     
172     0.0f, 21.412f, 14.959f, 18.968f, 25.968f,     
173  8.8115f, 4.4501f, 3.7987f, 2.2433f,  5.635f,     
174     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
175     0.0f,    0.0f,    0.0f,  23.62f, 23.237f,     
176  11.822f, 11.484f, 5.7594f, 6.0117f, 6.3734f,     
177  4.7073f, 5.7301f, 4.4529f, 5.0788f, 3.1999f,     
178     0.0f,    0.0f,    0.0f,    0.0f, 21.612f,     
179  13.176f, 10.027f, 6.0137f,  9.342f, 7.3827f,     
180  3.8813f, 6.2389f, 4.7881f, 6.7256f, 3.9442f,     
181     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
182  8.1749f, 21.818f,  24.46f, 18.674f, 19.803f,     
183  7.9844f, 5.8279f,  5.742f,  7.363f, 6.7074f,     
184  2.3208f, 3.3456f, 1.3629f,  0.126f,    0.0f,     
185     0.0f,  0.787f,  5.702f,  12.46f,  17.67f,     
186  7.0166f, 9.6184f, 11.991f, 4.8351f, 6.8961f,     
187  3.5226f,  1.897f, 3.3895f,    1.7f, 2.6959f,     
188     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
189  11.141f, 20.532f, 10.092f,   11.2f, 9.6011f,     
190  6.5618f, 6.8213f, 7.2959f, 6.5436f,  6.567f,     
191     0.0f,  0.607f,    0.0f, 0.5216f,    0.0f,     
192   1.723f,  9.093f, 15.145f, 20.786f, 18.374f,     
193  10.955f,  6.496f, 8.6952f, 1.6147f, 2.2475f,     
194  3.6071f, 0.5143f, 1.0456f,    0.0f,    0.0f,     
195     0.0f,    0.0f,    0.0f, 4.2764f, 5.5996f,     
196  10.749f, 11.215f,   9.67f, 11.588f, 10.509f,     
197   5.031f, 6.2005f,  6.308f, 7.2832f, 6.0757f,     
198     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
199  4.9129f, 20.291f, 11.246f, 20.862f, 7.8331f,     
200  3.1294f, 4.1779f, 4.3581f,  4.231f,0.35986f,     
201   2.359f, 4.2009f, 3.6771f, 3.9519f,   0.35f,     
202     0.0f,    0.0f,    0.0f, 3.4808f, 6.2392f,     
203  12.161f, 11.601f, 17.292f, 17.237f, 19.254f,     
204  3.6412f, 4.4457f, 3.7652f, 5.1544f, 2.7331f,     
205  0.0617f, 2.1664f,    0.0f, 1.4156f,    0.0f,     
206     0.0f, 7.0196f,  9.744f, 6.9245f, 10.426f,     
207  14.519f, 17.234f, 15.978f, 7.9989f, 4.4759f,     
208  1.7662f, 4.2482f, 2.7694f,  4.006f, 2.0203f,     
209  0.1572f,    0.0f,  0.271f,    0.0f,    0.0f,     
210  7.7002f, 10.418f,   7.04f,  7.523f, 10.863f,     
211  12.707f, 16.909f,  5.895f, 10.676f, 6.8279f,     
212  5.2557f, 4.0712f, 7.8188f,  3.886f, 3.3024f,     
213     1.3f,    0.0f, 2.1097f,    0.0f,  2.151f,     
214  4.4757f, 7.7702f,  8.699f, 10.706f, 6.1075f,     
215  4.3106f, 5.4145f, 2.6661f, 2.3527f, 1.8189f,0    
216 0.72042f,  0.326f, 0.8058f,    0.0f,    0.0f,     
217     0.0f,    0.0f,    0.0f,    0.0f, 2.4275f,     
218  18.243f, 10.851f, 15.863f, 11.852f, 20.979f,     
219  4.6052f, 3.8328f, 4.9689f, 4.5389f,  4.367f,     
220  3.6636f, 3.6065f,  3.151f, 3.2399f,  1.429f,     
221     0.0f,    0.0f,  2.721f, 6.0742f, 9.0586f,     
222  8.7931f, 6.3857f, 12.745f, 13.503f,  8.328f,     
223     0.2f, 4.0259f,    0.0f,   3.89f,    0.0f,     
224  1.1729f, 4.5789f, 5.3908f,    0.0f,    0.0f,     
225   1.969f, 1.7846f,  9.998f, 10.288f, 19.932f,     
226  12.965f,  18.22f, 17.871f, 9.0696f, 9.3219f,     
227  4.2838f,  3.306f, 8.4335f, 2.6235f, 4.9902f,     
228  7.2441f, 2.0046f, 2.5089f,    0.0f,  1.295f,     
229  14.217f, 7.2145f, 25.458f, 27.548f, 23.013f,     
230  8.1846f, 2.9184f, 6.1139f, 2.8847f, 3.9728f,0    
231  5.3543f,  0.833f, 3.2807f, 2.9831f, 3.5687f,     
232     0.0f,    0.0f,    0.0f,    0.0f,   0.15f,     
233  9.9578f, 28.646f, 8.7643f, 32.926f, 14.783f,     
234  8.5832f, 6.9141f, 8.0304f, 5.7514f, 3.5642f,     
235  5.1722f, 4.8903f, 6.1635f, 7.7224f, 6.6692f,     
236     0.0f,    0.0f,    0.0f,    0.0f, 4.6208f,     
237  19.449f, 11.403f, 21.128f, 2.8059f, 11.823f,     
238  3.8679f, 1.1022f, 3.3503f, 4.1498f,  3.408f,     
239  5.8492f, 4.0745f, 3.8528f,    0.0f, 3.3323f,     
240     0.0f,    0.0f, 1.8897f,    0.0f, 4.4691f,     
241  15.399f, 20.542f,  12.15f, 13.651f, 13.473f,     
242  5.5734f, 3.8291f, 6.9713f, 3.1859f, 4.1884f,     
243   5.814f, 5.0965f, 5.5036f, 3.3657f, 4.5112f,     
244     0.0f, 2.1434f,   8.29f, 6.1544f,    0.0f,     
245  12.184f,  7.873f, 11.233f,  6.127f,  11.31f,     
246  5.7351f, 5.6965f, 2.8342f, 2.2537f, 1.6329f,     
247  4.3457f, 4.0013f, 3.1181f,  1.426f, 1.5108f,     
248     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
249  13.551f, 25.371f, 11.179f, 16.895f, 13.477f,     
250   8.052f, 5.2309f, 5.8502f, 4.1374f, 4.7644f,     
251  3.9443f, 5.0276f,  4.623f, 4.0718f, 2.3652f,     
252     0.0f,    0.0f,    0.0f,    0.0f,  7.718f,     
253  21.268f,  9.255f, 16.478f, 9.7134f, 17.252f,     
254  5.9853f, 1.7885f, 8.5821f, 3.0101f, 2.7443f,     
255   3.677f,  2.226f, 0.8939f,    0.0f,    0.0f,     
256  11.735f, 15.066f, 16.603f, 9.8191f, 17.839f,     
257  17.039f, 8.0346f, 8.6258f, 7.6612f, 8.8731f,     
258  3.9736f, 4.5905f,   4.69f,   3.47f, 5.3112f,     
259     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
260   7.858f, 12.411f, 12.757f, 15.734f, 16.356f,     
261  4.8626f,  4.718f, 8.8805f, 1.1757f, 1.3974f,0    
262  3.1859f,  0.897f, 2.5919f, 3.0022f,    0.0f,     
263  2.6538f, 15.765f, 13.081f, 16.107f, 21.847f,     
264  21.439f,  6.508f,  26.69f, 9.3653f, 12.159f,     
265  3.8609f, 1.1665f, 3.2796f, 3.2208f,  4.001f,     
266     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
267  7.4389f, 6.8243f, 12.955f, 6.2838f, 6.8641f,     
268  8.5958f, 7.2168f, 6.8764f, 7.9774f, 0.8006f,     
269    1.69f, 2.7706f, 0.6187f,    0.0f,    0.0f,     
270     0.0f,  0.122f,    0.0f,  4.245f, 7.0015f,     
271  11.115f, 8.1008f, 11.238f,  23.37f, 12.248f,     
272   5.802f, 9.7369f,  4.574f, 4.7496f, 3.4675f,     
273   3.142f, 2.2584f,    0.0f,    0.0f,    0.0f,     
274     0.0f,    0.0f,    0.0f,    0.0f,  4.645f,     
275  26.393f, 18.711f, 11.234f, 3.4709f,  21.43f,     
276  4.9286f,  0.952f, 2.1987f,0.51329f, 1.4631f,     
277     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
278  10.498f, 6.4229f,  13.32f,  14.58f, 14.532f,     
279  35.996f, 23.397f, 24.919f, 18.722f, 7.0352f,     
280  1.5209f,   3.55f,   1.49f, 2.8571f,    0.0f,     
281     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
282  5.3799f, 14.119f, 2.1568f, 14.344f, 14.091f,     
283    7.45f,  17.07f, 15.907f, 6.5819f, 0.3884f,     
284     0.0f,    0.0f, 1.0155f,    0.0f,    0.0f,     
285     0.0f, 3.2412f, 8.4975f, 4.6021f, 2.7442f,     
286  21.825f,  34.66f, 21.565f, 22.435f,  18.45f,     
287   5.799f,  7.276f, 5.0034f, 4.2123f, 3.9791f,     
288     0.0f,    0.0f,    0.0f,    0.0f, 4.0846f,     
289  8.6613f, 3.7894f, 5.0987f, 10.753f, 9.9587f,     
290  15.876f, 13.422f,  5.331f,   5.77f,  5.949f,     
291   1.919f,0.63041f, 1.5782f,    0.0f,    0.0f,     
292    0.33f,    0.0f,    0.0f,  5.008f, 9.5907f,     
293   16.03f, 17.086f, 16.583f, 19.505f, 24.115f,     
294  11.549f, 1.6218f,  3.498f, 3.7561f,  3.921f,     
295     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
296  0.6713f, 6.9085f,  2.555f, 9.1688f, 6.1412f,     
297   8.635f, 11.582f, 15.865f, 14.882f, 5.8891f,     
298  3.8641f, 1.4006f,0.79742f, 1.2129f, 0.7729f,     
299     0.0f,    0.0f,  2.448f, 2.7445f, 2.5782f,     
300  11.971f, 15.403f, 15.709f, 12.392f,  6.081f,     
301  10.961f, 5.0848f, 4.8797f,  3.863f,  2.018f,     
302     0.0f,    0.0f,    0.0f,    0.0f, 3.9984f,     
303  8.5435f,    0.0f, 6.4758f, 5.1397f, 15.943f,     
304  16.821f,  6.293f, 6.9628f, 8.3751f, 10.907f,     
305  2.4978f, 0.3908f, 1.5862f, 0.9816f,    0.0f,     
306     0.0f, 5.0193f, 6.4994f, 9.1066f, 7.0098f,     
307  9.9276f, 16.006f, 11.941f, 19.176f, 15.295f,     
308  26.178f, 4.8635f, 5.0647f, 5.3886f, 4.2047f,     
309     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
310     0.0f,  6.764f,    0.0f, 7.2134f, 3.3507f,     
311  4.9183f,  9.817f, 4.7857f, 4.7272f, 7.5245f,     
312  4.1868f, 6.4177f, 6.0629f, 1.7843f, 0.6172f,     
313   0.175f,    0.0f,    0.0f,    0.0f,    0.0f,     
314  7.4704f, 10.076f,  9.662f, 11.128f,  7.224f,     
315  4.0387f, 6.9217f, 7.2047f, 13.394f, 6.7925f,     
316  3.2769f,  6.417f, 3.3438f, 1.5382f,    0.0f,     
317     0.0f,    0.0f, 4.4008f,    0.0f,    0.0f,     
318  4.7279f, 0.3701f, 7.3785f, 0.9063f,  7.566f,     
319   5.408f, 4.8181f, 7.5907f,  5.858f, 2.3926f,     
320  0.4824f, 0.3197f,    0.0f,  0.267f,    0.0f,     
321     0.0f, 2.1895f,    0.0f, 2.8393f, 2.6094f,     
322  6.2602f, 8.6901f,  7.541f, 10.545f, 7.0075f,     
323  12.741f, 13.482f, 4.1802f, 10.671f, 7.3585f,     
324    2.64f, 4.1138f, 1.4595f,  2.541f, 1.4647f,     
325     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
326  0.1684f,  6.254f,    0.0f,  6.076f,   7.14f,     
327  3.8694f,  6.987f, 3.1382f, 5.0544f, 4.7856f,     
328  6.1981f,  2.404f,0.54259f,0.94375f,0.52237f,     
329     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
330   4.085f,  3.449f,  4.231f, 6.8786f, 4.6838f,     
331  5.2578f, 7.7332f, 4.9136f, 7.4078f, 5.5103f,     
332  3.1292f, 4.5298f, 2.5926f, 3.4243f,0.74782f,     
333     0.0f,  3.153f,    0.0f,    0.0f,    0.0f,     
334  6.1583f,    0.0f, 7.1722f,    0.0f, 5.7177f,     
335    7.22f, 5.3252f, 9.5804f, 5.3789f, 10.935f,     
336   1.242f, 1.5604f, 1.7705f,0.46871f,   1.76f,     
337     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
338  1.7955f, 5.5345f, 5.2669f, 5.8034f, 2.9527f,     
339  4.8702f, 7.9412f, 6.8197f, 10.031f, 8.7932f,     
340  4.0612f, 5.2842f, 3.0684f, 6.1621f, 1.1878f,     
341     0.0f, 1.2969f,    0.0f,  1.366f,    0.0f,     
342     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
343  0.9716f,  5.608f, 0.8768f, 6.3331f, 1.8545f,     
344  3.6298f, 3.9657f, 4.0664f, 2.6432f, 2.5481f,     
345  2.6431f,  4.418f,  1.728f, 0.8683f, 0.2536f,     
346     0.0f,    0.0f,    0.0f,    0.0f,  2.138f,     
347  3.3139f,  1.723f, 4.1665f, 3.1024f, 5.3303f,     
348  13.516f, 10.406f, 12.699f,  10.66f, 8.6305f,     
349  8.7056f,  7.306f, 13.675f,  4.142f,  4.133f,     
350   1.459f,    0.0f,    0.0f,    0.0f,    0.0f,     
351   2.973f,  0.273f, 1.7366f,    0.0f,  3.401f,     
352  4.2969f, 3.5777f, 5.2835f, 7.2753f, 5.8247f,     
353   7.632f,  5.996f,  6.191f, 0.4945f, 0.7589f,0    
354     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
355  3.0402f,  1.671f, 2.2946f, 1.1297f, 3.3265f,     
356  5.2269f, 3.7108f, 5.5289f, 4.3583f, 5.9111f,     
357  10.084f,  4.911f,  2.922f, 1.3282f, 3.2624f,     
358     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
359     0.0f,    0.0f,  1.636f, 0.1579f,  0.324f,     
360  2.7011f, 2.3462f,  4.546f, 2.9023f, 2.1495f,     
361   2.926f, 0.7284f,  0.517f, 0.4793f, 0.8919f,     
362     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
363     0.0f,    0.0f, 2.3838f,    0.0f, 2.7762f,     
364  4.1298f,  3.013f, 5.9306f, 7.3077f, 12.026f,     
365  4.2997f, 0.6189f, 5.1678f, 0.7328f, 3.9615f,     
366     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
367     0.0f,  0.531f, 1.8852f,  0.827f,    0.0f,     
368  3.4623f,  1.973f, 3.0023f, 3.0451f,  0.778f,     
369  1.7498f,    0.0f,0.95506f,    0.0f,    0.0f,     
370     0.0f,    0.0f,    0.0f,    0.0f, 2.0101f,     
371  3.9294f,   1.77f,   7.87f, 6.2832f, 6.2661f,     
372  3.2877f, 1.0289f, 2.3687f, 0.7241f,  2.382f,     
373    1.05f,    0.0f,    0.0f,    0.0f,    0.0f,     
374   1.884f, 0.0918f,  2.438f,  0.322f,  2.013f,     
375  0.1675f,  0.452f,0.25704f,    0.0f, 0.8747f,0    
376     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
377  1.4213f, 3.6814f, 0.6738f,  2.104f,  2.322f,     
378  2.4944f, 3.0971f, 2.1663f, 3.2834f,0.77929f,     
379     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
380     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
381     0.0f, 0.8408f,    0.0f,   2.14f,    0.0f,     
382     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
383     0.0f,  1.847f,    0.0f,    0.0f,    0.0f,     
384  4.0407f,  5.077f,  4.835f,  5.513f,  3.107f,     
385     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
386  4.6146f,0.64676f, 1.1971f, 0.2998f,    0.0f,     
387     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
388  6.0963f, 1.3577f,  4.172f, 5.0342f,  6.123f,     
389     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
390     2.2f, 0.5324f, 0.8789f, 1.1856f,0.29937f,     
391     0.0f,    0.0f,    0.0f,    0.0f,  0.038f,     
392  4.0332f, 0.5817f, 5.6807f, 4.7135f,    0.0f,     
393     0.0f,    0.0f,    0.0f,   0.24f,    0.0f,     
394  0.4894f,   0.59f, 1.2275f,  0.471f, 0.9784f,     
395     0.0f,    0.0f,    0.0f,  0.315f,    0.0f,     
396  1.6952f,   1.25f, 0.9698f,  0.417f,    0.0f,     
397     0.0f, 0.2532f,    0.0f,    0.0f,    0.0f,     
398  0.4692f,    0.0f,    0.0f,    0.0f,    0.0f,     
399     0.0f,  2.372f,  0.669f,    0.0f,0.55843f,     
400     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
401     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
402     0.0f,    0.0f, 1.6997f, 2.8792f,  3.465f,     
403     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
404     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
405     0.0f,  0.656f,  2.868f,  1.157f,    0.0f,     
406     0.0f,    0.0f,    0.0f,    0.0f,    0.6f,     
407     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
408     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
409     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
410     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
411     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
412     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
413     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
414     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
415     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
416     0.0f,    0.0f,    0.0f,    0.0f,    0.0f,     
417                                                   
418 namespace                                         
419 {                                                 
420   G4Mutex nuclearLevelDataMutex = G4MUTEX_INIT    
421 }                                                 
422                                                   
423 G4NuclearLevelData* G4NuclearLevelData::GetIns    
424 {                                                 
425   if (nullptr == theInstance)  {                  
426     G4AutoLock l(&nuclearLevelDataMutex);         
427     if (nullptr == theInstance)  {                
428       static G4NuclearLevelData theData;          
429       theInstance = &theData;                     
430     }                                             
431     l.unlock();                                   
432   }                                               
433   return theInstance;                             
434 }                                                 
435                                                   
436 G4NuclearLevelData::G4NuclearLevelData()          
437 {                                                 
438   fDeexPrecoParameters = new G4DeexPrecoParame    
439   fLevelReader = new G4LevelReader(this);         
440   for(G4int Z=0; Z<ZMAX; ++Z) {                   
441     (fLevelManagers[Z]).resize(AMAX[Z]-AMIN[Z]    
442     (fLevelManagerFlags[Z]).resize(AMAX[Z]-AMI    
443   }                                               
444   fShellCorrection = new G4ShellCorrection();     
445   fPairingCorrection = new G4PairingCorrection    
446   fG4calc = G4Pow::GetInstance();                 
447 }                                                 
448                                                   
449 G4NuclearLevelData::~G4NuclearLevelData()         
450 {                                                 
451   delete fLevelReader;                            
452   delete fDeexPrecoParameters;                    
453   delete fShellCorrection;                        
454   delete fPairingCorrection;                      
455   for(G4int Z=1; Z<ZMAX; ++Z) {                   
456     size_t nn = (fLevelManagers[Z]).size();       
457     for(size_t j=0; j<nn; ++j) {                  
458       delete (fLevelManagers[Z])[j];              
459     }                                             
460   }                                               
461 }                                                 
462                                                   
463 const G4LevelManager*                             
464 G4NuclearLevelData::GetLevelManager(G4int Z, G    
465 {                                                 
466   if(Z < 1 || Z >= ZMAX || A < AMIN[Z] || A >     
467   const G4int idx = A - AMIN[Z];                  
468   if( !(fLevelManagerFlags[Z])[idx] ) {           
469     G4AutoLock l(&nuclearLevelDataMutex);         
470     if( !(fLevelManagerFlags[Z])[idx] ) {         
471       (fLevelManagers[Z])[idx] = fLevelReader-    
472       (fLevelManagerFlags[Z])[idx] = true;        
473     }                                             
474     l.unlock();                                   
475   }                                               
476   return (fLevelManagers[Z])[idx];                
477 }                                                 
478                                                   
479 G4bool                                            
480 G4NuclearLevelData::AddPrivateData(G4int Z, G4    
481 {                                                 
482   G4bool res = false;                             
483   if(Z > 0 && Z < ZMAX && A >= AMIN[Z] && A <=    
484     G4AutoLock l(&nuclearLevelDataMutex);         
485     const G4LevelManager* newman = fLevelReade    
486     // if file is corrupted G4LevelReader shou    
487     if(newman != nullptr) {                       
488       res = true;                                 
489       if(0 < fDeexPrecoParameters->GetVerbose(    
490   G4cout << "G4NuclearLevelData::AddPrivateDat    
491          << " A= " << A << " from <" << fname     
492          << "> is done" << G4endl;                
493       }                                           
494       const G4int idx = A - AMIN[Z];              
495       delete (fLevelManagers[Z])[idx];            
496       (fLevelManagers[Z])[idx] = newman;          
497       (fLevelManagerFlags[Z])[idx] = true;        
498     }                                             
499     l.unlock();                                   
500   } else {                                        
501     G4ExceptionDescription ed;                    
502     ed << "private nuclear level data for Z= "    
503        << " outside allowed limits ";             
504     G4Exception("G4NuclearLevelData::AddPrivat    
505                 ed,"Stop execution");             
506   }                                               
507   return res;                                     
508 }                                                 
509                                                   
510 G4int G4NuclearLevelData::GetMinA(G4int Z) con    
511 {                                                 
512   return (Z >= 0 && Z < ZMAX) ? AMIN[Z] : 0;      
513 }                                                 
514                                                   
515 G4int G4NuclearLevelData::GetMaxA(G4int Z) con    
516 {                                                 
517   return (Z >= 0 && Z < ZMAX) ? AMAX[Z] : 0;      
518 }                                                 
519                                                   
520 void G4NuclearLevelData::UploadNuclearLevelDat    
521 {                                                 
522   if(fInitialized) return;                        
523   G4AutoLock l(&nuclearLevelDataMutex);           
524   if(!fInitialized) {                             
525     fInitialized = true;                          
526     G4int mZ = Zlim + 1;                          
527     if(mZ > ZMAX) { mZ = ZMAX; }                  
528     for(G4int Z=1; Z<mZ; ++Z) {                   
529       for(G4int A=AMIN[Z]; A<=AMAX[Z]; ++A) {     
530   G4int idx = A - AMIN[Z];                        
531   if( !(fLevelManagerFlags[Z])[idx] ) {           
532     (fLevelManagers[Z])[idx] = fLevelReader->C    
533     (fLevelManagerFlags[Z])[idx] = true;          
534   }                                               
535       }                                           
536     }                                             
537   }                                               
538   l.unlock();                                     
539 }                                                 
540                                                   
541 G4double G4NuclearLevelData::GetMaxLevelEnergy    
542 {                                                 
543   return (0 < Z && Z < ZMAX && A >= AMIN[Z] &&    
544     (G4double)(LEVELMAX[LEVELIDX[Z] + A - AMIN    
545 }                                                 
546                                                   
547 G4float G4NuclearLevelData::MaxLevelEnergy(G4i    
548 {                                                 
549   return (0 < Z && Z < ZMAX && A >= AMIN[Z] &&    
550     (LEVELMAX[LEVELIDX[Z] + A - AMIN[Z]]) : 0.    
551 }                                                 
552                                                   
553 G4double G4NuclearLevelData::GetLevelEnergy(G4    
554 {                                                 
555   G4double e = energy;                            
556   if(e <= GetMaxLevelEnergy(Z, A)) {              
557     const G4LevelManager* man = GetLevelManage    
558     if(man != nullptr) {                          
559       e = (G4double)man->NearestLevelEnergy(e,    
560     }                                             
561   }                                               
562   return e;                                       
563 }                                                 
564                                                   
565 G4double                                          
566 G4NuclearLevelData::GetLowEdgeLevelEnergy(G4in    
567 {                                                 
568   G4double e = GetMaxLevelEnergy(Z, A);           
569   if(energy < e) {                                
570     const G4LevelManager* man = GetLevelManage    
571     if(man != nullptr) {                          
572       e = (G4double)man->NearestLowEdgeLevelEn    
573     }                                             
574   }                                               
575   return e;                                       
576 }                                                 
577                                                   
578 G4double                                          
579 G4NuclearLevelData::FindLevel(G4int Z, G4int A    
580                               G4double Mass, G    
581 {                                                 
582   G4double T = ekin;                              
583   G4double E2 = (Mass - partMass)*(Mass - part    
584   G4double Eex = std::sqrt(E2 - 2.0*Mass*T) -     
585   if(Eex <= GetMaxLevelEnergy(Z, A)) {            
586     if(Eex <= 0.0) {                              
587       Eex = 0.0;                                  
588       T = (E2 - resMass*resMass)*0.5/Mass;        
589     } else {                                      
590       const G4LevelManager* man = GetLevelMana    
591       if(man != nullptr) {                        
592         size_t idx = man->NearestLevelIndex(Ee    
593         for(;;) {                                 
594           Eex = (G4double)man->LevelEnergy(idx    
595           T = (E2 - (resMass+Eex)*(resMass+Eex    
596           if(T >= 0.0 || 0 == idx) { break; }     
597           --idx;                                  
598         }                                         
599       }                                           
600     }                                             
601     T = std::max(T, 0.0);                         
602   }                                               
603   return T;                                       
604 }                                                 
605                                                   
606 G4DeexPrecoParameters* G4NuclearLevelData::Get    
607 {                                                 
608   return fDeexPrecoParameters;                    
609 }                                                 
610                                                   
611 G4PairingCorrection* G4NuclearLevelData::GetPa    
612 {                                                 
613   return fPairingCorrection;                      
614 }                                                 
615                                                   
616 G4ShellCorrection* G4NuclearLevelData::GetShel    
617 {                                                 
618   return fShellCorrection;                        
619 }                                                 
620                                                   
621 G4double G4NuclearLevelData::GetLevelDensity(G    
622 {                                                 
623   if (fDeexPrecoParameters->GetLevelDensityFla    
624     return A*fDeexPrecoParameters->GetLevelDen    
625   }                                               
626   const G4LevelManager* man = GetLevelManager(    
627   return (nullptr != man) ? man->LevelDensity(    
628     : 0.058025*A*(1.0 + 5.9059/fG4calc->Z13(A)    
629 }                                                 
630                                                   
631 G4double G4NuclearLevelData::GetPairingCorrect    
632 {                                                 
633   return fPairingCorrection->GetPairingCorrect    
634 }                                                 
635                                                   
636 void G4NuclearLevelData::StreamLevels(std::ost    
637                                       G4int Z,    
638 {                                                 
639   const G4LevelManager* man = GetLevelManager(    
640   if (man) {                                      
641     os << "Level data for Z= " << Z << " A= "     
642        << man->NumberOfTransitions() + 1 << "     
643     man->StreamInfo(os);                          
644   }                                               
645 }                                                 
646