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.1.2)


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