Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/electromagnetic/lowenergy/src/G4LivermoreComptonModel.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/electromagnetic/lowenergy/src/G4LivermoreComptonModel.cc (Version 11.3.0) and /processes/electromagnetic/lowenergy/src/G4LivermoreComptonModel.cc (Version 11.2.1)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 //                                                 26 //
 27 //                                                 27 //
 28 // Author: Alexander Bagulya                       28 // Author: Alexander Bagulya
 29 //         11 March 2012                           29 //         11 March 2012
 30 //         on the base of G4LivermoreComptonMo     30 //         on the base of G4LivermoreComptonModel
 31 //                                                 31 //
 32 // History:                                        32 // History:
 33 // --------                                        33 // --------
 34 // 18 Apr 2009   V Ivanchenko Cleanup initiali     34 // 18 Apr 2009   V Ivanchenko Cleanup initialisation and generation of secondaries:
 35 //                  - apply internal high-ener     35 //                  - apply internal high-energy limit only in constructor
 36 //                  - do not apply low-energy      36 //                  - do not apply low-energy limit (default is 0)
 37 //                  - remove GetMeanFreePath m     37 //                  - remove GetMeanFreePath method and table
 38 //                  - added protection against     38 //                  - added protection against numerical problem in energy sampling
 39 //                  - use G4ElementSelector        39 //                  - use G4ElementSelector
 40 // 26 Dec 2010   V Ivanchenko Load data tables     40 // 26 Dec 2010   V Ivanchenko Load data tables only once to avoid memory leak
 41                                                    41 
 42 #include "G4LivermoreComptonModel.hh"              42 #include "G4LivermoreComptonModel.hh"
 43                                                    43 
 44 #include "G4AtomicShell.hh"                        44 #include "G4AtomicShell.hh"
 45 #include "G4AutoLock.hh"                           45 #include "G4AutoLock.hh"
 46 #include "G4DopplerProfile.hh"                     46 #include "G4DopplerProfile.hh"
 47 #include "G4Electron.hh"                           47 #include "G4Electron.hh"
 48 #include "G4Exp.hh"                                48 #include "G4Exp.hh"
 49 #include "G4Log.hh"                                49 #include "G4Log.hh"
 50 #include "G4LossTableManager.hh"                   50 #include "G4LossTableManager.hh"
 51 #include "G4ParticleChangeForGamma.hh"             51 #include "G4ParticleChangeForGamma.hh"
 52 #include "G4PhysicalConstants.hh"                  52 #include "G4PhysicalConstants.hh"
 53 #include "G4ShellData.hh"                          53 #include "G4ShellData.hh"
 54 #include "G4SystemOfUnits.hh"                      54 #include "G4SystemOfUnits.hh"
 55 #include "G4VAtomDeexcitation.hh"                  55 #include "G4VAtomDeexcitation.hh"
 56                                                    56 
 57 //....oooOO0OOooo........oooOO0OOooo........oo     57 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 58                                                    58 
 59 namespace                                          59 namespace
 60 {                                                  60 {
 61 G4Mutex LivermoreComptonModelMutex = G4MUTEX_I     61 G4Mutex LivermoreComptonModelMutex = G4MUTEX_INITIALIZER;
 62 }                                                  62 }
 63 using namespace std;                               63 using namespace std;
 64                                                    64 
 65 G4PhysicsFreeVector* G4LivermoreComptonModel::     65 G4PhysicsFreeVector* G4LivermoreComptonModel::data[] = {nullptr};
 66 G4ShellData* G4LivermoreComptonModel::shellDat     66 G4ShellData* G4LivermoreComptonModel::shellData = nullptr;
 67 G4DopplerProfile* G4LivermoreComptonModel::pro     67 G4DopplerProfile* G4LivermoreComptonModel::profileData = nullptr;
 68 G4String G4LivermoreComptonModel::gDataDirecto     68 G4String G4LivermoreComptonModel::gDataDirectory = "";
 69                                                    69 
 70 static const G4double ln10 = G4Log(10.);           70 static const G4double ln10 = G4Log(10.);
 71                                                    71 
 72 G4LivermoreComptonModel::G4LivermoreComptonMod     72 G4LivermoreComptonModel::G4LivermoreComptonModel(const G4ParticleDefinition*, const G4String& nam)
 73   : G4VEmModel(nam)                                73   : G4VEmModel(nam)
 74 {                                                  74 {
 75   fParticleChange = nullptr;                       75   fParticleChange = nullptr;
 76   verboseLevel = 1;                                76   verboseLevel = 1;
 77   // Verbosity scale:                              77   // Verbosity scale:
 78   // 0 = nothing                                   78   // 0 = nothing
 79   // 1 = warning for energy non-conservation       79   // 1 = warning for energy non-conservation
 80   // 2 = details of energy budget                  80   // 2 = details of energy budget
 81   // 3 = calculation of cross sections, file o     81   // 3 = calculation of cross sections, file openings, sampling of atoms
 82   // 4 = entering in methods                       82   // 4 = entering in methods
 83                                                    83 
 84   if (verboseLevel > 1) {                          84   if (verboseLevel > 1) {
 85     G4cout << "Livermore Compton model is cons     85     G4cout << "Livermore Compton model is constructed " << G4endl;
 86   }                                                86   }
 87                                                    87 
 88   // Mark this model as "applicable" for atomi     88   // Mark this model as "applicable" for atomic deexcitation
 89   SetDeexcitationFlag(true);                       89   SetDeexcitationFlag(true);
 90                                                    90 
 91   fParticleChange = nullptr;                       91   fParticleChange = nullptr;
 92   fAtomDeexcitation = nullptr;                     92   fAtomDeexcitation = nullptr;
 93 }                                                  93 }
 94                                                    94 
 95 //....oooOO0OOooo........oooOO0OOooo........oo     95 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 96                                                    96 
 97 G4LivermoreComptonModel::~G4LivermoreComptonMo     97 G4LivermoreComptonModel::~G4LivermoreComptonModel()
 98 {                                                  98 {
 99   if (IsMaster()) {                                99   if (IsMaster()) {
100     delete shellData;                             100     delete shellData;
101     shellData = nullptr;                          101     shellData = nullptr;
102     delete profileData;                           102     delete profileData;
103     profileData = nullptr;                        103     profileData = nullptr;
104     for (G4int i = 0; i <= maxZ; ++i) {           104     for (G4int i = 0; i <= maxZ; ++i) {
105       if (data[i]) {                              105       if (data[i]) {
106         delete data[i];                           106         delete data[i];
107         data[i] = nullptr;                        107         data[i] = nullptr;
108       }                                           108       }
109     }                                             109     }
110   }                                               110   }
111 }                                                 111 }
112                                                   112 
113 //....oooOO0OOooo........oooOO0OOooo........oo    113 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
114                                                   114 
115 void G4LivermoreComptonModel::Initialise(const    115 void G4LivermoreComptonModel::Initialise(const G4ParticleDefinition* particle,
116                                          const    116                                          const G4DataVector& cuts)
117 {                                                 117 {
118   if (verboseLevel > 1) {                         118   if (verboseLevel > 1) {
119     G4cout << "Calling G4LivermoreComptonModel    119     G4cout << "Calling G4LivermoreComptonModel::Initialise()" << G4endl;
120   }                                               120   }
121                                                   121 
122   // Initialise element selector                  122   // Initialise element selector
123   if (IsMaster()) {                               123   if (IsMaster()) {
124     // Initialise element selector                124     // Initialise element selector
125     InitialiseElementSelectors(particle, cuts)    125     InitialiseElementSelectors(particle, cuts);
126                                                   126 
127     // Access to elements                         127     // Access to elements
128     const G4ElementTable* elemTable = G4Elemen    128     const G4ElementTable* elemTable = G4Element::GetElementTable();
129     size_t numElems = (*elemTable).size();        129     size_t numElems = (*elemTable).size();
130     for (size_t ie = 0; ie < numElems; ++ie) {    130     for (size_t ie = 0; ie < numElems; ++ie) {
131       const G4Element* elem = (*elemTable)[ie]    131       const G4Element* elem = (*elemTable)[ie];
132       const G4int Z = std::min(maxZ, elem->Get    132       const G4int Z = std::min(maxZ, elem->GetZasInt());
133       if (data[Z] == nullptr) {                   133       if (data[Z] == nullptr) {
134         ReadData(Z);                              134         ReadData(Z);
135       }                                           135       }
136     }                                             136     }
137                                                   137 
138     // For Doppler broadening                     138     // For Doppler broadening
139     if (shellData == nullptr) {                   139     if (shellData == nullptr) {
140       shellData = new G4ShellData();              140       shellData = new G4ShellData();
141       shellData->SetOccupancyData();              141       shellData->SetOccupancyData();
142       G4String file = "/doppler/shell-doppler"    142       G4String file = "/doppler/shell-doppler";
143       shellData->LoadData(file);                  143       shellData->LoadData(file);
144     }                                             144     }
145     if (profileData == nullptr) {                 145     if (profileData == nullptr) {
146       profileData = new G4DopplerProfile();       146       profileData = new G4DopplerProfile();
147     }                                             147     }
148   }                                               148   }
149                                                   149 
150   if (verboseLevel > 2) {                         150   if (verboseLevel > 2) {
151     G4cout << "Loaded cross section files" <<     151     G4cout << "Loaded cross section files" << G4endl;
152   }                                               152   }
153                                                   153 
154   if (verboseLevel > 1) {                         154   if (verboseLevel > 1) {
155     G4cout << "G4LivermoreComptonModel is init    155     G4cout << "G4LivermoreComptonModel is initialized " << G4endl
156            << "Energy range: " << LowEnergyLim    156            << "Energy range: " << LowEnergyLimit() / eV << " eV - " << HighEnergyLimit() / GeV
157            << " GeV" << G4endl;                   157            << " GeV" << G4endl;
158   }                                               158   }
159   //                                              159   //
160   if (isInitialised) {                            160   if (isInitialised) {
161     return;                                       161     return;
162   }                                               162   }
163                                                   163 
164   fParticleChange = GetParticleChangeForGamma(    164   fParticleChange = GetParticleChangeForGamma();
165   fAtomDeexcitation = G4LossTableManager::Inst    165   fAtomDeexcitation = G4LossTableManager::Instance()->AtomDeexcitation();
166   isInitialised = true;                           166   isInitialised = true;
167 }                                                 167 }
168                                                   168 
169 //....oooOO0OOooo........oooOO0OOooo........oo    169 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
170                                                   170 
171 void G4LivermoreComptonModel::InitialiseLocal(    171 void G4LivermoreComptonModel::InitialiseLocal(const G4ParticleDefinition*, G4VEmModel* masterModel)
172 {                                                 172 {
173   SetElementSelectors(masterModel->GetElementS    173   SetElementSelectors(masterModel->GetElementSelectors());
174 }                                                 174 }
175                                                   175 
176 //....oooOO0OOooo........oooOO0OOooo........oo    176 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
177                                                   177 
178 const G4String& G4LivermoreComptonModel::FindD    178 const G4String& G4LivermoreComptonModel::FindDirectoryPath()
179 {                                                 179 {
180   // no check in this method - environment var    180   // no check in this method - environment variable is check by utility
181   if (gDataDirectory.empty()) {                   181   if (gDataDirectory.empty()) {
182     auto param = G4EmParameters::Instance();      182     auto param = G4EmParameters::Instance();
183     std::ostringstream ost;                       183     std::ostringstream ost;
184     if (param->LivermoreDataDir() == "livermor    184     if (param->LivermoreDataDir() == "livermore") {
185       ost << param->GetDirLEDATA() << "/liverm    185       ost << param->GetDirLEDATA() << "/livermore/comp/";
186     }                                             186     }
187     else {                                        187     else {
188       ost << param->GetDirLEDATA() << "/epics2    188       ost << param->GetDirLEDATA() << "/epics2017/comp/";
189     }                                             189     }
190     gDataDirectory = ost.str();                   190     gDataDirectory = ost.str();
191   }                                               191   }
192   return gDataDirectory;                          192   return gDataDirectory;
193 }                                                 193 }
194                                                   194 
195 //....oooOO0OOooo........oooOO0OOooo........oo    195 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
196                                                   196 
197 void G4LivermoreComptonModel::ReadData(const G    197 void G4LivermoreComptonModel::ReadData(const G4int ZZ)
198 {                                                 198 {
199   if (verboseLevel > 1) {                         199   if (verboseLevel > 1) {
200     G4cout << "G4LivermoreComptonModel::ReadDa    200     G4cout << "G4LivermoreComptonModel::ReadData()" << G4endl;
201   }                                               201   }
202   const G4int Z = std::min(ZZ, maxZ);             202   const G4int Z = std::min(ZZ, maxZ);
203                                                   203 
204   if (data[Z] != nullptr) {                       204   if (data[Z] != nullptr) {
205     return;                                       205     return;
206   }                                               206   }
207                                                   207 
208   data[Z] = new G4PhysicsFreeVector();            208   data[Z] = new G4PhysicsFreeVector();
209                                                   209 
210   std::ostringstream ost;                         210   std::ostringstream ost;
211   ost << FindDirectoryPath() << "ce-cs-" << Z     211   ost << FindDirectoryPath() << "ce-cs-" << Z << ".dat";
212                                                   212 
213   std::ifstream fin(ost.str().c_str());           213   std::ifstream fin(ost.str().c_str());
214                                                   214 
215   if (!fin.is_open()) {                           215   if (!fin.is_open()) {
216     G4ExceptionDescription ed;                    216     G4ExceptionDescription ed;
217     ed << "G4LivermoreComptonModel data file <    217     ed << "G4LivermoreComptonModel data file <" << ost.str().c_str() << "> is not opened!"
218        << G4endl;                                 218        << G4endl;
219     G4Exception("G4LivermoreComptonModel::Read    219     G4Exception("G4LivermoreComptonModel::ReadData()", "em0003", FatalException, ed,
220                 "G4LEDATA version should be G4    220                 "G4LEDATA version should be G4EMLOW8.0 or later");
221     return;                                       221     return;
222   }                                               222   }
223   else {                                          223   else {
224     if (verboseLevel > 3) {                       224     if (verboseLevel > 3) {
225       G4cout << "File " << ost.str() << " is o    225       G4cout << "File " << ost.str() << " is opened by G4LivermoreComptonModel" << G4endl;
226     }                                             226     }
227     data[Z]->Retrieve(fin, true);                 227     data[Z]->Retrieve(fin, true);
228     data[Z]->ScaleVector(MeV, MeV * barn);        228     data[Z]->ScaleVector(MeV, MeV * barn);
229   }                                               229   }
230   fin.close();                                    230   fin.close();
231 }                                                 231 }
232                                                   232 
233 //....oooOO0OOooo........oooOO0OOooo........oo    233 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
234                                                   234 
235 G4double G4LivermoreComptonModel::ComputeCross    235 G4double G4LivermoreComptonModel::ComputeCrossSectionPerAtom(const G4ParticleDefinition*,
236                                                   236                                                              G4double GammaEnergy, G4double Z,
237                                                   237                                                              G4double, G4double, G4double)
238 {                                                 238 {
239   if (verboseLevel > 3) {                         239   if (verboseLevel > 3) {
240     G4cout << "G4LivermoreComptonModel::Comput    240     G4cout << "G4LivermoreComptonModel::ComputeCrossSectionPerAtom()" << G4endl;
241   }                                               241   }
242   G4double cs = 0.0;                              242   G4double cs = 0.0;
243                                                   243 
244   if (GammaEnergy < LowEnergyLimit()) {           244   if (GammaEnergy < LowEnergyLimit()) {
245     return 0.0;                                   245     return 0.0;
246   }                                               246   }
247                                                   247 
248   G4int intZ = G4lrint(Z);                        248   G4int intZ = G4lrint(Z);
249   if (intZ < 1 || intZ > maxZ) {                  249   if (intZ < 1 || intZ > maxZ) {
250     return cs;                                    250     return cs;
251   }                                               251   }
252                                                   252 
253   G4PhysicsFreeVector* pv = data[intZ];           253   G4PhysicsFreeVector* pv = data[intZ];
254                                                   254 
255   // if element was not initialised               255   // if element was not initialised
256   // do initialisation safely for MT mode         256   // do initialisation safely for MT mode
257   if (pv == nullptr) {                            257   if (pv == nullptr) {
258     InitialiseForElement(nullptr, intZ);          258     InitialiseForElement(nullptr, intZ);
259     pv = data[intZ];                              259     pv = data[intZ];
260     if (pv == nullptr) {                          260     if (pv == nullptr) {
261       return cs;                                  261       return cs;
262     }                                             262     }
263   }                                               263   }
264                                                   264 
265   auto n = G4int(pv->GetVectorLength() - 1);      265   auto n = G4int(pv->GetVectorLength() - 1);
266   G4double e1 = pv->Energy(0);                    266   G4double e1 = pv->Energy(0);
267   G4double e2 = pv->Energy(n);                    267   G4double e2 = pv->Energy(n);
268                                                   268 
269   if (GammaEnergy <= e1) {                        269   if (GammaEnergy <= e1) {
270     cs = GammaEnergy / (e1 * e1) * pv->Value(e    270     cs = GammaEnergy / (e1 * e1) * pv->Value(e1);
271   }                                               271   }
272   else if (GammaEnergy <= e2) {                   272   else if (GammaEnergy <= e2) {
273     cs = pv->Value(GammaEnergy) / GammaEnergy;    273     cs = pv->Value(GammaEnergy) / GammaEnergy;
274   }                                               274   }
275   else if (GammaEnergy > e2) {                    275   else if (GammaEnergy > e2) {
276     cs = pv->Value(e2) / GammaEnergy;             276     cs = pv->Value(e2) / GammaEnergy;
277   }                                               277   }
278                                                   278 
279   return cs;                                      279   return cs;
280 }                                                 280 }
281                                                   281 
282 //....oooOO0OOooo........oooOO0OOooo........oo    282 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
283                                                   283 
284 void G4LivermoreComptonModel::SampleSecondarie    284 void G4LivermoreComptonModel::SampleSecondaries(std::vector<G4DynamicParticle*>* fvect,
285                                                   285                                                 const G4MaterialCutsCouple* couple,
286                                                   286                                                 const G4DynamicParticle* aDynamicGamma, G4double,
287                                                   287                                                 G4double)
288 {                                                 288 {
289   // The scattered gamma energy is sampled acc    289   // The scattered gamma energy is sampled according to Klein - Nishina
290   // formula then accepted or rejected dependi    290   // formula then accepted or rejected depending on the Scattering Function
291   // multiplied by factor from Klein - Nishina    291   // multiplied by factor from Klein - Nishina formula.
292   // Expression of the angular distribution as    292   // Expression of the angular distribution as Klein Nishina
293   // angular and energy distribution and Scatt    293   // angular and energy distribution and Scattering fuctions is taken from
294   // D. E. Cullen "A simple model of photon tr    294   // D. E. Cullen "A simple model of photon transport" Nucl. Instr. Meth.
295   // Phys. Res. B 101 (1995). Method of sampli    295   // Phys. Res. B 101 (1995). Method of sampling with form factors is different
296   // data are interpolated while in the articl    296   // data are interpolated while in the article they are fitted.
297   // Reference to the article is from J. Stepa    297   // Reference to the article is from J. Stepanek New Photon, Positron
298   // and Electron Interaction Data for GEANT i    298   // and Electron Interaction Data for GEANT in Energy Range from 1 eV to 10
299   // TeV (draft).                                 299   // TeV (draft).
300   // The random number techniques of Butcher &    300   // The random number techniques of Butcher & Messel are used
301   // (Nucl Phys 20(1960),15).                     301   // (Nucl Phys 20(1960),15).
302                                                   302 
303   G4double photonEnergy0 = aDynamicGamma->GetK    303   G4double photonEnergy0 = aDynamicGamma->GetKineticEnergy();
304                                                   304 
305   if (verboseLevel > 3) {                         305   if (verboseLevel > 3) {
306     G4cout << "G4LivermoreComptonModel::Sample    306     G4cout << "G4LivermoreComptonModel::SampleSecondaries() E(MeV)= " << photonEnergy0 / MeV
307            << " in " << couple->GetMaterial()-    307            << " in " << couple->GetMaterial()->GetName() << G4endl;
308   }                                               308   }
309                                                   309 
310   // do nothing below the threshold               310   // do nothing below the threshold
311   // should never get here because the XS is z    311   // should never get here because the XS is zero below the limit
312   if (photonEnergy0 < LowEnergyLimit()) return    312   if (photonEnergy0 < LowEnergyLimit()) return;
313                                                   313 
314   G4double e0m = photonEnergy0 / electron_mass    314   G4double e0m = photonEnergy0 / electron_mass_c2;
315   G4ParticleMomentum photonDirection0 = aDynam    315   G4ParticleMomentum photonDirection0 = aDynamicGamma->GetMomentumDirection();
316                                                   316 
317   // Select randomly one element in the curren    317   // Select randomly one element in the current material
318   const G4ParticleDefinition* particle = aDyna    318   const G4ParticleDefinition* particle = aDynamicGamma->GetDefinition();
319   const G4Element* elm = SelectRandomAtom(coup    319   const G4Element* elm = SelectRandomAtom(couple, particle, photonEnergy0);
320                                                   320 
321   G4int Z = elm->GetZasInt();                     321   G4int Z = elm->GetZasInt();
322                                                   322 
323   G4double epsilon0Local = 1. / (1. + 2. * e0m    323   G4double epsilon0Local = 1. / (1. + 2. * e0m);
324   G4double epsilon0Sq = epsilon0Local * epsilo    324   G4double epsilon0Sq = epsilon0Local * epsilon0Local;
325   G4double alpha1 = -G4Log(epsilon0Local);        325   G4double alpha1 = -G4Log(epsilon0Local);
326   G4double alpha2 = 0.5 * (1. - epsilon0Sq);      326   G4double alpha2 = 0.5 * (1. - epsilon0Sq);
327                                                   327 
328   G4double wlPhoton = h_Planck * c_light / pho    328   G4double wlPhoton = h_Planck * c_light / photonEnergy0;
329                                                   329 
330   // Sample the energy of the scattered photon    330   // Sample the energy of the scattered photon
331   G4double epsilon;                               331   G4double epsilon;
332   G4double epsilonSq;                             332   G4double epsilonSq;
333   G4double oneCosT;                               333   G4double oneCosT;
334   G4double sinT2;                                 334   G4double sinT2;
335   G4double gReject;                               335   G4double gReject;
336                                                   336 
337   if (verboseLevel > 3) {                         337   if (verboseLevel > 3) {
338     G4cout << "Started loop to sample gamma en    338     G4cout << "Started loop to sample gamma energy" << G4endl;
339   }                                               339   }
340                                                   340 
341   do {                                            341   do {
342     if (alpha1 / (alpha1 + alpha2) > G4Uniform    342     if (alpha1 / (alpha1 + alpha2) > G4UniformRand()) {
343       epsilon = G4Exp(-alpha1 * G4UniformRand(    343       epsilon = G4Exp(-alpha1 * G4UniformRand());
344       epsilonSq = epsilon * epsilon;              344       epsilonSq = epsilon * epsilon;
345     }                                             345     }
346     else {                                        346     else {
347       epsilonSq = epsilon0Sq + (1. - epsilon0S    347       epsilonSq = epsilon0Sq + (1. - epsilon0Sq) * G4UniformRand();
348       epsilon = std::sqrt(epsilonSq);             348       epsilon = std::sqrt(epsilonSq);
349     }                                             349     }
350                                                   350 
351     oneCosT = (1. - epsilon) / (epsilon * e0m)    351     oneCosT = (1. - epsilon) / (epsilon * e0m);
352     sinT2 = oneCosT * (2. - oneCosT);             352     sinT2 = oneCosT * (2. - oneCosT);
353     G4double x = std::sqrt(oneCosT / 2.) * cm     353     G4double x = std::sqrt(oneCosT / 2.) * cm / wlPhoton;
354     G4double scatteringFunction = ComputeScatt    354     G4double scatteringFunction = ComputeScatteringFunction(x, Z);
355     gReject = (1. - epsilon * sinT2 / (1. + ep    355     gReject = (1. - epsilon * sinT2 / (1. + epsilonSq)) * scatteringFunction;
356                                                   356 
357   } while (gReject < G4UniformRand() * Z);        357   } while (gReject < G4UniformRand() * Z);
358                                                   358 
359   G4double cosTheta = 1. - oneCosT;               359   G4double cosTheta = 1. - oneCosT;
360   G4double sinTheta = std::sqrt(sinT2);           360   G4double sinTheta = std::sqrt(sinT2);
361   G4double phi = twopi * G4UniformRand();         361   G4double phi = twopi * G4UniformRand();
362   G4double dirx = sinTheta * std::cos(phi);       362   G4double dirx = sinTheta * std::cos(phi);
363   G4double diry = sinTheta * std::sin(phi);       363   G4double diry = sinTheta * std::sin(phi);
364   G4double dirz = cosTheta;                       364   G4double dirz = cosTheta;
365                                                   365 
366   // Doppler broadening -  Method based on:       366   // Doppler broadening -  Method based on:
367   // Y. Namito, S. Ban and H. Hirayama,           367   // Y. Namito, S. Ban and H. Hirayama,
368   // "Implementation of the Doppler Broadening    368   // "Implementation of the Doppler Broadening of a Compton-Scattered Photon
369   // into the EGS4 Code", NIM A 349, pp. 489-4    369   // into the EGS4 Code", NIM A 349, pp. 489-494, 1994
370                                                   370 
371   // Maximum number of sampling iterations        371   // Maximum number of sampling iterations
372   static G4int maxDopplerIterations = 1000;       372   static G4int maxDopplerIterations = 1000;
373   G4double bindingE = 0.;                         373   G4double bindingE = 0.;
374   G4double photonEoriginal = epsilon * photonE    374   G4double photonEoriginal = epsilon * photonEnergy0;
375   G4double photonE = -1.;                         375   G4double photonE = -1.;
376   G4int iteration = 0;                            376   G4int iteration = 0;
377   G4double eMax = photonEnergy0;                  377   G4double eMax = photonEnergy0;
378                                                   378 
379   G4int shellIdx = 0;                             379   G4int shellIdx = 0;
380                                                   380 
381   if (verboseLevel > 3) {                         381   if (verboseLevel > 3) {
382     G4cout << "Started loop to sample broading    382     G4cout << "Started loop to sample broading" << G4endl;
383   }                                               383   }
384                                                   384 
385   do {                                            385   do {
386     ++iteration;                                  386     ++iteration;
387     // Select shell based on shell occupancy      387     // Select shell based on shell occupancy
388     shellIdx = shellData->SelectRandomShell(Z)    388     shellIdx = shellData->SelectRandomShell(Z);
389     bindingE = shellData->BindingEnergy(Z, she    389     bindingE = shellData->BindingEnergy(Z, shellIdx);
390                                                   390 
391     if (verboseLevel > 3) {                       391     if (verboseLevel > 3) {
392       G4cout << "Shell ID= " << shellIdx << "     392       G4cout << "Shell ID= " << shellIdx << " Ebind(keV)= " << bindingE / keV << G4endl;
393     }                                             393     }
394                                                   394 
395     eMax = photonEnergy0 - bindingE;              395     eMax = photonEnergy0 - bindingE;
396                                                   396 
397     // Randomly sample bound electron momentum    397     // Randomly sample bound electron momentum
398     // (memento: the data set is in Atomic Uni    398     // (memento: the data set is in Atomic Units)
399     G4double pSample = profileData->RandomSele    399     G4double pSample = profileData->RandomSelectMomentum(Z, shellIdx);
400     if (verboseLevel > 3) {                       400     if (verboseLevel > 3) {
401       G4cout << "pSample= " << pSample << G4en    401       G4cout << "pSample= " << pSample << G4endl;
402     }                                             402     }
403     // Rescale from atomic units                  403     // Rescale from atomic units
404     G4double pDoppler = pSample * fine_structu    404     G4double pDoppler = pSample * fine_structure_const;
405     G4double pDoppler2 = pDoppler * pDoppler;     405     G4double pDoppler2 = pDoppler * pDoppler;
406     G4double var2 = 1. + oneCosT * e0m;           406     G4double var2 = 1. + oneCosT * e0m;
407     G4double var3 = var2 * var2 - pDoppler2;      407     G4double var3 = var2 * var2 - pDoppler2;
408     G4double var4 = var2 - pDoppler2 * cosThet    408     G4double var4 = var2 - pDoppler2 * cosTheta;
409     G4double var = var4 * var4 - var3 + pDoppl    409     G4double var = var4 * var4 - var3 + pDoppler2 * var3;
410     if (var > 0.) {                               410     if (var > 0.) {
411       G4double varSqrt = std::sqrt(var);          411       G4double varSqrt = std::sqrt(var);
412       G4double scale = photonEnergy0 / var3;      412       G4double scale = photonEnergy0 / var3;
413       // Random select either root                413       // Random select either root
414       if (G4UniformRand() < 0.5) {                414       if (G4UniformRand() < 0.5) {
415         photonE = (var4 - varSqrt) * scale;       415         photonE = (var4 - varSqrt) * scale;
416       }                                           416       }
417       else {                                      417       else {
418         photonE = (var4 + varSqrt) * scale;       418         photonE = (var4 + varSqrt) * scale;
419       }                                           419       }
420     }                                             420     }
421     else {                                        421     else {
422       photonE = -1.;                              422       photonE = -1.;
423     }                                             423     }
424   } while (iteration <= maxDopplerIterations &    424   } while (iteration <= maxDopplerIterations && photonE > eMax);
425                                                   425 
426   // End of recalculation of photon energy wit    426   // End of recalculation of photon energy with Doppler broadening
427   // Revert to original if maximum number of i    427   // Revert to original if maximum number of iterations threshold
428   // has been reached                             428   // has been reached
429   if (iteration >= maxDopplerIterations) {        429   if (iteration >= maxDopplerIterations) {
430     photonE = photonEoriginal;                    430     photonE = photonEoriginal;
431     bindingE = 0.;                                431     bindingE = 0.;
432   }                                               432   }
433                                                   433 
434   // Update G4VParticleChange for the scattere    434   // Update G4VParticleChange for the scattered photon
435   G4ThreeVector photonDirection1(dirx, diry, d    435   G4ThreeVector photonDirection1(dirx, diry, dirz);
436   photonDirection1.rotateUz(photonDirection0);    436   photonDirection1.rotateUz(photonDirection0);
437   fParticleChange->ProposeMomentumDirection(ph    437   fParticleChange->ProposeMomentumDirection(photonDirection1);
438                                                   438 
439   G4double photonEnergy1 = photonE;               439   G4double photonEnergy1 = photonE;
440                                                   440 
441   if (photonEnergy1 > 0.) {                       441   if (photonEnergy1 > 0.) {
442     fParticleChange->SetProposedKineticEnergy(    442     fParticleChange->SetProposedKineticEnergy(photonEnergy1);
443   }                                               443   }
444   else {                                          444   else {
445     // photon absorbed                            445     // photon absorbed
446     photonEnergy1 = 0.;                           446     photonEnergy1 = 0.;
447     fParticleChange->SetProposedKineticEnergy(    447     fParticleChange->SetProposedKineticEnergy(0.);
448     fParticleChange->ProposeTrackStatus(fStopA    448     fParticleChange->ProposeTrackStatus(fStopAndKill);
449     fParticleChange->ProposeLocalEnergyDeposit    449     fParticleChange->ProposeLocalEnergyDeposit(photonEnergy0);
450     return;                                       450     return;
451   }                                               451   }
452                                                   452 
453   // Kinematics of the scattered electron         453   // Kinematics of the scattered electron
454   G4double eKineticEnergy = photonEnergy0 - ph    454   G4double eKineticEnergy = photonEnergy0 - photonEnergy1 - bindingE;
455                                                   455 
456   // protection against negative final energy:    456   // protection against negative final energy: no e- is created
457   if (eKineticEnergy < 0.0) {                     457   if (eKineticEnergy < 0.0) {
458     fParticleChange->ProposeLocalEnergyDeposit    458     fParticleChange->ProposeLocalEnergyDeposit(photonEnergy0 - photonEnergy1);
459     return;                                       459     return;
460   }                                               460   }
461                                                   461 
462   G4double eTotalEnergy = eKineticEnergy + ele    462   G4double eTotalEnergy = eKineticEnergy + electron_mass_c2;
463                                                   463 
464   G4double electronE = photonEnergy0 * (1. - e    464   G4double electronE = photonEnergy0 * (1. - epsilon) + electron_mass_c2;
465   G4double electronP2 = electronE * electronE     465   G4double electronP2 = electronE * electronE - electron_mass_c2 * electron_mass_c2;
466   G4double sinThetaE = -1.;                       466   G4double sinThetaE = -1.;
467   G4double cosThetaE = 0.;                        467   G4double cosThetaE = 0.;
468   if (electronP2 > 0.) {                          468   if (electronP2 > 0.) {
469     cosThetaE = (eTotalEnergy + photonEnergy1)    469     cosThetaE = (eTotalEnergy + photonEnergy1) * (1. - epsilon) / std::sqrt(electronP2);
470     sinThetaE = -1. * sqrt(1. - cosThetaE * co    470     sinThetaE = -1. * sqrt(1. - cosThetaE * cosThetaE);
471   }                                               471   }
472                                                   472 
473   G4double eDirX = sinThetaE * std::cos(phi);     473   G4double eDirX = sinThetaE * std::cos(phi);
474   G4double eDirY = sinThetaE * std::sin(phi);     474   G4double eDirY = sinThetaE * std::sin(phi);
475   G4double eDirZ = cosThetaE;                     475   G4double eDirZ = cosThetaE;
476                                                   476 
477   G4ThreeVector eDirection(eDirX, eDirY, eDirZ    477   G4ThreeVector eDirection(eDirX, eDirY, eDirZ);
478   eDirection.rotateUz(photonDirection0);          478   eDirection.rotateUz(photonDirection0);
479   auto dp = new G4DynamicParticle(G4Electron::    479   auto dp = new G4DynamicParticle(G4Electron::Electron(), eDirection, eKineticEnergy);
480   fvect->push_back(dp);                           480   fvect->push_back(dp);
481                                                   481 
482   // sample deexcitation                          482   // sample deexcitation
483   if (verboseLevel > 3) {                         483   if (verboseLevel > 3) {
484     G4cout << "Started atomic de-excitation "     484     G4cout << "Started atomic de-excitation " << fAtomDeexcitation << G4endl;
485   }                                               485   }
486                                                   486 
487   if (nullptr != fAtomDeexcitation && iteratio    487   if (nullptr != fAtomDeexcitation && iteration < maxDopplerIterations) {
488     G4int index = couple->GetIndex();             488     G4int index = couple->GetIndex();
489     if (fAtomDeexcitation->CheckDeexcitationAc    489     if (fAtomDeexcitation->CheckDeexcitationActiveRegion(index)) {
490       size_t nbefore = fvect->size();             490       size_t nbefore = fvect->size();
491       auto as = G4AtomicShellEnumerator(shellI    491       auto as = G4AtomicShellEnumerator(shellIdx);
492       const G4AtomicShell* shell = fAtomDeexci    492       const G4AtomicShell* shell = fAtomDeexcitation->GetAtomicShell(Z, as);
493       fAtomDeexcitation->GenerateParticles(fve    493       fAtomDeexcitation->GenerateParticles(fvect, shell, Z, index);
494       size_t nafter = fvect->size();              494       size_t nafter = fvect->size();
495       if (nafter > nbefore) {                     495       if (nafter > nbefore) {
496         for (size_t i = nbefore; i < nafter; +    496         for (size_t i = nbefore; i < nafter; ++i) {
497           // Check if there is enough residual    497           // Check if there is enough residual energy
498           if (bindingE >= ((*fvect)[i])->GetKi    498           if (bindingE >= ((*fvect)[i])->GetKineticEnergy()) {
499             // Ok, this is a valid secondary:     499             // Ok, this is a valid secondary: keep it
500             bindingE -= ((*fvect)[i])->GetKine    500             bindingE -= ((*fvect)[i])->GetKineticEnergy();
501           }                                       501           }
502           else {                                  502           else {
503             // Invalid secondary: not enough e    503             // Invalid secondary: not enough energy to create it!
504             // Keep its energy in the local de    504             // Keep its energy in the local deposit
505             delete (*fvect)[i];                   505             delete (*fvect)[i];
506             (*fvect)[i] = nullptr;                506             (*fvect)[i] = nullptr;
507           }                                       507           }
508         }                                         508         }
509       }                                           509       }
510     }                                             510     }
511   }                                               511   }
512   bindingE = std::max(bindingE, 0.0);             512   bindingE = std::max(bindingE, 0.0);
513   fParticleChange->ProposeLocalEnergyDeposit(b    513   fParticleChange->ProposeLocalEnergyDeposit(bindingE);
514 }                                                 514 }
515                                                   515 
516 //....oooOO0OOooo........oooOO0OOooo........oo    516 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
517                                                   517 
518 G4double G4LivermoreComptonModel::ComputeScatt    518 G4double G4LivermoreComptonModel::ComputeScatteringFunction(G4double x, G4int Z)
519 {                                                 519 {
520   G4double value = Z;                             520   G4double value = Z;
521   if (x <= ScatFuncFitParam[Z][3]) {              521   if (x <= ScatFuncFitParam[Z][3]) {
522     G4double lgq = G4Log(x) / ln10;               522     G4double lgq = G4Log(x) / ln10;
523                                                   523 
524     if (lgq < ScatFuncFitParam[Z][1]) {           524     if (lgq < ScatFuncFitParam[Z][1]) {
525       value = ScatFuncFitParam[Z][4] + lgq * S    525       value = ScatFuncFitParam[Z][4] + lgq * ScatFuncFitParam[Z][5];
526     }                                             526     }
527     else if (lgq >= ScatFuncFitParam[Z][1] &&     527     else if (lgq >= ScatFuncFitParam[Z][1] && lgq < ScatFuncFitParam[Z][2]) {
528       value = ScatFuncFitParam[Z][6]              528       value = ScatFuncFitParam[Z][6]
529               + lgq                               529               + lgq
530                   * (ScatFuncFitParam[Z][7]       530                   * (ScatFuncFitParam[Z][7]
531                      + lgq                        531                      + lgq
532                          * (ScatFuncFitParam[Z    532                          * (ScatFuncFitParam[Z][8]
533                             + lgq * (ScatFuncF    533                             + lgq * (ScatFuncFitParam[Z][9] + lgq * ScatFuncFitParam[Z][10])));
534     }                                             534     }
535     else {                                        535     else {
536       value = ScatFuncFitParam[Z][11]             536       value = ScatFuncFitParam[Z][11]
537               + lgq                               537               + lgq
538                   * (ScatFuncFitParam[Z][12]      538                   * (ScatFuncFitParam[Z][12]
539                      + lgq                        539                      + lgq
540                          * (ScatFuncFitParam[Z    540                          * (ScatFuncFitParam[Z][13]
541                             + lgq * (ScatFuncF    541                             + lgq * (ScatFuncFitParam[Z][14] + lgq * ScatFuncFitParam[Z][15])));
542     }                                             542     }
543     value = G4Exp(value * ln10);                  543     value = G4Exp(value * ln10);
544   }                                               544   }
545   // G4cout << "    value= " << value << G4end    545   // G4cout << "    value= " << value << G4endl;
546   return value;                                   546   return value;
547 }                                                 547 }
548                                                   548 
549 //....oooOO0OOooo........oooOO0OOooo........oo    549 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
550                                                   550 
551 void G4LivermoreComptonModel::InitialiseForEle    551 void G4LivermoreComptonModel::InitialiseForElement(const G4ParticleDefinition*, G4int Z)
552 {                                                 552 {
553   G4AutoLock l(&LivermoreComptonModelMutex);      553   G4AutoLock l(&LivermoreComptonModelMutex);
554   if (data[Z] == nullptr) {                       554   if (data[Z] == nullptr) {
555     ReadData(Z);                                  555     ReadData(Z);
556   }                                               556   }
557   l.unlock();                                     557   l.unlock();
558 }                                                 558 }
559                                                   559 
560 //....oooOO0OOooo........oooOO0OOooo........oo    560 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
561                                                   561 
562 // Fitting data to compute scattering function    562 // Fitting data to compute scattering function based on EPICS2017
563 const G4double G4LivermoreComptonModel::ScatFu    563 const G4double G4LivermoreComptonModel::ScatFuncFitParam[101][16] = {
564   {0, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,     564   {0, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
565   {1, 6.000000000e+00, 7.087999300e+00, 1.4996    565   {1, 6.000000000e+00, 7.087999300e+00, 1.499680000e+08, -1.435559123e+01, 2.000000043e+00,
566    -3.925518125e+02, 2.434944521e+02, -5.78439    566    -3.925518125e+02, 2.434944521e+02, -5.784393623e+01, 6.160181204e+00, -2.461326602e-01,
567    -1.649463594e+03, 8.121933215e+02, -1.49831    567    -1.649463594e+03, 8.121933215e+02, -1.498313316e+02, 1.227279742e+01, -3.765996345e-01},
568   {2, 6.000000000e+00, 7.199000403e+00, 2.5003    568   {2, 6.000000000e+00, 7.199000403e+00, 2.500350000e+08, -1.430103027e+01, 2.000000041e+00,
569    3.574019365e+02, -1.978574937e+02, 3.971327    569    3.574019365e+02, -1.978574937e+02, 3.971327838e+01, -3.443224867e+00, 1.091825227e-01,
570    -4.009960832e+02, 1.575831469e+02, -2.17476    570    -4.009960832e+02, 1.575831469e+02, -2.174763446e+01, 1.185163045e+00, -1.814503741e-02},
571   {3, 6.000000000e+00, 7.301000136e+00, 3.9994    571   {3, 6.000000000e+00, 7.301000136e+00, 3.999450000e+08, -1.357675458e+01, 2.000000074e+00,
572    7.051635443e+02, -4.223841786e+02, 9.318729    572    7.051635443e+02, -4.223841786e+02, 9.318729225e+01, -9.002642767e+00, 3.220625771e-01,
573    1.524679907e+03, -7.851479582e+02, 1.509941    573    1.524679907e+03, -7.851479582e+02, 1.509941052e+02, -1.285477984e+01, 4.089348830e-01},
574   {4, 6.000000000e+00, 7.349500202e+00, 5.0003    574   {4, 6.000000000e+00, 7.349500202e+00, 5.000350000e+08, -1.375202671e+01, 1.999999994e+00,
575    -1.832909604e+02, 1.193997722e+02, -3.03432    575    -1.832909604e+02, 1.193997722e+02, -3.034328318e+01, 3.471545044e+00, -1.484222463e-01,
576    1.397476657e+03, -7.026416933e+02, 1.320720    576    1.397476657e+03, -7.026416933e+02, 1.320720559e+02, -1.099824430e+01, 3.424610532e-01},
577   {5, 6.000000000e+00, 7.388999972e+00, 5.9979    577   {5, 6.000000000e+00, 7.388999972e+00, 5.997910000e+08, -1.380548571e+01, 2.000000004e+00,
578    -2.334197545e+02, 1.467013466e+02, -3.57485    578    -2.334197545e+02, 1.467013466e+02, -3.574851109e+01, 3.925047955e+00, -1.616186492e-01,
579    6.784713308e+02, -3.419562074e+02, 6.433945    579    6.784713308e+02, -3.419562074e+02, 6.433945831e+01, -5.354244209e+00, 1.663784966e-01},
580   {6, 6.000000000e+00, 7.422500001e+00, 6.9984    580   {6, 6.000000000e+00, 7.422500001e+00, 6.998420000e+08, -1.388639003e+01, 1.999999863e+00,
581    -2.460254935e+02, 1.516613633e+02, -3.62202    581    -2.460254935e+02, 1.516613633e+02, -3.622024219e+01, 3.900099543e+00, -1.576557530e-01,
582    -1.610185428e+02, 7.010907070e+01, -1.14237    582    -1.610185428e+02, 7.010907070e+01, -1.142375397e+01, 8.303365180e-01, -2.273786010e-02},
583   {7, 6.000000000e+00, 7.451499931e+00, 7.9983    583   {7, 6.000000000e+00, 7.451499931e+00, 7.998340000e+08, -1.388605429e+01, 1.999999612e+00,
584    -3.054540719e+02, 1.877740247e+02, -4.44027    584    -3.054540719e+02, 1.877740247e+02, -4.440273010e+01, 4.718886370e+00, -1.881615004e-01,
585    -2.263864349e+02, 1.017885461e+02, -1.71698    585    -2.263864349e+02, 1.017885461e+02, -1.716982752e+01, 1.292954622e+00, -3.668301946e-02},
586   {8, 6.000000000e+00, 7.451499931e+00, 7.9983    586   {8, 6.000000000e+00, 7.451499931e+00, 7.998340000e+08, -1.395860675e+01, 1.999999906e+00,
587    -3.877174895e+02, 2.345831969e+02, -5.43182    587    -3.877174895e+02, 2.345831969e+02, -5.431822300e+01, 5.643262324e+00, -2.200840540e-01,
588    -7.949384302e+02, 3.757293602e+02, -6.66174    588    -7.949384302e+02, 3.757293602e+02, -6.661741851e+01, 5.256265086e+00, -1.556986777e-01},
589   {9, 6.000000000e+00, 7.451499931e+00, 7.9983    589   {9, 6.000000000e+00, 7.451499931e+00, 7.998340000e+08, -1.400000063e+01, 2.000000106e+00,
590    -2.939854827e+02, 1.784214589e+02, -4.16847    590    -2.939854827e+02, 1.784214589e+02, -4.168473845e+01, 4.377669850e+00, -1.724300716e-01,
591    -1.169326170e+03, 5.545642014e+02, -9.86302    591    -1.169326170e+03, 5.545642014e+02, -9.863024948e+01, 7.801721240e+00, -2.315522357e-01},
592   {10, 6.000000000e+00, 7.451499931e+00, 7.998    592   {10, 6.000000000e+00, 7.451499931e+00, 7.998340000e+08, -1.404575854e+01, 2.000000178e+00,
593    -2.615701853e+02, 1.582596311e+02, -3.69811    593    -2.615701853e+02, 1.582596311e+02, -3.698114811e+01, 3.889093901e+00, -1.533613504e-01,
594    -1.275287356e+03, 6.022076554e+02, -1.06641    594    -1.275287356e+03, 6.022076554e+02, -1.066410301e+02, 8.398773148e+00, -2.481899800e-01},
595   {11, 6.000000000e+00, 7.500000000e+00, 1.000    595   {11, 6.000000000e+00, 7.500000000e+00, 1.000000000e+09, -1.344369665e+01, 1.999999860e+00,
596    1.112662501e+03, -6.807056448e+02, 1.545837    596    1.112662501e+03, -6.807056448e+02, 1.545837472e+02, -1.548462180e+01, 5.785425068e-01,
597    -1.007702307e+03, 4.699937040e+02, -8.22035    597    -1.007702307e+03, 4.699937040e+02, -8.220352105e+01, 6.396099420e+00, -1.867816054e-01},
598   {12, 6.000000000e+00, 7.500000000e+00, 1.000    598   {12, 6.000000000e+00, 7.500000000e+00, 1.000000000e+09, -1.339794047e+01, 2.000000080e+00,
599    9.895649717e+02, -5.983228286e+02, 1.340681    599    9.895649717e+02, -5.983228286e+02, 1.340681576e+02, -1.323046651e+01, 4.863434994e-01,
600    -5.790532602e+02, 2.626052403e+02, -4.46354    600    -5.790532602e+02, 2.626052403e+02, -4.463548055e+01, 3.376239891e+00, -9.588786915e-02},
601   {13, 6.000000000e+00, 7.587999300e+00, 1.499    601   {13, 6.000000000e+00, 7.587999300e+00, 1.499680000e+09, -1.340893585e+01, 2.000000078e+00,
602    7.335256091e+02, -4.405291562e+02, 9.770954    602    7.335256091e+02, -4.405291562e+02, 9.770954287e+01, -9.519317788e+00, 3.448067237e-01,
603    -5.328832253e+02, 2.398514938e+02, -4.04455    603    -5.328832253e+02, 2.398514938e+02, -4.044557740e+01, 3.034597500e+00, -8.547410419e-02},
604   {14, 6.000000000e+00, 7.587999300e+00, 1.499    604   {14, 6.000000000e+00, 7.587999300e+00, 1.499680000e+09, -1.345593195e+01, 2.000000000e+00,
605    3.978691889e+02, -2.370975001e+02, 5.158692    605    3.978691889e+02, -2.370975001e+02, 5.158692183e+01, -4.884868277e+00, 1.707270518e-01,
606    -2.340256277e+02, 9.813362251e+01, -1.52789    606    -2.340256277e+02, 9.813362251e+01, -1.527892110e+01, 1.051070768e+00, -2.692716945e-02},
607   {15, 6.000000000e+00, 7.587999300e+00, 1.499    607   {15, 6.000000000e+00, 7.587999300e+00, 1.499680000e+09, -1.349485049e+01, 2.000000083e+00,
608    2.569833671e+02, -1.513623448e+02, 3.210087    608    2.569833671e+02, -1.513623448e+02, 3.210087153e+01, -2.925756803e+00, 9.724379436e-02,
609    -1.345727293e+01, -6.291081167e+00, 3.23596    609    -1.345727293e+01, -6.291081167e+00, 3.235960888e+00, -4.059236666e-01, 1.601245178e-02},
610   {16, 6.000000000e+00, 7.587999300e+00, 1.499    610   {16, 6.000000000e+00, 7.587999300e+00, 1.499680000e+09, -1.353760159e+01, 1.999999937e+00,
611    1.015293074e+02, -5.721639224e+01, 1.078607    611    1.015293074e+02, -5.721639224e+01, 1.078607152e+01, -7.890593144e-01, 1.726056327e-02,
612    1.854818165e+02, -1.000803879e+02, 1.979815    612    1.854818165e+02, -1.000803879e+02, 1.979815884e+01, -1.704221744e+00, 5.413372375e-02},
613   {17, 6.000000000e+00, 7.587999300e+00, 1.499    613   {17, 6.000000000e+00, 7.587999300e+00, 1.499680000e+09, -1.358502705e+01, 2.000000066e+00,
614    -4.294163461e+01, 2.862162412e+01, -8.28597    614    -4.294163461e+01, 2.862162412e+01, -8.285972104e+00, 1.087745268e+00, -5.172153610e-02,
615    1.676674074e+02, -8.976414784e+01, 1.763329    615    1.676674074e+02, -8.976414784e+01, 1.763329621e+01, -1.507161653e+00, 4.753277254e-02},
616   {18, 6.000000000e+00, 7.587999300e+00, 1.499    616   {18, 6.000000000e+00, 7.587999300e+00, 1.499680000e+09, -1.361978902e+01, 2.000000042e+00,
617    -3.573422746e+01, 2.403066369e+01, -7.17361    617    -3.573422746e+01, 2.403066369e+01, -7.173617800e+00, 9.657608431e-01, -4.662317662e-02,
618    1.811925229e+02, -9.574636323e+01, 1.861940    618    1.811925229e+02, -9.574636323e+01, 1.861940167e+01, -1.578810247e+00, 4.946799877e-02},
619   {19, 6.000000000e+00, 7.650499797e+00, 1.999    619   {19, 6.000000000e+00, 7.650499797e+00, 1.999860000e+09, -1.320760816e+01, 1.999999979e+00,
620    1.263152069e+02, -8.738932892e+01, 2.109042    620    1.263152069e+02, -8.738932892e+01, 2.109042182e+01, -2.166733566e+00, 8.146018979e-02,
621    9.183312428e+01, -5.232836676e+01, 1.072450    621    9.183312428e+01, -5.232836676e+01, 1.072450810e+01, -9.419512971e-01, 3.023884410e-02},
622   {20, 6.000000000e+00, 7.650499797e+00, 1.999    622   {20, 6.000000000e+00, 7.650499797e+00, 1.999860000e+09, -1.314266674e+01, 1.999999876e+00,
623    6.620218058e+02, -4.057504297e+02, 9.180787    623    6.620218058e+02, -4.057504297e+02, 9.180787767e+01, -9.124184449e+00, 3.372518137e-01,
624    7.034138711e+01, -4.198325416e+01, 8.861351    624    7.034138711e+01, -4.198325416e+01, 8.861351614e+00, -7.930506530e-01, 2.578454342e-02},
625   {21, 6.000000000e+00, 7.650499797e+00, 1.999    625   {21, 6.000000000e+00, 7.650499797e+00, 1.999860000e+09, -1.317392498e+01, 1.999999966e+00,
626    6.766093786e+02, -4.129087029e+02, 9.305090    626    6.766093786e+02, -4.129087029e+02, 9.305090790e+01, -9.212128925e+00, 3.392408033e-01,
627    1.916559096e+01, -1.807294109e+01, 4.677205    627    1.916559096e+01, -1.807294109e+01, 4.677205921e+00, -4.679350245e-01, 1.632115420e-02},
628   {22, 6.000000000e+00, 7.650499797e+00, 1.999    628   {22, 6.000000000e+00, 7.650499797e+00, 1.999860000e+09, -1.320065945e+01, 1.999999999e+00,
629    6.969823082e+02, -4.236620289e+02, 9.513714    629    6.969823082e+02, -4.236620289e+02, 9.513714106e+01, -9.388294642e+00, 3.446942719e-01,
630    -6.501317146e+01, 2.138553133e+01, -2.25099    630    -6.501317146e+01, 2.138553133e+01, -2.250998891e+00, 7.219326079e-02, 5.467529893e-04},
631   {23, 6.000000000e+00, 7.650499797e+00, 1.999    631   {23, 6.000000000e+00, 7.650499797e+00, 1.999860000e+09, -1.322914744e+01, 1.999999909e+00,
632    6.889749928e+02, -4.181421624e+02, 9.373529    632    6.889749928e+02, -4.181421624e+02, 9.373529727e+01, -9.233142268e+00, 3.383772151e-01,
633    -1.382770534e+02, 5.540647456e+01, -8.17001    633    -1.382770534e+02, 5.540647456e+01, -8.170017489e+00, 5.295569200e-01, -1.269556386e-02},
634   {24, 6.000000000e+00, 7.650499797e+00, 1.999    634   {24, 6.000000000e+00, 7.650499797e+00, 1.999860000e+09, -1.333724128e+01, 1.999999854e+00,
635    4.365566411e+02, -2.672774427e+02, 6.001631    635    4.365566411e+02, -2.672774427e+02, 6.001631369e+01, -5.895458454e+00, 2.149710735e-01,
636    -2.393534124e+02, 1.020845165e+02, -1.62474    636    -2.393534124e+02, 1.020845165e+02, -1.624744211e+01, 1.150387566e+00, -3.057723021e-02},
637   {25, 6.000000000e+00, 7.650499797e+00, 1.999    637   {25, 6.000000000e+00, 7.650499797e+00, 1.999860000e+09, -1.328399669e+01, 2.000000008e+00,
638    6.461381990e+02, -3.918546518e+02, 8.769548    638    6.461381990e+02, -3.918546518e+02, 8.769548644e+01, -8.618784385e+00, 3.150660827e-01,
639    -2.597409979e+02, 1.113332866e+02, -1.78212    639    -2.597409979e+02, 1.113332866e+02, -1.782124571e+01, 1.269519197e+00, -3.396126698e-02},
640   {26, 6.000000000e+00, 7.849500202e+00, 5.000    640   {26, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.330103000e+01, 1.999999998e+00,
641    4.261007401e+02, -2.588846763e+02, 5.764613    641    4.261007401e+02, -2.588846763e+02, 5.764613910e+01, -5.609660122e+00, 2.024165636e-01,
642    -1.982896712e+02, 8.274273985e+01, -1.28407    642    -1.982896712e+02, 8.274273985e+01, -1.284074215e+01, 8.845687432e-01, -2.282143299e-02},
643   {27, 6.000000000e+00, 7.849500202e+00, 5.000    643   {27, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.332790165e+01, 1.999999922e+00,
644    4.006816638e+02, -2.439311564e+02, 5.435031    644    4.006816638e+02, -2.439311564e+02, 5.435031497e+01, -5.287693457e+00, 1.906696163e-01,
645    -2.205075564e+02, 9.262919772e+01, -1.44890    645    -2.205075564e+02, 9.262919772e+01, -1.448909443e+01, 1.006686819e+00, -2.621294059e-02},
646   {28, 6.000000000e+00, 7.849500202e+00, 5.000    646   {28, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.334678710e+01, 1.999999939e+00,
647    3.967750019e+02, -2.411866801e+02, 5.364872    647    3.967750019e+02, -2.411866801e+02, 5.364872608e+01, -5.210295834e+00, 1.875525119e-01,
648    -2.516823030e+02, 1.065117131e+02, -1.68053    648    -2.516823030e+02, 1.065117131e+02, -1.680533335e+01, 1.178363534e+00, -3.098194406e-02},
649   {29, 6.000000000e+00, 7.849500202e+00, 5.000    649   {29, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.344369664e+01, 1.999999853e+00,
650    2.437671888e+02, -1.499592208e+02, 3.332221    650    2.437671888e+02, -1.499592208e+02, 3.332221026e+01, -3.206587185e+00, 1.138639692e-01,
651    -2.874130637e+02, 1.223381969e+02, -1.94317    651    -2.874130637e+02, 1.223381969e+02, -1.943178054e+01, 1.371979484e+00, -3.633119448e-02},
652   {30, 6.000000000e+00, 7.849500202e+00, 5.000    652   {30, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.338721562e+01, 1.999999911e+00,
653    3.914867984e+02, -2.378147085e+02, 5.284517    653    3.914867984e+02, -2.378147085e+02, 5.284517777e+01, -5.126420186e+00, 1.843322562e-01,
654    -3.235063319e+02, 1.384252948e+02, -2.21184    654    -3.235063319e+02, 1.384252948e+02, -2.211844479e+01, 1.571300198e+00, -4.187323186e-02},
655   {31, 6.000000000e+00, 7.849500202e+00, 5.000    655   {31, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.335654643e+01, 1.999999847e+00,
656    4.325820127e+02, -2.614587597e+02, 5.793273    656    4.325820127e+02, -2.614587597e+02, 5.793273998e+01, -5.611190206e+00, 2.015836827e-01,
657    -3.359152840e+02, 1.437507638e+02, -2.29745    657    -3.359152840e+02, 1.437507638e+02, -2.297457475e+01, 1.632470701e+00, -4.351215346e-02},
658   {32, 6.000000000e+00, 7.849500202e+00, 5.000    658   {32, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.337675047e+01, 1.999999960e+00,
659    4.388195965e+02, -2.642662297e+02, 5.834159    659    4.388195965e+02, -2.642662297e+02, 5.834159168e+01, -5.629419790e+00, 2.014339673e-01,
660    -3.430730654e+02, 1.467102631e+02, -2.34316    660    -3.430730654e+02, 1.467102631e+02, -2.343160019e+01, 1.663765504e+00, -4.431369286e-02},
661   {33, 6.000000000e+00, 7.849500202e+00, 5.000    661   {33, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.339794046e+01, 2.000000074e+00,
662    3.931399547e+02, -2.363700718e+02, 5.197696    662    3.931399547e+02, -2.363700718e+02, 5.197696913e+01, -4.987097655e+00, 1.772567576e-01,
663    -3.501570134e+02, 1.497141578e+02, -2.39088    663    -3.501570134e+02, 1.497141578e+02, -2.390888062e+01, 1.697503580e+00, -4.520887478e-02},
664   {34, 6.000000000e+00, 7.849500202e+00, 5.000    664   {34, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.342021680e+01, 2.000000064e+00,
665    3.772588127e+02, -2.256347960e+02, 4.929790    665    3.772588127e+02, -2.256347960e+02, 4.929790851e+01, -4.694628847e+00, 1.654667382e-01,
666    -3.481053019e+02, 1.486490112e+02, -2.37074    666    -3.481053019e+02, 1.486490112e+02, -2.370745096e+01, 1.680991482e+00, -4.471064364e-02},
667   {35, 6.000000000e+00, 7.849500202e+00, 5.000    667   {35, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.344369666e+01, 1.999999864e+00,
668    3.344685842e+02, -1.994816236e+02, 4.332267    668    3.344685842e+02, -1.994816236e+02, 4.332267376e+01, -4.090542180e+00, 1.426839031e-01,
669    -3.227660675e+02, 1.370301996e+02, -2.17154    669    -3.227660675e+02, 1.370301996e+02, -2.171543883e+01, 1.529681552e+00, -4.041331983e-02},
670   {36, 6.000000000e+00, 7.849500202e+00, 5.000    670   {36, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.345593194e+01, 1.999999999e+00,
671    3.004054446e+02, -1.781334135e+02, 3.834850    671    3.004054446e+02, -1.781334135e+02, 3.834850324e+01, -3.580074471e+00, 1.232168921e-01,
672    -2.980827664e+02, 1.257508661e+02, -1.97879    672    -2.980827664e+02, 1.257508661e+02, -1.978792154e+01, 1.383723149e+00, -3.628014907e-02},
673   {37, 6.000000000e+00, 7.849500202e+00, 5.000    673   {37, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.310790583e+01, 2.000000075e+00,
674    -3.687188343e+01, 1.054409719e+01, -8.51658    674    -3.687188343e+01, 1.054409719e+01, -8.516586814e-01, 9.339751003e-03, 8.809383936e-04,
675    -2.699384784e+02, 1.129635316e+02, -1.76144    675    -2.699384784e+02, 1.129635316e+02, -1.761447452e+01, 1.219971043e+00, -3.166503704e-02},
676   {38, 6.000000000e+00, 7.849500202e+00, 5.000    676   {38, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.304095795e+01, 1.999999892e+00,
677    1.969969064e+02, -1.286503864e+02, 3.008431    677    1.969969064e+02, -1.286503864e+02, 3.008431767e+01, -3.031946980e+00, 1.124456346e-01,
678    -2.331258613e+02, 9.627987243e+01, -1.47851    678    -2.331258613e+02, 9.627987243e+01, -1.478515961e+01, 1.007215642e+00, -2.567873120e-02},
679   {39, 6.000000000e+00, 7.849500202e+00, 5.000    679   {39, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.306048023e+01, 1.999999916e+00,
680    2.891710763e+02, -1.819536752e+02, 4.158265    680    2.891710763e+02, -1.819536752e+02, 4.158265841e+01, -4.128940218e+00, 1.515168697e-01,
681    -1.997404800e+02, 8.119476676e+01, -1.22342    681    -1.997404800e+02, 8.119476676e+01, -1.223426670e+01, 8.159269666e-01, -2.031079820e-02},
682   {40, 6.000000000e+00, 7.849500202e+00, 5.000    682   {40, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.308092198e+01, 2.000000013e+00,
683    3.393782172e+02, -2.103908454e+02, 4.758278    683    3.393782172e+02, -2.103908454e+02, 4.758278737e+01, -4.688308235e+00, 1.709723418e-01,
684    -1.549247582e+02, 6.091403935e+01, -8.79930    684    -1.549247582e+02, 6.091403935e+01, -8.799307373e+00, 5.578963961e-01, -1.305663921e-02},
685   {41, 6.000000000e+00, 7.849500202e+00, 5.000    685   {41, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.316749062e+01, 1.999999920e+00,
686    2.748604341e+02, -1.706429616e+02, 3.843757    686    2.748604341e+02, -1.706429616e+02, 3.843757441e+01, -3.759045290e+00, 1.358263430e-01,
687    -1.163607425e+02, 4.350905533e+01, -5.85930    687    -1.163607425e+02, 4.350905533e+01, -5.859305970e+00, 3.376426246e-01, -6.881281652e-03},
688   {42, 6.000000000e+00, 7.849500202e+00, 5.000    688   {42, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.318708720e+01, 2.000000093e+00,
689    3.203285955e+02, -1.966282865e+02, 4.398204    689    3.203285955e+02, -1.966282865e+02, 4.398204769e+01, -4.283031482e+00, 1.543480828e-01,
690    -9.364181222e+01, 3.329814493e+01, -4.14168    690    -9.364181222e+01, 3.329814493e+01, -4.141689265e+00, 2.095170962e-01, -3.304665813e-03},
691   {43, 6.000000000e+00, 7.849500202e+00, 5.000    691   {43, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.314266674e+01, 1.999999876e+00,
692    4.184977165e+02, -2.552902161e+02, 5.707764    692    4.184977165e+02, -2.552902161e+02, 5.707764818e+01, -5.576436872e+00, 2.020184726e-01,
693    -8.395646154e+01, 2.898228589e+01, -3.42235    693    -8.395646154e+01, 2.898228589e+01, -3.422356654e+00, 1.564059753e-01, -1.838508896e-03},
694   {44, 6.000000000e+00, 7.849500202e+00, 5.000    694   {44, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.322914744e+01, 1.999999909e+00,
695    3.243555305e+02, -1.978255470e+02, 4.397580    695    3.243555305e+02, -1.978255470e+02, 4.397580841e+01, -4.256142657e+00, 1.524431452e-01,
696    -5.506292375e+01, 1.599310639e+01, -1.23715    696    -5.506292375e+01, 1.599310639e+01, -1.237152904e+00, -6.611574411e-03, 2.712232383e-03},
697   {45, 6.000000000e+00, 7.849500202e+00, 5.000    697   {45, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.325181249e+01, 2.000000089e+00,
698    3.037823599e+02, -1.856628295e+02, 4.128167    698    3.037823599e+02, -1.856628295e+02, 4.128167884e+01, -3.991656133e+00, 1.427469878e-01,
699    -5.014186072e+01, 1.386962969e+01, -8.95080    699    -5.014186072e+01, 1.386962969e+01, -8.950806420e-01, -3.095321225e-02, 3.357984426e-03},
700   {46, 6.000000000e+00, 7.849500202e+00, 5.000    700   {46, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.340893584e+01, 2.000000073e+00,
701    3.529797051e+02, -2.101512262e+02, 4.563946    701    3.529797051e+02, -2.101512262e+02, 4.563946029e+01, -4.315279704e+00, 1.509248358e-01,
702    -4.815922691e+01, 1.301508788e+01, -7.58085    702    -4.815922691e+01, 1.301508788e+01, -7.580854951e-01, -4.059091985e-02, 3.608993811e-03},
703   {47, 6.000000000e+00, 7.849500202e+00, 5.000    703   {47, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.328399669e+01, 2.000000008e+00,
704    3.074953924e+02, -1.872462583e+02, 4.149827    704    3.074953924e+02, -1.872462583e+02, 4.149827252e+01, -4.000811852e+00, 1.426973118e-01,
705    -4.897188379e+01, 1.335300002e+01, -8.11005    705    -4.897188379e+01, 1.335300002e+01, -8.110051997e-01, -3.684788190e-02, 3.508156457e-03},
706   {48, 6.000000000e+00, 7.849500202e+00, 5.000    706   {48, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.322914743e+01, 1.999999904e+00,
707    4.059717166e+02, -2.462737702e+02, 5.472040    707    4.059717166e+02, -2.462737702e+02, 5.472040126e+01, -5.311320062e+00, 1.911670149e-01,
708    -5.901534554e+01, 1.791385249e+01, -1.58706    708    -5.901534554e+01, 1.791385249e+01, -1.587065943e+00, 2.182673278e-02, 1.845559896e-03},
709   {49, 6.000000000e+00, 7.849500202e+00, 5.000    709   {49, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.320760815e+01, 1.999999973e+00,
710    4.369774251e+02, -2.639721687e+02, 5.849617    710    4.369774251e+02, -2.639721687e+02, 5.849617557e+01, -5.667842049e+00, 2.037342202e-01,
711    -7.399698219e+01, 2.469785523e+01, -2.73788    711    -7.399698219e+01, 2.469785523e+01, -2.737881327e+00, 1.085351830e-01, -6.022720695e-04},
712   {50, 6.000000000e+00, 7.849500202e+00, 5.000    712   {50, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.322184869e+01, 1.999999993e+00,
713    4.289361021e+02, -2.585593024e+02, 5.714058    713    4.289361021e+02, -2.585593024e+02, 5.714058683e+01, -5.518600115e+00, 1.976499817e-01,
714    -9.269047286e+01, 3.314422349e+01, -4.16734    714    -9.269047286e+01, 3.314422349e+01, -4.167341855e+00, 2.159629039e-01, -3.626802503e-03},
715   {51, 6.000000000e+00, 7.849500202e+00, 5.000    715   {51, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.323657166e+01, 1.999999946e+00,
716    3.866985836e+02, -2.328379698e+02, 5.128884    716    3.866985836e+02, -2.328379698e+02, 5.128884878e+01, -4.929614910e+00, 1.755331333e-01,
717    -1.067869310e+02, 3.950715983e+01, -5.24332    717    -1.067869310e+02, 3.950715983e+01, -5.243321447e+00, 2.967791238e-01, -5.901223876e-03},
718   {52, 6.000000000e+00, 7.951499931e+00, 7.998    718   {52, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.325181248e+01, 2.000000083e+00,
719    3.947511198e+02, -2.363799049e+02, 5.179393    719    3.947511198e+02, -2.363799049e+02, 5.179393756e+01, -4.951603918e+00, 1.753404387e-01,
720    -1.069681982e+02, 3.995521754e+01, -5.38207    720    -1.069681982e+02, 3.995521754e+01, -5.382071424e+00, 3.120248901e-01, -6.467957474e-03},
721   {53, 6.000000000e+00, 7.849500202e+00, 5.000    721   {53, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.326760745e+01, 2.000000205e+00,
722    3.694394448e+02, -2.204699428e+02, 4.806381    722    3.694394448e+02, -2.204699428e+02, 4.806381052e+01, -4.565474883e+00, 1.604614344e-01,
723    -1.180749905e+02, 4.460080701e+01, -6.10521    723    -1.180749905e+02, 4.460080701e+01, -6.105217447e+00, 3.616537171e-01, -7.733059623e-03},
724   {54, 6.000000000e+00, 7.951499931e+00, 7.998    724   {54, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.328399667e+01, 2.000000001e+00,
725    3.423943987e+02, -2.041330669e+02, 4.437639    725    3.423943987e+02, -2.041330669e+02, 4.437639784e+01, -4.197363553e+00, 1.467594367e-01,
726    -1.288973984e+02, 4.985324046e+01, -7.05604    726    -1.288973984e+02, 4.985324046e+01, -7.056041375e+00, 4.378018318e-01, -1.000965926e-02},
727   {55, 6.000000000e+00, 7.849500202e+00, 5.000    727   {55, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.297881025e+01, 1.999999927e+00,
728    -7.663422017e+01, 3.462700567e+01, -6.27355    728    -7.663422017e+01, 3.462700567e+01, -6.273553579e+00, 5.487612834e-01, -1.912897528e-02,
729    -1.318428276e+02, 5.081036112e+01, -7.15490    729    -1.318428276e+02, 5.081036112e+01, -7.154907590e+00, 4.405355674e-01, -9.955685075e-03},
730   {56, 6.000000000e+00, 7.849500202e+00, 5.000    730   {56, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.290657751e+01, 1.999999869e+00,
731    1.084179205e+02, -7.602229206e+01, 1.843754    731    1.084179205e+02, -7.602229206e+01, 1.843754298e+01, -1.892451591e+00, 7.085434176e-02,
732    -1.346311376e+02, 5.207427468e+01, -7.36983    732    -1.346311376e+02, 5.207427468e+01, -7.369834199e+00, 4.568138610e-01, -1.041859875e-02},
733   {57, 6.000000000e+00, 7.725500002e+00, 2.824    733   {57, 6.000000000e+00, 7.725500002e+00, 2.824880000e+09, -1.292445241e+01, 1.999999898e+00,
734    2.995898890e+02, -1.889477671e+02, 4.336642    734    2.995898890e+02, -1.889477671e+02, 4.336642429e+01, -4.330424108e+00, 1.599942758e-01,
735    5.503972208e+00, -1.227641064e+01, 3.699182    735    5.503972208e+00, -1.227641064e+01, 3.699182312e+00, -3.884476060e-01, 1.375966896e-02},
736   {58, 6.000000000e+00, 7.849500202e+00, 5.000    736   {58, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.293554133e+01, 1.999999890e+00,
737    1.709135500e+02, -1.120124681e+02, 2.615893    737    1.709135500e+02, -1.120124681e+02, 2.615893820e+01, -2.624416758e+00, 9.674223967e-02,
738    -1.375860132e+02, 5.337811974e+01, -7.58678    738    -1.375860132e+02, 5.337811974e+01, -7.586786386e+00, 4.730023198e-01, -1.087482303e-02},
739   {59, 6.000000000e+00, 7.849500202e+00, 5.000    739   {59, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.293554133e+01, 1.999999890e+00,
740    1.214691988e+02, -8.336119630e+01, 1.996468    740    1.214691988e+02, -8.336119630e+01, 1.996468944e+01, -2.032283439e+00, 7.562254632e-02,
741    -1.631005912e+02, 6.472051894e+01, -9.47609    741    -1.631005912e+02, 6.472051894e+01, -9.476098737e+00, 6.127875286e-01, -1.475060958e-02},
742   {60, 6.000000000e+00, 7.849500202e+00, 5.000    742   {60, 6.000000000e+00, 7.849500202e+00, 5.000350000e+09, -1.294309494e+01, 1.999999967e+00,
743    1.302719596e+02, -8.835087414e+01, 2.101971    743    1.302719596e+02, -8.835087414e+01, 2.101971144e+01, -2.131084478e+00, 7.908549730e-02,
744    -1.692901279e+02, 6.742727614e+01, -9.92066    744    -1.692901279e+02, 6.742727614e+01, -9.920661139e+00, 6.453186854e-01, -1.564524492e-02},
745   {61, 6.000000000e+00, 7.951499931e+00, 7.998    745   {61, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.295078139e+01, 1.999999905e+00,
746    1.127680235e+02, -7.782238836e+01, 1.865126    746    1.127680235e+02, -7.782238836e+01, 1.865126163e+01, -1.895116816e+00, 7.030502833e-02,
747    -2.059821608e+02, 8.384774285e+01, -1.26734    747    -2.059821608e+02, 8.384774285e+01, -1.267344799e+01, 8.502354115e-01, -2.135994609e-02},
748   {62, 6.000000000e+00, 7.951499931e+00, 7.998    748   {62, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.295860692e+01, 1.999999936e+00,
749    1.203145109e+02, -8.212556537e+01, 1.956606    749    1.203145109e+02, -8.212556537e+01, 1.956606386e+01, -1.981212240e+00, 7.333626288e-02,
750    -2.158058793e+02, 8.810144391e+01, -1.33638    750    -2.158058793e+02, 8.810144391e+01, -1.336380022e+01, 9.000362964e-01, -2.270715579e-02},
751   {63, 6.000000000e+00, 7.951499931e+00, 7.998    751   {63, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.296657573e+01, 1.999999918e+00,
752    1.212159597e+02, -8.256559477e+01, 1.964122    752    1.212159597e+02, -8.256559477e+01, 1.964122173e+01, -1.986442056e+00, 7.345564343e-02,
753    -2.278531434e+02, 9.336519465e+01, -1.42258    753    -2.278531434e+02, 9.336519465e+01, -1.422588608e+01, 9.627883381e-01, -2.441986614e-02},
754   {64, 6.000000000e+00, 7.951499931e+00, 7.998    754   {64, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.298296617e+01, 1.999999921e+00,
755    1.689382403e+02, -1.099987696e+02, 2.551961    755    1.689382403e+02, -1.099987696e+02, 2.551961464e+01, -2.543234152e+00, 9.313568005e-02,
756    -2.282716670e+02, 9.348611199e+01, -1.42358    756    -2.282716670e+02, 9.348611199e+01, -1.423588448e+01, 9.628551072e-01, -2.440492772e-02},
757   {65, 6.000000000e+00, 7.951499931e+00, 7.998    757   {65, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.299139910e+01, 1.999999880e+00,
758    1.724155378e+02, -1.120798437e+02, 2.598264    758    1.724155378e+02, -1.120798437e+02, 2.598264738e+01, -2.588807295e+00, 9.481417896e-02,
759    -2.322687147e+02, 9.517466656e+01, -1.45033    759    -2.322687147e+02, 9.517466656e+01, -1.450332749e+01, 9.817069914e-01, -2.490386807e-02},
760   {66, 6.000000000e+00, 7.951499931e+00, 7.998    760   {66, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.298716240e+01, 1.999999941e+00,
761    1.286079419e+02, -8.646296410e+01, 2.039801    761    1.286079419e+02, -8.646296410e+01, 2.039801258e+01, -2.050839207e+00, 7.549033493e-02,
762    -2.420048480e+02, 9.935663043e+01, -1.51765    762    -2.420048480e+02, 9.935663043e+01, -1.517653800e+01, 1.029875015e+00, -2.619626869e-02},
763   {67, 6.000000000e+00, 7.951499931e+00, 7.998    763   {67, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.299567846e+01, 1.999999971e+00,
764    1.182799697e+02, -8.043389241e+01, 1.908027    764    1.182799697e+02, -8.043389241e+01, 1.908027783e+01, -1.923209794e+00, 7.087268462e-02,
765    -2.464462609e+02, 1.012059056e+02, -1.54646    765    -2.464462609e+02, 1.012059056e+02, -1.546468270e+01, 1.049814070e+00, -2.671320158e-02},
766   {68, 6.000000000e+00, 7.951499931e+00, 7.998    766   {68, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.300436459e+01, 1.999999966e+00,
767    1.150510247e+02, -7.859576077e+01, 1.868688    767    1.150510247e+02, -7.859576077e+01, 1.868688175e+01, -1.885844183e+00, 6.954765052e-02,
768    -2.457555063e+02, 1.007538481e+02, -1.53669    768    -2.457555063e+02, 1.007538481e+02, -1.536692833e+01, 1.041070997e+00, -2.643279207e-02},
769   {69, 6.000000000e+00, 7.951499931e+00, 7.998    769   {69, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.300877391e+01, 2.000000000e+00,
770    1.266280406e+02, -8.514491730e+01, 2.007089    770    1.266280406e+02, -8.514491730e+01, 2.007089332e+01, -2.015475088e+00, 7.409191965e-02,
771    -2.492442707e+02, 1.021615320e+02, -1.55787    771    -2.492442707e+02, 1.021615320e+02, -1.557878384e+01, 1.055183253e+00, -2.678362279e-02},
772   {70, 6.000000000e+00, 7.951499931e+00, 7.998    772   {70, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.301772826e+01, 1.999999912e+00,
773    1.224253568e+02, -8.281395858e+01, 1.958609    773    1.224253568e+02, -8.281395858e+01, 1.958609738e+01, -1.970785167e+00, 7.255458061e-02,
774    -2.488808342e+02, 1.018569466e+02, -1.55060    774    -2.488808342e+02, 1.018569466e+02, -1.550601866e+01, 1.048325396e+00, -2.655661748e-02},
775   {71, 6.000000000e+00, 7.951499931e+00, 7.998    775   {71, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.303151733e+01, 2.000000051e+00,
776    1.862181262e+02, -1.199038630e+02, 2.763107    776    1.862181262e+02, -1.199038630e+02, 2.763107534e+01, -2.742586837e+00, 1.001956495e-01,
777    -2.403102476e+02, 9.796272016e+01, -1.48452    777    -2.403102476e+02, 9.796272016e+01, -1.484525920e+01, 9.987147871e-01, -2.516533876e-02},
778   {72, 6.000000000e+00, 7.951499931e+00, 7.998    778   {72, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.304575796e+01, 2.000000081e+00,
779    2.297759959e+02, -1.448485621e+02, 3.295877    779    2.297759959e+02, -1.448485621e+02, 3.295877082e+01, -3.245850428e+00, 1.179456377e-01,
780    -2.282155654e+02, 9.249921555e+01, -1.39226    780    -2.282155654e+02, 9.249921555e+01, -1.392266984e+01, 9.297052139e-01, -2.323558576e-02},
781   {73, 6.000000000e+00, 7.951499931e+00, 7.998    781   {73, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.306048022e+01, 1.999999910e+00,
782    2.646909006e+02, -1.647716545e+02, 3.719903    782    2.646909006e+02, -1.647716545e+02, 3.719903613e+01, -3.645113853e+00, 1.319890617e-01,
783    -2.165150972e+02, 8.722660467e+01, -1.30341    783    -2.165150972e+02, 8.722660467e+01, -1.303415548e+01, 8.633600348e-01, -2.138300143e-02},
784   {74, 6.000000000e+00, 7.951499931e+00, 7.998    784   {74, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.308092196e+01, 2.000000008e+00,
785    2.251239174e+02, -1.414731209e+02, 3.206048    785    2.251239174e+02, -1.414731209e+02, 3.206048507e+01, -3.142433101e+00, 1.135971917e-01,
786    -2.070173544e+02, 8.296725365e+01, -1.23198    786    -2.070173544e+02, 8.296725365e+01, -1.231986936e+01, 8.102887128e-01, -1.990853407e-02},
787   {75, 6.000000000e+00, 7.951499931e+00, 7.998    787   {75, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.309151488e+01, 1.999999984e+00,
788    2.627532736e+02, -1.629008146e+02, 3.661592    788    2.627532736e+02, -1.629008146e+02, 3.661592385e+01, -3.571257833e+00, 1.286871297e-01,
789    -1.945762063e+02, 7.740995255e+01, -1.13912    789    -1.945762063e+02, 7.740995255e+01, -1.139129234e+01, 7.415172466e-01, -1.800335280e-02},
790   {76, 6.000000000e+00, 7.951499931e+00, 7.998    790   {76, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.310790581e+01, 2.000000068e+00,
791    2.644549626e+02, -1.637369900e+02, 3.675734    791    2.644549626e+02, -1.637369900e+02, 3.675734857e+01, -3.580665992e+00, 1.288721975e-01,
792    -1.725967865e+02, 6.755389456e+01, -9.73763    792    -1.725967865e+02, 6.755389456e+01, -9.737633351e+00, 6.184954292e-01, -1.457897448e-02},
793   {77, 6.000000000e+00, 7.951499931e+00, 7.998    793   {77, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.311918599e+01, 1.999999933e+00,
794    2.677629012e+02, -1.650589135e+02, 3.690999    794    2.677629012e+02, -1.650589135e+02, 3.690999414e+01, -3.582378706e+00, 1.284763849e-01,
795    -1.584140848e+02, 6.122430396e+01, -8.68087    795    -1.584140848e+02, 6.122430396e+01, -8.680876005e+00, 5.402879020e-01, -1.241386995e-02},
796   {78, 6.000000000e+00, 7.951499931e+00, 7.998    796   {78, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.319382006e+01, 2.000000009e+00,
797    2.420702029e+02, -1.484461630e+02, 3.292288    797    2.420702029e+02, -1.484461630e+02, 3.292288306e+01, -3.162757529e+00, 1.121487556e-01,
798    -1.319886050e+02, 4.940494114e+01, -6.70274    798    -1.319886050e+02, 4.940494114e+01, -6.702740089e+00, 3.934770465e-01, -8.336673895e-03},
799   {79, 6.000000000e+00, 7.951499931e+00, 7.998    799   {79, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.320760814e+01, 1.999999969e+00,
800    2.346714957e+02, -1.439356552e+02, 3.189416    800    2.346714957e+02, -1.439356552e+02, 3.189416251e+01, -3.059071523e+00, 1.082595858e-01,
801    -1.130109430e+02, 4.093029258e+01, -5.28674    801    -1.130109430e+02, 4.093029258e+01, -5.286747014e+00, 2.885753389e-01, -5.428939868e-03},
802   {80, 6.000000000e+00, 7.951499931e+00, 7.998    802   {80, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.316115147e+01, 2.000000093e+00,
803    2.747370538e+02, -1.689673404e+02, 3.771696    803    2.747370538e+02, -1.689673404e+02, 3.771696324e+01, -3.655841153e+00, 1.309852214e-01,
804    -9.001823908e+01, 3.066094857e+01, -3.57045    804    -9.001823908e+01, 3.066094857e+01, -3.570459523e+00, 1.613797666e-01, -1.901561361e-03},
805   {81, 6.000000000e+00, 7.951499931e+00, 7.998    805   {81, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.313667715e+01, 2.000000002e+00,
806    3.142563781e+02, -1.916613838e+02, 4.259167    806    3.142563781e+02, -1.916613838e+02, 4.259167223e+01, -4.119713271e+00, 1.474792530e-01,
807    -7.642731867e+01, 2.462410146e+01, -2.56697    807    -7.642731867e+01, 2.462410146e+01, -2.566977318e+00, 8.741068396e-02, 1.388590928e-04},
808   {82, 6.000000000e+00, 7.951499931e+00, 7.998    808   {82, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.314266674e+01, 1.999999876e+00,
809    3.509258060e+02, -2.125470710e+02, 4.702461    809    3.509258060e+02, -2.125470710e+02, 4.702461797e+01, -4.535380912e+00, 1.620138781e-01,
810    -5.173355302e+01, 1.362015056e+01, -7.32128    810    -5.173355302e+01, 1.362015056e+01, -7.321282362e-01, -4.826261322e-02, 3.892879264e-03},
811   {83, 6.000000000e+00, 7.951499931e+00, 7.998    811   {83, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.315490164e+01, 1.999999944e+00,
812    3.399729483e+02, -2.056319770e+02, 4.539614    812    3.399729483e+02, -2.056319770e+02, 4.539614689e+01, -4.366195994e+00, 1.554792165e-01,
813    -4.131443229e+01, 8.986236911e+00, 3.924628    813    -4.131443229e+01, 8.986236911e+00, 3.924628986e-02, -1.052060828e-01, 5.466043586e-03},
814   {84, 6.000000000e+00, 7.951499931e+00, 7.998    814   {84, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.316749062e+01, 1.999999920e+00,
815    3.640602841e+02, -2.190164327e+02, 4.815603    815    3.640602841e+02, -2.190164327e+02, 4.815603439e+01, -4.616573783e+00, 1.639147626e-01,
816    -3.256862965e+01, 5.115606198e+00, 6.800853    816    -3.256862965e+01, 5.115606198e+00, 6.800853161e-01, -1.522315744e-01, 6.756786448e-03},
817   {85, 6.000000000e+00, 7.951499931e+00, 7.998    817   {85, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.318045630e+01, 2.000000044e+00,
818    3.766488275e+02, -2.257321142e+02, 4.947300    818    3.766488275e+02, -2.257321142e+02, 4.947300991e+01, -4.728919006e+00, 1.674240471e-01,
819    -2.300947210e+01, 8.615223509e-01, 1.388425    819    -2.300947210e+01, 8.615223509e-01, 1.388425307e+00, -2.045157608e-01, 8.200511055e-03},
820   {86, 6.000000000e+00, 7.951499931e+00, 7.998    820   {86, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.319382005e+01, 2.000000006e+00,
821    3.443622947e+02, -2.064342780e+02, 4.516044    821    3.443622947e+02, -2.064342780e+02, 4.516044966e+01, -4.302253084e+00, 1.516667044e-01,
822    -5.399039282e+00, -7.002814559e+00, 2.70251    822    -5.399039282e+00, -7.002814559e+00, 2.702516748e+00, -3.018766003e-01, 1.089953798e-02},
823   {87, 6.000000000e+00, 7.951499931e+00, 7.998    823   {87, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.291364147e+01, 2.000000217e+00,
824    -3.706791591e+01, 1.118013187e+01, -1.05772    824    -3.706791591e+01, 1.118013187e+01, -1.057728859e+00, 3.312859839e-02, -3.138341244e-06,
825    -3.451314336e+00, -7.779254134e+00, 2.81626    825    -3.451314336e+00, -7.779254134e+00, 2.816269849e+00, -3.090776388e-01, 1.106424389e-02},
826   {88, 6.000000000e+00, 7.951499931e+00, 7.998    826   {88, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.284163724e+01, 1.999999954e+00,
827    6.125934670e+01, -4.855548659e+01, 1.248551    827    6.125934670e+01, -4.855548659e+01, 1.248551381e+01, -1.323304763e+00, 5.060744172e-02,
828    -6.021643455e+00, -6.580234329e+00, 2.60744    828    -6.021643455e+00, -6.580234329e+00, 2.607440108e+00, -2.929625239e-01, 1.059951856e-02},
829   {89, 6.000000000e+00, 7.951499931e+00, 7.998    829   {89, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.285387248e+01, 2.000000090e+00,
830    1.350863292e+02, -9.126618691e+01, 2.169932    830    1.350863292e+02, -9.126618691e+01, 2.169932948e+01, -2.201947573e+00, 8.186860720e-02,
831    1.937135880e+01, -1.787129621e+01, 4.485878    831    1.937135880e+01, -1.787129621e+01, 4.485878662e+00, -4.315325969e-01, 1.442445798e-02},
832   {90, 6.000000000e+00, 7.951499931e+00, 7.998    832   {90, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.286966604e+01, 1.999999970e+00,
833    1.784388998e+02, -1.161623817e+02, 2.702376    833    1.784388998e+02, -1.161623817e+02, 2.702376618e+01, -2.704797298e+00, 9.957279361e-02,
834    2.216057166e+01, -1.904990091e+01, 4.671627    834    2.216057166e+01, -1.904990091e+01, 4.671627339e+00, -4.444534802e-01, 1.475921763e-02},
835   {91, 6.000000000e+00, 7.951499931e+00, 7.998    835   {91, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.287289489e+01, 1.999999951e+00,
836    1.368355213e+02, -9.179790820e+01, 2.169910    836    1.368355213e+02, -9.179790820e+01, 2.169910915e+01, -2.190249857e+00, 8.102241740e-02,
837    4.516580666e+00, -1.118102949e+01, 3.357662    837    4.516580666e+00, -1.118102949e+01, 3.357662550e+00, -3.470694353e-01, 1.205639951e-02},
838   {92, 6.000000000e+00, 7.951499931e+00, 7.998    838   {92, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.287942629e+01, 2.000000032e+00,
839    1.427130850e+02, -9.499714618e+01, 2.234475    839    1.427130850e+02, -9.499714618e+01, 2.234475916e+01, -2.247599931e+00, 8.291713193e-02,
840    1.341991149e+01, -1.518503354e+01, 4.030838    840    1.341991149e+01, -1.518503354e+01, 4.030838171e+00, -3.972060658e-01, 1.345248084e-02},
841   {93, 6.000000000e+00, 8.000000000e+00, 1.000    841   {93, 6.000000000e+00, 8.000000000e+00, 1.000000000e+10, -1.288605524e+01, 1.999999761e+00,
842    2.341801100e+01, -2.506119713e+01, 7.023029    842    2.341801100e+01, -2.506119713e+01, 7.023029272e+00, -7.610742531e-01, 2.903245750e-02,
843    -3.575331738e+01, 7.276302226e+00, 1.906771    843    -3.575331738e+01, 7.276302226e+00, 1.906771859e-01, -1.059475755e-01, 5.184029625e-03},
844   {94, 6.000000000e+00, 7.951499931e+00, 7.998    844   {94, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.288272835e+01, 1.999999941e+00,
845    1.287618322e+02, -8.721780968e+01, 2.073255    845    1.287618322e+02, -8.721780968e+01, 2.073255323e+01, -2.100572716e+00, 7.794295578e-02,
846    -2.307262580e+01, 1.113132278e+00, 1.305250    846    -2.307262580e+01, 1.113132278e+00, 1.305250601e+00, -1.948949139e-01, 7.829116438e-03},
847   {95, 6.000000000e+00, 7.951499931e+00, 7.998    847   {95, 6.000000000e+00, 7.951499931e+00, 7.998340000e+09, -1.288940956e+01, 1.999999880e+00,
848    1.334821220e+02, -8.985337775e+01, 2.127928    848    1.334821220e+02, -8.985337775e+01, 2.127928526e+01, -2.150628571e+00, 7.965294640e-02,
849    -3.518662723e+01, 6.514543434e+00, 4.030862    849    -3.518662723e+01, 6.514543434e+00, 4.030862442e-01, -1.279850170e-01, 5.970168353e-03},
850   {96, 6.000000000e+00, 8.000000000e+00, 1.000    850   {96, 6.000000000e+00, 8.000000000e+00, 1.000000000e+10, -1.290553004e+01, 2.000000198e+00,
851    4.545581472e+01, -3.771304300e+01, 9.729129    851    4.545581472e+01, -3.771304300e+01, 9.729129321e+00, -1.017037014e+00, 3.807733199e-02,
852    -4.973805034e+01, 1.342335334e+01, -8.22113    852    -4.973805034e+01, 1.342335334e+01, -8.221139917e-01, -3.176841835e-02, 3.146810827e-03},
853   {97, 6.000000000e+00, 8.000000000e+00, 1.000    853   {97, 6.000000000e+00, 8.000000000e+00, 1.000000000e+10, -1.291150963e+01, 2.000000019e+00,
854    4.689042092e+01, -3.843347264e+01, 9.859294    854    4.689042092e+01, -3.843347264e+01, 9.859294531e+00, -1.027014690e+00, 3.834833665e-02,
855    -4.657434145e+01, 1.204637835e+01, -5.98244    855    -4.657434145e+01, 1.204637835e+01, -5.982449163e-01, -4.786919243e-02, 3.579251285e-03},
856   {98, 6.000000000e+00, 8.000000000e+00, 1.000    856   {98, 6.000000000e+00, 8.000000000e+00, 1.000000000e+10, -1.290833198e+01, 1.999999824e+00,
857    1.337584189e+01, -1.907284620e+01, 5.691614    857    1.337584189e+01, -1.907284620e+01, 5.691614909e+00, -6.307838734e-01, 2.430868142e-02,
858    -5.573362773e+01, 1.615667599e+01, -1.28896    858    -5.573362773e+01, 1.615667599e+01, -1.288960621e+00, 3.655033732e-03, 2.140047522e-03},
859   {99, 6.000000000e+00, 8.000000000e+00, 1.000    859   {99, 6.000000000e+00, 8.000000000e+00, 1.000000000e+10, -1.291435263e+01, 1.999999988e+00,
860    1.376201293e+01, -1.919251815e+01, 5.693799    860    1.376201293e+01, -1.919251815e+01, 5.693799461e+00, -6.287500644e-01, 2.416045199e-02,
861    -4.914211254e+01, 1.314247998e+01, -7.73933    861    -4.914211254e+01, 1.314247998e+01, -7.739336035e-01, -3.530513333e-02, 3.241293077e-03},
862   {100, 6.000000000e+00, 8.000000000e+00, 1.00    862   {100, 6.000000000e+00, 8.000000000e+00, 1.000000000e+10, -1.292045700e+01, 2.000000004e+00,
863    1.277081775e+01, -1.854047224e+01, 5.534680    863    1.277081775e+01, -1.854047224e+01, 5.534680382e+00, -6.118054153e-01, 2.349768815e-02,
864    -5.074293980e+01, 1.383260974e+01, -8.85890    864    -5.074293980e+01, 1.383260974e+01, -8.858904786e-01, -2.718885953e-02, 3.019620454e-03}};
865 //....oooOO0OOooo........oooOO0OOooo........oo    865 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
866                                                   866