Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/cross_sections/src/G4ChipsNeutronElasticXS.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/hadronic/cross_sections/src/G4ChipsNeutronElasticXS.cc (Version 11.3.0) and /processes/hadronic/cross_sections/src/G4ChipsNeutronElasticXS.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 //                                                 28 //
 29 // G4 Physics class: G4ChipsNeutronElasticXS f     29 // G4 Physics class: G4ChipsNeutronElasticXS for nA elastic cross sections
 30 // Created: M.V. Kossov, CERN/ITEP(Moscow), 10     30 // Created: M.V. Kossov, CERN/ITEP(Moscow), 10-OCT-01
 31 // The last update: M.V. Kossov, CERN/ITEP (Mo     31 // The last update: M.V. Kossov, CERN/ITEP (Moscow) 12-Jan-10 (from G4QElCrSect)
 32 //                                                 32 //
 33 // -------------------------------------------     33 // -------------------------------------------------------------------------------
 34 // Short description: Interaction cross-sectio     34 // Short description: Interaction cross-sections for the elastic process. 
 35 // Class extracted from CHIPS and integrated i     35 // Class extracted from CHIPS and integrated in Geant4 by W.Pokorski
 36 // -------------------------------------------     36 // -------------------------------------------------------------------------------
 37                                                    37 
 38                                                    38 
 39 #include "G4ChipsNeutronElasticXS.hh"              39 #include "G4ChipsNeutronElasticXS.hh"
 40 #include "G4SystemOfUnits.hh"                      40 #include "G4SystemOfUnits.hh"
 41 #include "G4DynamicParticle.hh"                    41 #include "G4DynamicParticle.hh"
 42 #include "G4ParticleDefinition.hh"                 42 #include "G4ParticleDefinition.hh"
 43 #include "G4Neutron.hh"                            43 #include "G4Neutron.hh"
 44 #include "G4Nucleus.hh"                            44 #include "G4Nucleus.hh"
 45 #include "G4ParticleTable.hh"                      45 #include "G4ParticleTable.hh"
 46 #include "G4NucleiProperties.hh"                   46 #include "G4NucleiProperties.hh"
 47 #include "G4IonTable.hh"                           47 #include "G4IonTable.hh"
 48                                                    48 
 49 // factory                                         49 // factory
 50 #include "G4CrossSectionFactory.hh"                50 #include "G4CrossSectionFactory.hh"
 51 //                                                 51 //
 52 G4_DECLARE_XS_FACTORY(G4ChipsNeutronElasticXS)     52 G4_DECLARE_XS_FACTORY(G4ChipsNeutronElasticXS);
 53                                                    53 
 54 namespace {                                        54 namespace {
 55     G4double mNeut;                                55     G4double mNeut;
 56     G4double mProt;                                56     G4double mProt;
 57     G4double mNeut2;                               57     G4double mNeut2;
 58                                                    58 
 59 }                                                  59 }
 60                                                    60 
 61 G4ChipsNeutronElasticXS::G4ChipsNeutronElastic     61 G4ChipsNeutronElasticXS::G4ChipsNeutronElasticXS():G4VCrossSectionDataSet(Default_Name()), nPoints(128), nLast(nPoints-1) 
 62 {                                                  62 {
 63   lPMin=-8.;  // Min tabulated log Momentum        63   lPMin=-8.;  // Min tabulated log Momentum      (D)
 64   lPMax= 8.;  // Max tabulated log Momentum        64   lPMax= 8.;  // Max tabulated log Momentum      (D)
 65   dlnP=(lPMax-lPMin)/nLast;// Log step in tabl     65   dlnP=(lPMax-lPMin)/nLast;// Log step in table  (D)
 66   onlyCS=true;// Flag to calc only CS (not Si/     66   onlyCS=true;// Flag to calc only CS (not Si/Bi)(L)
 67   lastSIG=0.; // Last calculated cross section     67   lastSIG=0.; // Last calculated cross section   (L)
 68   lastLP=-10.;// Last log(momOfIncidentHadron)     68   lastLP=-10.;// Last log(momOfIncidentHadron)   (L)
 69   lastTM=0.;  // Last t_maximum                    69   lastTM=0.;  // Last t_maximum                  (L)
 70   theSS=0.;   // The Last sq.slope of 1st difM     70   theSS=0.;   // The Last sq.slope of 1st difMax (L)
 71   theS1=0.;   // The Last mantissa of 1st difM     71   theS1=0.;   // The Last mantissa of 1st difMax (L)
 72   theB1=0.;   // The Last slope of 1st difr. M     72   theB1=0.;   // The Last slope of 1st difr. Max (L)
 73   theS2=0.;   // The Last mantissa of 2nd difM     73   theS2=0.;   // The Last mantissa of 2nd difMax (L)
 74   theB2=0.;   // The Last slope of 2nd difr. M     74   theB2=0.;   // The Last slope of 2nd difr. Max (L)
 75   theS3=0.;   // The Last mantissa of 3d difrM     75   theS3=0.;   // The Last mantissa of 3d difrMax (L)
 76   theB3=0.;   // The Last slope of 3d difructM     76   theB3=0.;   // The Last slope of 3d difructMax (L)
 77   theS4=0.;   // The Last mantissa of 4th difM     77   theS4=0.;   // The Last mantissa of 4th difMax (L)
 78   theB4=0.;   // The Last slope of 4th difr. M     78   theB4=0.;   // The Last slope of 4th difr. Max (L)
 79   lastTZ=0;   // Last atomic number of the tar     79   lastTZ=0;   // Last atomic number of the target
 80   lastTN=0;   // Last # of neutrons in the tar     80   lastTN=0;   // Last # of neutrons in the target
 81   lastPIN=0.; // Last initialized max momentum     81   lastPIN=0.; // Last initialized max momentum
 82   lastCST=0;  // Elastic cross-section table       82   lastCST=0;  // Elastic cross-section table
 83   lastPAR=0;  // Parameters of FunctionalCalcu     83   lastPAR=0;  // Parameters of FunctionalCalculation
 84   lastSST=0;  // E-dep of sq.slope of the 1st      84   lastSST=0;  // E-dep of sq.slope of the 1st difMax
 85   lastS1T=0;  // E-dep of mantissa of the 1st      85   lastS1T=0;  // E-dep of mantissa of the 1st difMax
 86   lastB1T=0;  // E-dep of theSlope of the 1st      86   lastB1T=0;  // E-dep of theSlope of the 1st difMax
 87   lastS2T=0;  // E-dep of mantissa of the 2nd      87   lastS2T=0;  // E-dep of mantissa of the 2nd difMax
 88   lastB2T=0;  // E-dep of theSlope of the 2nd      88   lastB2T=0;  // E-dep of theSlope of the 2nd difMax
 89   lastS3T=0;  // E-dep of mantissa of the 3d d     89   lastS3T=0;  // E-dep of mantissa of the 3d difrMax
 90   lastB3T=0;  // E-dep of the slope of the 3d      90   lastB3T=0;  // E-dep of the slope of the 3d difMax
 91   lastS4T=0;  // E-dep of mantissa of the 4th      91   lastS4T=0;  // E-dep of mantissa of the 4th difMax
 92   lastB4T=0;  // E-dep of theSlope of the 4th      92   lastB4T=0;  // E-dep of theSlope of the 4th difMax
 93   lastN=0;    // The last N of calculated nucl     93   lastN=0;    // The last N of calculated nucleus
 94   lastZ=0;    // The last Z of calculated nucl     94   lastZ=0;    // The last Z of calculated nucleus
 95   lastP=0.;   // Last used in cross section Mo     95   lastP=0.;   // Last used in cross section Momentum
 96   lastTH=0.;  // Last threshold momentum           96   lastTH=0.;  // Last threshold momentum
 97   lastCS=0.;  // Last value of the Cross Secti     97   lastCS=0.;  // Last value of the Cross Section
 98   lastI=0;    // The last position in the DAMD     98   lastI=0;    // The last position in the DAMDB
 99                                                    99 
100     mNeut= G4Neutron::Neutron()->GetPDGMass()*    100     mNeut= G4Neutron::Neutron()->GetPDGMass()*.001;// MeV to GeV
101     mProt= G4Proton::Proton()->GetPDGMass()*.0    101     mProt= G4Proton::Proton()->GetPDGMass()*.001;// MeV to GeV
102     mNeut2= mNeut*mNeut;                          102     mNeut2= mNeut*mNeut;
103 }                                                 103 }
104                                                   104 
105 G4ChipsNeutronElasticXS::~G4ChipsNeutronElasti    105 G4ChipsNeutronElasticXS::~G4ChipsNeutronElasticXS()
106 {                                                 106 {
107   std::vector<G4double*>::iterator pos;           107   std::vector<G4double*>::iterator pos;
108   for (pos=CST.begin(); pos<CST.end(); pos++)     108   for (pos=CST.begin(); pos<CST.end(); pos++)
109   { delete [] *pos; }                             109   { delete [] *pos; }
110   CST.clear();                                    110   CST.clear();
111   for (pos=PAR.begin(); pos<PAR.end(); pos++)     111   for (pos=PAR.begin(); pos<PAR.end(); pos++)
112   { delete [] *pos; }                             112   { delete [] *pos; }
113   PAR.clear();                                    113   PAR.clear();
114   for (pos=SST.begin(); pos<SST.end(); pos++)     114   for (pos=SST.begin(); pos<SST.end(); pos++)
115   { delete [] *pos; }                             115   { delete [] *pos; }
116   SST.clear();                                    116   SST.clear();
117   for (pos=S1T.begin(); pos<S1T.end(); pos++)     117   for (pos=S1T.begin(); pos<S1T.end(); pos++)
118   { delete [] *pos; }                             118   { delete [] *pos; }
119   S1T.clear();                                    119   S1T.clear();
120   for (pos=B1T.begin(); pos<B1T.end(); pos++)     120   for (pos=B1T.begin(); pos<B1T.end(); pos++)
121   { delete [] *pos; }                             121   { delete [] *pos; }
122   B1T.clear();                                    122   B1T.clear();
123   for (pos=S2T.begin(); pos<S2T.end(); pos++)     123   for (pos=S2T.begin(); pos<S2T.end(); pos++)
124   { delete [] *pos; }                             124   { delete [] *pos; }
125   S2T.clear();                                    125   S2T.clear();
126   for (pos=B2T.begin(); pos<B2T.end(); pos++)     126   for (pos=B2T.begin(); pos<B2T.end(); pos++)
127   { delete [] *pos; }                             127   { delete [] *pos; }
128   B2T.clear();                                    128   B2T.clear();
129   for (pos=S3T.begin(); pos<S3T.end(); pos++)     129   for (pos=S3T.begin(); pos<S3T.end(); pos++)
130   { delete [] *pos; }                             130   { delete [] *pos; }
131   S3T.clear();                                    131   S3T.clear();
132   for (pos=B3T.begin(); pos<B3T.end(); pos++)     132   for (pos=B3T.begin(); pos<B3T.end(); pos++)
133   { delete [] *pos; }                             133   { delete [] *pos; }
134   B3T.clear();                                    134   B3T.clear();
135   for (pos=S4T.begin(); pos<S4T.end(); pos++)     135   for (pos=S4T.begin(); pos<S4T.end(); pos++)
136   { delete [] *pos; }                             136   { delete [] *pos; }
137   S4T.clear();                                    137   S4T.clear();
138   for (pos=B4T.begin(); pos<B4T.end(); pos++)     138   for (pos=B4T.begin(); pos<B4T.end(); pos++)
139   { delete [] *pos; }                             139   { delete [] *pos; }
140   B4T.clear();                                    140   B4T.clear(); 
141 }                                                 141 }
142                                                   142 
143 void                                              143 void
144 G4ChipsNeutronElasticXS::CrossSectionDescripti    144 G4ChipsNeutronElasticXS::CrossSectionDescription(std::ostream& outFile) const
145 {                                                 145 {
146     outFile << "G4ChipsNeutronElasticXS provid    146     outFile << "G4ChipsNeutronElasticXS provides the elastic cross\n"
147             << "section for neutron nucleus sc    147             << "section for neutron nucleus scattering as a function of incident\n"
148             << "momentum. The cross section is    148             << "momentum. The cross section is calculated using M. Kossov's\n"
149             << "CHIPS parameterization of cros    149             << "CHIPS parameterization of cross section data.\n";
150 }                                                 150 }
151                                                   151 
152 G4bool G4ChipsNeutronElasticXS::IsIsoApplicabl    152 G4bool G4ChipsNeutronElasticXS::IsIsoApplicable(const G4DynamicParticle*, G4int, G4int,    
153          const G4Element*,                        153          const G4Element*,
154          const G4Material*)                       154          const G4Material*)
155 {                                                 155 {
156   return true;                                    156   return true;
157 }                                                 157 }
158                                                   158 
159 G4double G4ChipsNeutronElasticXS::GetIsoCrossS    159 G4double G4ChipsNeutronElasticXS::GetIsoCrossSection(const G4DynamicParticle* Pt, G4int tgZ, G4int A,  
160               const G4Isotope*,                   160               const G4Isotope*,
161               const G4Element*,                   161               const G4Element*,
162               const G4Material*)                  162               const G4Material*)
163 {                                                 163 {
164   G4double pMom=Pt->GetTotalMomentum();           164   G4double pMom=Pt->GetTotalMomentum();
165   G4int tgN = A - tgZ;                            165   G4int tgN = A - tgZ;
166                                                   166 
167   return GetChipsCrossSection(pMom, tgZ, tgN,     167   return GetChipsCrossSection(pMom, tgZ, tgN, 2112);
168 }                                                 168 }
169                                                   169 
170 // The main member function giving the collisi    170 // The main member function giving the collision cross section (P is in IU, CS is in mb)
171 // Make pMom in independent units ! (Now it is    171 // Make pMom in independent units ! (Now it is MeV)
172 G4double G4ChipsNeutronElasticXS::GetChipsCros    172 G4double G4ChipsNeutronElasticXS::GetChipsCrossSection(G4double pMom, G4int tgZ, G4int tgN, G4int)
173 {                                                 173 {
174                                                   174 
175   G4double pEn=pMom;                              175   G4double pEn=pMom;
176   onlyCS=false;                                   176   onlyCS=false;
177                                                   177 
178   G4bool in=false;                   // By def    178   G4bool in=false;                   // By default the isotope must be found in the AMDB
179   lastP   = 0.;                      // New mo    179   lastP   = 0.;                      // New momentum history (nothing to compare with)
180   lastN   = tgN;                     // The la    180   lastN   = tgN;                     // The last N of the calculated nucleus
181   lastZ   = tgZ;                     // The la    181   lastZ   = tgZ;                     // The last Z of the calculated nucleus
182   lastI   = (G4int)colN.size();      // Size o    182   lastI   = (G4int)colN.size();      // Size of the Associative Memory DB in the heap
183   if(lastI) for(G4int i=0; i<lastI; ++i) // Lo    183   if(lastI) for(G4int i=0; i<lastI; ++i) // Loop over proj/tgZ/tgN lines of DB
184   {                                  // The nu    184   {                                  // The nucleus with projPDG is found in AMDB
185     if(colN[i]==tgN && colZ[i]==tgZ) // Isotop    185     if(colN[i]==tgN && colZ[i]==tgZ) // Isotope is foind in AMDB
186     {                                             186     {
187       lastI=i;                                    187       lastI=i;
188       lastTH =colTH[i];              // Last T    188       lastTH =colTH[i];              // Last THreshold (A-dependent)
189       if(pEn<=lastTH)                             189       if(pEn<=lastTH)
190       {                                           190       {
191         return 0.;                   // Energy    191         return 0.;                   // Energy is below the Threshold value
192       }                                           192       }
193       lastP  =colP [i];                // Last    193       lastP  =colP [i];                // Last Momentum  (A-dependent)
194       lastCS =colCS[i];                // Last    194       lastCS =colCS[i];                // Last CrossSect (A-dependent)
195       //  if(std::fabs(lastP/pMom-1.)<toleranc    195       //  if(std::fabs(lastP/pMom-1.)<tolerance) //VI (do not use tolerance)
196       if(lastP == pMom)              // Do not    196       if(lastP == pMom)              // Do not recalculate
197       {                                           197       {
198         CalculateCrossSection(false,-1,i,2112,    198         CalculateCrossSection(false,-1,i,2112,lastZ,lastN,pMom); // Update param's only
199         return lastCS*millibarn;     // Use th    199         return lastCS*millibarn;     // Use theLastCS
200       }                                           200       }
201       in = true;                       // This    201       in = true;                       // This is the case when the isotop is found in DB
202       // Momentum pMom is in IU ! @@ Units        202       // Momentum pMom is in IU ! @@ Units
203       lastCS=CalculateCrossSection(false,-1,i,    203       lastCS=CalculateCrossSection(false,-1,i,2112,lastZ,lastN,pMom); // read & update
204       if(lastCS<=0. && pEn>lastTH)    // Corre    204       if(lastCS<=0. && pEn>lastTH)    // Correct the threshold
205       {                                           205       {
206         lastTH=pEn;                               206         lastTH=pEn;
207       }                                           207       }
208       break;                           // Go o    208       break;                           // Go out of the LOOP with found lastI
209     }                                             209     }
210   }                                               210   }
211   if(!in)                            // This n    211   if(!in)                            // This nucleus has not been calculated previously
212   {                                               212   {
213     //!!The slave functions must provide cross    213     //!!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
214     lastCS=CalculateCrossSection(false,0,lastI    214     lastCS=CalculateCrossSection(false,0,lastI,2112,lastZ,lastN,pMom);//calculate&create
215     if(lastCS<=0.)                                215     if(lastCS<=0.)
216     {                                             216     {
217       lastTH = 0; // ThresholdEnergy(tgZ, tgN)    217       lastTH = 0; // ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
218       if(pEn>lastTH)                              218       if(pEn>lastTH)
219       {                                           219       {
220         lastTH=pEn;                               220         lastTH=pEn;
221       }                                           221       }
222     }                                             222     }
223     colN.push_back(tgN);                          223     colN.push_back(tgN);
224     colZ.push_back(tgZ);                          224     colZ.push_back(tgZ);
225     colP.push_back(pMom);                         225     colP.push_back(pMom);
226     colTH.push_back(lastTH);                      226     colTH.push_back(lastTH);
227     colCS.push_back(lastCS);                      227     colCS.push_back(lastCS);
228     return lastCS*millibarn;                      228     return lastCS*millibarn;
229   } // End of creation of the new set of param    229   } // End of creation of the new set of parameters
230   else                                            230   else
231   {                                               231   {
232     colP[lastI]=pMom;                             232     colP[lastI]=pMom;
233     colCS[lastI]=lastCS;                          233     colCS[lastI]=lastCS;
234   }                                               234   }
235   return lastCS*millibarn;                        235   return lastCS*millibarn;
236 }                                                 236 }
237                                                   237 
238 // Calculation of total elastic cross section     238 // Calculation of total elastic cross section (p in IU, CS in mb) @@ Units (?)
239 // F=0 - create AMDB, F=-1 - read&update AMDB,    239 // F=0 - create AMDB, F=-1 - read&update AMDB, F=1 - update AMDB (sinchro with higher AMDB)
240 G4double G4ChipsNeutronElasticXS::CalculateCro    240 G4double G4ChipsNeutronElasticXS::CalculateCrossSection(G4bool CS, G4int F,G4int I,
241                                              G    241                                              G4int PDG, G4int tgZ, G4int tgN, G4double pIU)
242 {                                                 242 {
243                                                   243 
244   G4double pMom=pIU/GeV;                // All    244   G4double pMom=pIU/GeV;                // All calculations are in GeV
245   onlyCS=CS;                            // Fla    245   onlyCS=CS;                            // Flag to calculate only CS (not Si/Bi)
246   lastLP=std::log(pMom);                // Mak    246   lastLP=std::log(pMom);                // Make a logarithm of the momentum for calculation
247   if(F)                                 // Thi    247   if(F)                                 // This isotope was found in AMDB =>RETRIEVE/UPDATE
248   {                                               248   {
249     if(F<0)                             // the    249     if(F<0)                             // the AMDB must be loded
250     {                                             250     {
251       lastPIN = PIN[I];                 // Max    251       lastPIN = PIN[I];                 // Max log(P) initialised for this table set
252       lastPAR = PAR[I];                 // Poi    252       lastPAR = PAR[I];                 // Pointer to the parameter set
253       lastCST = CST[I];                 // Poi    253       lastCST = CST[I];                 // Pointer to the total sross-section table
254       lastSST = SST[I];                 // Poi    254       lastSST = SST[I];                 // Pointer to the first squared slope
255       lastS1T = S1T[I];                 // Poi    255       lastS1T = S1T[I];                 // Pointer to the first mantissa
256       lastB1T = B1T[I];                 // Poi    256       lastB1T = B1T[I];                 // Pointer to the first slope
257       lastS2T = S2T[I];                 // Poi    257       lastS2T = S2T[I];                 // Pointer to the second mantissa
258       lastB2T = B2T[I];                 // Poi    258       lastB2T = B2T[I];                 // Pointer to the second slope
259       lastS3T = S3T[I];                 // Poi    259       lastS3T = S3T[I];                 // Pointer to the third mantissa
260       lastB3T = B3T[I];                 // Poi    260       lastB3T = B3T[I];                 // Pointer to the rhird slope
261       lastS4T = S4T[I];                 // Poi    261       lastS4T = S4T[I];                 // Pointer to the 4-th mantissa
262       lastB4T = B4T[I];                 // Poi    262       lastB4T = B4T[I];                 // Pointer to the 4-th slope
263     }                                             263     }
264     if(lastLP>lastPIN && lastLP<lPMax)            264     if(lastLP>lastPIN && lastLP<lPMax)
265     {                                             265     {
266       lastPIN=GetPTables(lastLP,lastPIN,PDG,tg    266       lastPIN=GetPTables(lastLP,lastPIN,PDG,tgZ,tgN);// Can update upper logP-Limit in tabs
267       PIN[I]=lastPIN;                   // Rem    267       PIN[I]=lastPIN;                   // Remember the new P-Limit of the tables
268     }                                             268     }
269   }                                               269   }
270   else                                  // Thi    270   else                                  // This isotope wasn't initialized => CREATE
271   {                                               271   {
272     lastPAR = new G4double[nPoints];    // All    272     lastPAR = new G4double[nPoints];    // Allocate memory for parameters of CS function
273     lastPAR[nLast]=0;                   // Ini    273     lastPAR[nLast]=0;                   // Initialization for VALGRIND
274     lastCST = new G4double[nPoints];    // All    274     lastCST = new G4double[nPoints];    // Allocate memory for Tabulated CS function    
275     lastSST = new G4double[nPoints];    // All    275     lastSST = new G4double[nPoints];    // Allocate memory for Tabulated first sqaredSlope 
276     lastS1T = new G4double[nPoints];    // All    276     lastS1T = new G4double[nPoints];    // Allocate memory for Tabulated first mantissa 
277     lastB1T = new G4double[nPoints];    // All    277     lastB1T = new G4double[nPoints];    // Allocate memory for Tabulated first slope    
278     lastS2T = new G4double[nPoints];    // All    278     lastS2T = new G4double[nPoints];    // Allocate memory for Tabulated second mantissa
279     lastB2T = new G4double[nPoints];    // All    279     lastB2T = new G4double[nPoints];    // Allocate memory for Tabulated second slope   
280     lastS3T = new G4double[nPoints];    // All    280     lastS3T = new G4double[nPoints];    // Allocate memory for Tabulated third mantissa 
281     lastB3T = new G4double[nPoints];    // All    281     lastB3T = new G4double[nPoints];    // Allocate memory for Tabulated third slope    
282     lastS4T = new G4double[nPoints];    // All    282     lastS4T = new G4double[nPoints];    // Allocate memory for Tabulated 4-th mantissa 
283     lastB4T = new G4double[nPoints];    // All    283     lastB4T = new G4double[nPoints];    // Allocate memory for Tabulated 4-th slope    
284     lastPIN = GetPTables(lastLP,lPMin,PDG,tgZ,    284     lastPIN = GetPTables(lastLP,lPMin,PDG,tgZ,tgN); // Returns the new P-limit for tables
285     PIN.push_back(lastPIN);             // Fil    285     PIN.push_back(lastPIN);             // Fill parameters of CS function to AMDB
286     PAR.push_back(lastPAR);             // Fil    286     PAR.push_back(lastPAR);             // Fill parameters of CS function to AMDB
287     CST.push_back(lastCST);             // Fil    287     CST.push_back(lastCST);             // Fill Tabulated CS function to AMDB    
288     SST.push_back(lastSST);             // Fil    288     SST.push_back(lastSST);             // Fill Tabulated first sq.slope to AMDB 
289     S1T.push_back(lastS1T);             // Fil    289     S1T.push_back(lastS1T);             // Fill Tabulated first mantissa to AMDB 
290     B1T.push_back(lastB1T);             // Fil    290     B1T.push_back(lastB1T);             // Fill Tabulated first slope to AMDB    
291     S2T.push_back(lastS2T);             // Fil    291     S2T.push_back(lastS2T);             // Fill Tabulated second mantissa to AMDB 
292     B2T.push_back(lastB2T);             // Fil    292     B2T.push_back(lastB2T);             // Fill Tabulated second slope to AMDB    
293     S3T.push_back(lastS3T);             // Fil    293     S3T.push_back(lastS3T);             // Fill Tabulated third mantissa to AMDB 
294     B3T.push_back(lastB3T);             // Fil    294     B3T.push_back(lastB3T);             // Fill Tabulated third slope to AMDB    
295     S4T.push_back(lastS4T);             // Fil    295     S4T.push_back(lastS4T);             // Fill Tabulated 4-th mantissa to AMDB 
296     B4T.push_back(lastB4T);             // Fil    296     B4T.push_back(lastB4T);             // Fill Tabulated 4-th slope to AMDB    
297   } // End of creation/update of the new set o    297   } // End of creation/update of the new set of parameters and tables
298   // =-------= NOW Update (if necessary) and C    298   // =-------= NOW Update (if necessary) and Calculate the Cross Section =---------=
299   if(lastLP>lastPIN && lastLP<lPMax)              299   if(lastLP>lastPIN && lastLP<lPMax)
300   {                                               300   {
301     lastPIN = GetPTables(lastLP,lastPIN,PDG,tg    301     lastPIN = GetPTables(lastLP,lastPIN,PDG,tgZ,tgN);
302   }                                               302   }
303   if(!onlyCS) lastTM=GetQ2max(PDG, tgZ, tgN, p    303   if(!onlyCS) lastTM=GetQ2max(PDG, tgZ, tgN, pMom); // Calculate (-t)_max=Q2_max (GeV2)
304   if(lastLP>lPMin && lastLP<=lastPIN)   // Lin    304   if(lastLP>lPMin && lastLP<=lastPIN)   // Linear fit is made using precalculated tables
305   {                                               305   {
306     if(lastLP==lastPIN)                           306     if(lastLP==lastPIN)
307     {                                             307     {
308       G4double shift=(lastLP-lPMin)/dlnP+.0000    308       G4double shift=(lastLP-lPMin)/dlnP+.000001; // Log distance from lPMin
309       G4int    blast=static_cast<int>(shift);     309       G4int    blast=static_cast<int>(shift); // this is a bin number of the lower edge (0)
310       if(blast<0 || blast>=nLast) G4cout<<"G4Q    310       if(blast<0 || blast>=nLast) G4cout<<"G4QNeutElCS::CCS:b="<<blast<<","<<nLast<<G4endl;
311       lastSIG = lastCST[blast];                   311       lastSIG = lastCST[blast];
312       if(!onlyCS)                       // Ski    312       if(!onlyCS)                       // Skip the differential cross-section parameters
313       {                                           313       {
314         theSS  = lastSST[blast];                  314         theSS  = lastSST[blast];
315         theS1  = lastS1T[blast];                  315         theS1  = lastS1T[blast];
316         theB1  = lastB1T[blast];                  316         theB1  = lastB1T[blast];
317         theS2  = lastS2T[blast];                  317         theS2  = lastS2T[blast];
318         theB2  = lastB2T[blast];                  318         theB2  = lastB2T[blast];
319         theS3  = lastS3T[blast];                  319         theS3  = lastS3T[blast];
320         theB3  = lastB3T[blast];                  320         theB3  = lastB3T[blast];
321         theS4  = lastS4T[blast];                  321         theS4  = lastS4T[blast];
322         theB4  = lastB4T[blast];                  322         theB4  = lastB4T[blast];
323       }                                           323       }
324     }                                             324     }
325     else                                          325     else
326     {                                             326     {
327       G4double shift=(lastLP-lPMin)/dlnP;         327       G4double shift=(lastLP-lPMin)/dlnP;        // a shift from the beginning of the table
328       G4int    blast=static_cast<int>(shift);     328       G4int    blast=static_cast<int>(shift);    // the lower bin number
329       if(blast<0)   blast=0;                      329       if(blast<0)   blast=0;
330       if(blast>=nLast) blast=nLast-1;             330       if(blast>=nLast) blast=nLast-1;            // low edge of the last bin
331       shift-=blast;                               331       shift-=blast;                              // step inside the unit bin
332       G4int lastL=blast+1;                        332       G4int lastL=blast+1;                       // the upper bin number
333       G4double SIGL=lastCST[blast];               333       G4double SIGL=lastCST[blast];              // the basic value of the cross-section
334       lastSIG= SIGL+shift*(lastCST[lastL]-SIGL    334       lastSIG= SIGL+shift*(lastCST[lastL]-SIGL); // calculated total elastic cross-section
335       if(!onlyCS)                       // Ski    335       if(!onlyCS)                       // Skip the differential cross-section parameters
336       {                                           336       {
337         G4double SSTL=lastSST[blast];             337         G4double SSTL=lastSST[blast];           // the low bin of the first squared slope
338         theSS=SSTL+shift*(lastSST[lastL]-SSTL)    338         theSS=SSTL+shift*(lastSST[lastL]-SSTL); // the basic value of the first sq.slope
339         G4double S1TL=lastS1T[blast];             339         G4double S1TL=lastS1T[blast];           // the low bin of the first mantissa
340         theS1=S1TL+shift*(lastS1T[lastL]-S1TL)    340         theS1=S1TL+shift*(lastS1T[lastL]-S1TL); // the basic value of the first mantissa
341         G4double B1TL=lastB1T[blast];             341         G4double B1TL=lastB1T[blast];           // the low bin of the first slope
342         theB1=B1TL+shift*(lastB1T[lastL]-B1TL)    342         theB1=B1TL+shift*(lastB1T[lastL]-B1TL); // the basic value of the first slope
343         G4double S2TL=lastS2T[blast];             343         G4double S2TL=lastS2T[blast];           // the low bin of the second mantissa
344         theS2=S2TL+shift*(lastS2T[lastL]-S2TL)    344         theS2=S2TL+shift*(lastS2T[lastL]-S2TL); // the basic value of the second mantissa
345         G4double B2TL=lastB2T[blast];             345         G4double B2TL=lastB2T[blast];           // the low bin of the second slope
346         theB2=B2TL+shift*(lastB2T[lastL]-B2TL)    346         theB2=B2TL+shift*(lastB2T[lastL]-B2TL); // the basic value of the second slope
347         G4double S3TL=lastS3T[blast];             347         G4double S3TL=lastS3T[blast];           // the low bin of the third mantissa
348         theS3=S3TL+shift*(lastS3T[lastL]-S3TL)    348         theS3=S3TL+shift*(lastS3T[lastL]-S3TL); // the basic value of the third mantissa
349         G4double B3TL=lastB3T[blast];             349         G4double B3TL=lastB3T[blast];           // the low bin of the third slope
350         theB3=B3TL+shift*(lastB3T[lastL]-B3TL)    350         theB3=B3TL+shift*(lastB3T[lastL]-B3TL); // the basic value of the third slope
351         G4double S4TL=lastS4T[blast];             351         G4double S4TL=lastS4T[blast];           // the low bin of the 4-th mantissa
352         theS4=S4TL+shift*(lastS4T[lastL]-S4TL)    352         theS4=S4TL+shift*(lastS4T[lastL]-S4TL); // the basic value of the 4-th mantissa
353         G4double B4TL=lastB4T[blast];             353         G4double B4TL=lastB4T[blast];           // the low bin of the 4-th slope
354         theB4=B4TL+shift*(lastB4T[lastL]-B4TL)    354         theB4=B4TL+shift*(lastB4T[lastL]-B4TL); // the basic value of the 4-th slope
355       }                                           355       }
356     }                                             356     }
357   }                                               357   }
358   else lastSIG=GetTabValues(lastLP, PDG, tgZ,     358   else lastSIG=GetTabValues(lastLP, PDG, tgZ, tgN); // Direct calculation beyond the table
359   if(lastSIG<0.) lastSIG = 0.;                    359   if(lastSIG<0.) lastSIG = 0.;                   // @@ a Warning print can be added
360   return lastSIG;                                 360   return lastSIG;
361 }                                                 361 }
362                                                   362 
363 // It has parameter sets for all tZ/tN/PDG, us    363 // It has parameter sets for all tZ/tN/PDG, using them the tables can be created/updated
364 G4double G4ChipsNeutronElasticXS::GetPTables(G    364 G4double G4ChipsNeutronElasticXS::GetPTables(G4double LP, G4double ILP, G4int PDG,
365                                                   365                                                    G4int tgZ, G4int tgN)
366 {                                                 366 {
367   // @@ At present all nA==pA ---------> Each     367   // @@ At present all nA==pA ---------> Each neucleus can have not more than 51 parameters
368   static const G4double pwd=2727;                 368   static const G4double pwd=2727;
369   const G4int n_npel=24;                // #of    369   const G4int n_npel=24;                // #of parameters for np-elastic (<nPoints=128)
370   const G4int n_ppel=32;                // #of    370   const G4int n_ppel=32;                // #of parameters for pp-elastic (<nPoints=128)
371   //                      -0- -1-  -2- -3- -4-    371   //                      -0- -1-  -2- -3- -4-  -5- -6- -7- -8- -9--10--11--12--13- -14-
372   G4double np_el[n_npel]={12.,.05,.0001,5.,.35    372   G4double np_el[n_npel]={12.,.05,.0001,5.,.35,6.75,.14,19.,.6,6.75,.14,13.,.14,.6,.00013,
373                           75.,.001,7.2,4.32,.0    373                           75.,.001,7.2,4.32,.012,2.5,0.0,12.,.34};
374   //                      -15--16--17- -18- -1    374   //                      -15--16--17- -18- -19--20--21--22--23-
375   //                       -0-   -1-  -2- -3-     375   //                       -0-   -1-  -2- -3- -4- -5-  -6-  -7-  -8--9--10--11--12--13-
376   G4double pp_el[n_ppel]={2.865,18.9,.6461,3.,    376   G4double pp_el[n_ppel]={2.865,18.9,.6461,3.,9.,.425,.4276,.0022,5.,74.,3.,3.4,.2,.17,
377                           .001,8.,.055,3.64,5.    377                           .001,8.,.055,3.64,5.e-5,4000.,1500.,.46,1.2e6,3.5e6,5.e-5,1.e10,
378                           8.5e8,1.e10,1.1,3.4e    378                           8.5e8,1.e10,1.1,3.4e6,6.8e6,0.};
379   //                      -14--15- -16- -17- -    379   //                      -14--15- -16- -17- -18-  -19- -20- -21- -22-  -23-   -24-  -25-
380   //                       -26- -27-  -28- -29    380   //                       -26- -27-  -28- -29- -30- -31-
381   //==> n (Z=0)                                   381   //==> n (Z=0)
382   static const G4int N0=1; // *** Not used (fa    382   static const G4int N0=1; // *** Not used (fake)***
383   static const G4double pZ0N1[7]={0., 0., 0.,     383   static const G4double pZ0N1[7]={0., 0., 0., 0., 0., 0., 0.}; // Not used (fake)
384   static const std::pair<G4int, const G4double    384   static const std::pair<G4int, const G4double*> Z0N1(1,pZ0N1);
385   static const std::pair<G4int, const G4double    385   static const std::pair<G4int, const G4double*> Z0[N0]={Z0N1};
386   //==> H (Z=1) *** protons are treated separa    386   //==> H (Z=1) *** protons are treated separately ***
387   static const G4int N1=3;                        387   static const G4int N1=3;
388   static const G4double pZ1N0[7]={0., 0., 0.,     388   static const G4double pZ1N0[7]={0., 0., 0., 0., 0., 0., 0.}; // Not used (fake)
389   static const std::pair<G4int, const G4double    389   static const std::pair<G4int, const G4double*> Z1N0(0,pZ1N0);
390   static const G4double pZ1N1[7]={6.E-5, 4., .    390   static const G4double pZ1N1[7]={6.E-5, 4., .055, 1.1E-8, .008, 1.2E-8, .019};
391   static const std::pair<G4int, const G4double    391   static const std::pair<G4int, const G4double*> Z1N1(1,pZ1N1);
392   static const G4double pZ1N2[7]={6.E-5, 2.2,     392   static const G4double pZ1N2[7]={6.E-5, 2.2, .051, 1.E-8, .04, 9.E-8, .0075};
393   static const std::pair<G4int, const G4double    393   static const std::pair<G4int, const G4double*> Z1N2(2,pZ1N2);
394   static const std::pair<G4int, const G4double    394   static const std::pair<G4int, const G4double*> Z1[N1]={Z1N0, Z1N1, Z1N2};
395   //==> He(Z=2)                                   395   //==> He(Z=2)
396   static const G4int N2=2;                        396   static const G4int N2=2;
397   static const G4double pZ2N1[7]={6.E-5, 3., .    397   static const G4double pZ2N1[7]={6.E-5, 3., .06, 4.E-9, .03, 7.E-8, .015};
398   static const std::pair<G4int, const G4double    398   static const std::pair<G4int, const G4double*> Z2N1(1,pZ2N1);
399   static const G4double pZ2N2[7]={3.E-4, .23,     399   static const G4double pZ2N2[7]={3.E-4, .23, 1., 1.5E-9, 2.E-02, 1.E-8, .003};
400   static const std::pair<G4int, const G4double    400   static const std::pair<G4int, const G4double*> Z2N2(2,pZ2N2);
401   static const std::pair<G4int, const G4double    401   static const std::pair<G4int, const G4double*> Z2[N2]={Z2N1, Z2N2};
402   //==> Li(Z=3)                                   402   //==> Li(Z=3)
403   static const G4int N3=2;                        403   static const G4int N3=2;
404   static const G4double pZ3N3[7]={3.1E-7, 1.7,    404   static const G4double pZ3N3[7]={3.1E-7, 1.7, 1.3E-4, 1.E-8, .02, 1.1E-7, .0023};
405   static const std::pair<G4int, const G4double    405   static const std::pair<G4int, const G4double*> Z3N1(3,pZ3N3);
406   static const G4double pZ3N4[7]={1.3E-6, 1.8,    406   static const G4double pZ3N4[7]={1.3E-6, 1.8, 7.6E-4, 9.E-9, .03, 1.E-7, .0029};
407   static const std::pair<G4int, const G4double    407   static const std::pair<G4int, const G4double*> Z3N2(4,pZ3N4);
408   static const std::pair<G4int, const G4double    408   static const std::pair<G4int, const G4double*> Z3[N3]={Z3N1, Z3N2};
409   //==> Be(Z=4)                                   409   //==> Be(Z=4)
410   static const G4int N4=2;                        410   static const G4int N4=2;
411   static const G4double pZ4N3[7]={2.E-4, 1.4,     411   static const G4double pZ4N3[7]={2.E-4, 1.4, 2.7, 0., .02, 5.E-8, 0.};
412   static const std::pair<G4int, const G4double    412   static const std::pair<G4int, const G4double*> Z4N3(3,pZ4N3);
413   static const G4double pZ4N5[7]={1.E-6, 5.7,     413   static const G4double pZ4N5[7]={1.E-6, 5.7, .0011, 3.E-9, .007, 2.E-8, .016};
414   static const std::pair<G4int, const G4double    414   static const std::pair<G4int, const G4double*> Z4N5(5,pZ4N5);
415   static const std::pair<G4int, const G4double    415   static const std::pair<G4int, const G4double*> Z4[N4]={Z4N3,Z4N5};
416   //==> B (Z=5)                                   416   //==> B (Z=5)
417   static const G4int N5=2;                        417   static const G4int N5=2;
418   static const G4double pZ5N5[7]={8.E-7, 5., 3    418   static const G4double pZ5N5[7]={8.E-7, 5., 3.4E-4, 7.E-9, 1.E-02, 1.E-07, .0053};
419   static const std::pair<G4int, const G4double    419   static const std::pair<G4int, const G4double*> Z5N5(5,pZ5N5);
420   static const G4double pZ5N6[7]={4.8E-6, 6.6,    420   static const G4double pZ5N6[7]={4.8E-6, 6.6, .0035, 4.E-9, .003, 1.E-8, .012};
421   static const std::pair<G4int, const G4double    421   static const std::pair<G4int, const G4double*> Z5N6(6,pZ5N6);
422   static const std::pair<G4int, const G4double    422   static const std::pair<G4int, const G4double*> Z5[N5]={Z5N5, Z5N6};
423   //==> C (Z=6) *** Only nat (C13=C12=C_nat) *    423   //==> C (Z=6) *** Only nat (C13=C12=C_nat) ***
424   static const G4int N6=2;                        424   static const G4int N6=2;
425   static const G4double pZ6N6[7]={4.9E-6, 6.6,    425   static const G4double pZ6N6[7]={4.9E-6, 6.6, .0035, 4.E-9, .002, 6.E-9, .011};
426   static const std::pair<G4int, const G4double    426   static const std::pair<G4int, const G4double*> Z6N6(6,pZ6N6);
427   static const G4double pZ6N7[7]={4.9E-6, 6.6,    427   static const G4double pZ6N7[7]={4.9E-6, 6.6, .0035, 4.E-9, .002, 6.E-9, .011};
428   static const std::pair<G4int, const G4double    428   static const std::pair<G4int, const G4double*> Z6N7(7,pZ6N7);
429   static const std::pair<G4int, const G4double    429   static const std::pair<G4int, const G4double*> Z6[N6]={Z6N6, Z6N7};
430   //==> N (Z=7)                                   430   //==> N (Z=7)
431   static const G4int N7=2;                        431   static const G4int N7=2;
432   static const G4double pZ7N7[7]={4.9E-6, 1.6,    432   static const G4double pZ7N7[7]={4.9E-6, 1.6, .03, .4E-9, .02, 6.E-8, .021};
433   static const std::pair<G4int, const G4double    433   static const std::pair<G4int, const G4double*> Z7N7(7,pZ7N7);
434   static const G4double pZ7N8[7]={2.5E-6, 5.,     434   static const G4double pZ7N8[7]={2.5E-6, 5., .0021, 2.5E-9, .015, 5.E-8, .009};
435   static const std::pair<G4int, const G4double    435   static const std::pair<G4int, const G4double*> Z7N8(8,pZ7N8);
436   static const std::pair<G4int, const G4double    436   static const std::pair<G4int, const G4double*> Z7[N7]={Z7N7, Z7N8};
437   //==> O (Z=8) (O18=O17, No data)                437   //==> O (Z=8) (O18=O17, No data)
438   static const G4int N8=3;                        438   static const G4int N8=3;
439   static const G4double pZ8N8[7]={2.5E-6, 5.3,    439   static const G4double pZ8N8[7]={2.5E-6, 5.3, .0018, 3.E-9, .01, 1.5E-8, .0075};
440   static const std::pair<G4int, const G4double    440   static const std::pair<G4int, const G4double*> Z8N8(8,pZ8N8);
441   static const G4double pZ8N9[7]={1.4E-6, 2.1,    441   static const G4double pZ8N9[7]={1.4E-6, 2.1, .0025, 1.3E-9, .02, 1.3E-7, .0072};
442   static const std::pair<G4int, const G4double    442   static const std::pair<G4int, const G4double*> Z8N9(9,pZ8N9);
443   static const G4double pZ8N10[7]={1.4E-6, 2.1    443   static const G4double pZ8N10[7]={1.4E-6, 2.1, .0025, 1.3E-9, .02, 1.3E-7, .0072};
444   static const std::pair<G4int, const G4double    444   static const std::pair<G4int, const G4double*> Z8N10(10,pZ8N10);
445   static const std::pair<G4int, const G4double    445   static const std::pair<G4int, const G4double*> Z8[N8]={Z8N8, Z8N9, Z8N10};
446   //==> F (Z=9)                                   446   //==> F (Z=9)
447   static const G4int N9=1;                        447   static const G4int N9=1;
448   static const G4double pZ9N10[7]={1.4E-6, 7.5    448   static const G4double pZ9N10[7]={1.4E-6, 7.5, 6.7E-4, 4.E-9, 2.E-5, 7.E-12, .0066};
449   static const std::pair<G4int, const G4double    449   static const std::pair<G4int, const G4double*> Z9N10(10,pZ9N10);
450   static const std::pair<G4int, const G4double    450   static const std::pair<G4int, const G4double*> Z9[N9]={Z9N10};
451   //==> Ne(Z=10) *** No data *** (Ne20=Na22, N    451   //==> Ne(Z=10) *** No data *** (Ne20=Na22, Ne21=F19, Ne22=Na22)
452   static const G4int N10=3;                       452   static const G4int N10=3;
453   static const G4double pZ10N10[7]={1.4E-5, 7.    453   static const G4double pZ10N10[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
454   static const std::pair<G4int, const G4double    454   static const std::pair<G4int, const G4double*> Z10N10(10,pZ10N10);
455   static const G4double pZ10N11[7]={1.4E-6, 7.    455   static const G4double pZ10N11[7]={1.4E-6, 7.5, 6.7E-4, 4.E-9, 2.E-5, 7.E-12, .0066};
456   static const std::pair<G4int, const G4double    456   static const std::pair<G4int, const G4double*> Z10N11(11,pZ10N11);
457   static const G4double pZ10N12[7]={1.4E-5, 7.    457   static const G4double pZ10N12[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
458   static const std::pair<G4int, const G4double    458   static const std::pair<G4int, const G4double*> Z10N12(12,pZ10N12);
459   static const std::pair<G4int, const G4double    459   static const std::pair<G4int, const G4double*> Z10[N10]={Z10N10, Z10N11, Z10N12};
460   //==> Na(Z=11)                                  460   //==> Na(Z=11)
461   static const G4int N11=2;                       461   static const G4int N11=2;
462   static const G4double pZ11N11[7]={1.4E-5, 7.    462   static const G4double pZ11N11[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
463   static const std::pair<G4int, const G4double    463   static const std::pair<G4int, const G4double*> Z11N11(11,pZ11N11);
464   static const G4double pZ11N12[7]={1.4E-6, 7.    464   static const G4double pZ11N12[7]={1.4E-6, 7.6, 6.E-4, 5.E-9, 7.E-9, 3.E-18, .0056};
465   static const std::pair<G4int, const G4double    465   static const std::pair<G4int, const G4double*> Z11N12(12,pZ11N12);
466   static const std::pair<G4int, const G4double    466   static const std::pair<G4int, const G4double*> Z11[N11]={Z11N11, Z11N12};
467   //==> Mg(Z=12)                                  467   //==> Mg(Z=12)
468   static const G4int N12=3;                       468   static const G4int N12=3;
469   static const G4double pZ12N12[7]={8.E-7, 3.,    469   static const G4double pZ12N12[7]={8.E-7, 3., .001, 1.8E-9, .0015, .2E-9, .006};
470   static const std::pair<G4int, const G4double    470   static const std::pair<G4int, const G4double*> Z12N12(12,pZ12N12);
471   static const G4double pZ12N13[7]={8.E-7, 7.,    471   static const G4double pZ12N13[7]={8.E-7, 7., 3.E-4, 6.E-9, .006, 4.E-8, .0042};
472   static const std::pair<G4int, const G4double    472   static const std::pair<G4int, const G4double*> Z12N13(13,pZ12N13);
473   static const G4double pZ12N14[7]={1.2E-6, 6.    473   static const G4double pZ12N14[7]={1.2E-6, 6.8, 5.E-4, 5.E-9, .007, 2.E-8, .0044};
474   static const std::pair<G4int, const G4double    474   static const std::pair<G4int, const G4double*> Z12N14(14,pZ12N14);
475   static const std::pair<G4int, const G4double    475   static const std::pair<G4int, const G4double*> Z12[N12]={Z12N12, Z12N13, Z12N14};
476   //==> Al(Z=13)                                  476   //==> Al(Z=13)
477   static const G4int N13=1;                       477   static const G4int N13=1;
478   static const G4double pZ13N14[7]={3.E-7, 5.,    478   static const G4double pZ13N14[7]={3.E-7, 5., 8.4E-5, 7.E-9, .008, 2.E-8, .0022};
479   static const std::pair<G4int, const G4double    479   static const std::pair<G4int, const G4double*> Z13N14(14,pZ13N14);
480   static const std::pair<G4int, const G4double    480   static const std::pair<G4int, const G4double*> Z13[N13]={Z13N14};
481   //==> Si(Z=14)                                  481   //==> Si(Z=14)
482   static const G4int N14=3;                       482   static const G4int N14=3;
483   static const G4double pZ14N14[7]={1.2E-6, 6.    483   static const G4double pZ14N14[7]={1.2E-6, 6., 4.E-4, 6.E-9, .012, 8.E-8, .0029};
484   static const std::pair<G4int, const G4double    484   static const std::pair<G4int, const G4double*> Z14N14(14,pZ14N14);
485   static const G4double pZ14N15[7]={2.4E-6, 4.    485   static const G4double pZ14N15[7]={2.4E-6, 4., .0016, 3.E-9, .018, 6.E-8, .0037};
486   static const std::pair<G4int, const G4double    486   static const std::pair<G4int, const G4double*> Z14N15(15,pZ14N15);
487   static const G4double pZ14N16[7]={6.E-7, 4.,    487   static const G4double pZ14N16[7]={6.E-7, 4., 3.7E-4, 3.E-9, .018, 6.E-8, .0036};
488   static const std::pair<G4int, const G4double    488   static const std::pair<G4int, const G4double*> Z14N16(16,pZ14N16);
489   static const std::pair<G4int, const G4double    489   static const std::pair<G4int, const G4double*> Z14[N14]={Z14N14, Z14N15, Z14N16};
490   //==> P (Z=15)                                  490   //==> P (Z=15)
491   static const G4int N15=1;                       491   static const G4int N15=1;
492   static const G4double pZ15N16[7]={6.E-7, 3.,    492   static const G4double pZ15N16[7]={6.E-7, 3., 8.2E-4, 1.4E-9, .03, 8.E-8, .0059};
493   static const std::pair<G4int, const G4double    493   static const std::pair<G4int, const G4double*> Z15N16(16,pZ15N16);
494   static const std::pair<G4int, const G4double    494   static const std::pair<G4int, const G4double*> Z15[N15]={Z15N16};
495   //==> S (Z=16)                                  495   //==> S (Z=16)
496   static const G4int N16=4;                       496   static const G4int N16=4;
497   static const G4double pZ16N16[7]={6.E-7, 3.,    497   static const G4double pZ16N16[7]={6.E-7, 3., 1.9E-4, 5.E-9, .03, 6.E-8, .0013};
498   static const std::pair<G4int, const G4double    498   static const std::pair<G4int, const G4double*> Z16N16(16,pZ16N16);
499   static const G4double pZ16N17[7]={2.4E-6, 3.    499   static const G4double pZ16N17[7]={2.4E-6, 3., .0023, 2.E-9, .03, 6.5E-8, .004};
500   static const std::pair<G4int, const G4double    500   static const std::pair<G4int, const G4double*> Z16N17(17,pZ16N17);
501   static const G4double pZ16N18[7]={2.4E-6, 1.    501   static const G4double pZ16N18[7]={2.4E-6, 1.6, .0031, 1.4E-9, .03, 4.E-08, .0028};
502   static const std::pair<G4int, const G4double    502   static const std::pair<G4int, const G4double*> Z16N18(18,pZ16N18);
503   static const G4double pZ16N20[7]={2.4E-6, 3.    503   static const G4double pZ16N20[7]={2.4E-6, 3.1, .0017, 2.5E-9, .03, 5.E-08, .0029};
504   static const std::pair<G4int, const G4double    504   static const std::pair<G4int, const G4double*> Z16N20(20,pZ16N20);
505   static const std::pair<G4int, const G4double    505   static const std::pair<G4int, const G4double*> Z16[N16]={Z16N16, Z16N17, Z16N18, Z16N20};
506   //==> Cl(Z=17)                                  506   //==> Cl(Z=17)
507   static const G4int N17=2;                       507   static const G4int N17=2;
508   static const G4double pZ17N18[7]={1.2E-7, .0    508   static const G4double pZ17N18[7]={1.2E-7, .04, .062, 3.E-12, 3.E-02, 3.E-08, .027};
509   static const std::pair<G4int, const G4double    509   static const std::pair<G4int, const G4double*> Z17N18(18,pZ17N18);
510   static const G4double pZ17N20[7]={1.2E-7, 2.    510   static const G4double pZ17N20[7]={1.2E-7, 2., 6.8E-5, 2.7E-9, .03, 4.E-8, .0015};
511   static const std::pair<G4int, const G4double    511   static const std::pair<G4int, const G4double*> Z17N20(20,pZ17N20);
512   static const std::pair<G4int, const G4double    512   static const std::pair<G4int, const G4double*> Z17[N17]={Z17N18, Z17N20};
513   //==> Ar(Z=18)                                  513   //==> Ar(Z=18)
514   static const G4int N18=3;                       514   static const G4int N18=3;
515   static const G4double pZ18N18[7]={1.2E-7, .5    515   static const G4double pZ18N18[7]={1.2E-7, .52, .017, 1.1E-11, .03, 3.E-8, .095};
516   static const std::pair<G4int, const G4double    516   static const std::pair<G4int, const G4double*> Z18N18(18,pZ18N18);
517   static const G4double pZ18N20[7]={1.2E-07, .    517   static const G4double pZ18N20[7]={1.2E-07, .09, .012, 1.8E-11, .03, 3.E-8, .011};
518   static const std::pair<G4int, const G4double    518   static const std::pair<G4int, const G4double*> Z18N20(20,pZ18N20);
519   static const G4double pZ18N22[7]={1.2E-7, .6    519   static const G4double pZ18N22[7]={1.2E-7, .65, 1.2E-4, 1.5E-9, .03, 5.E-8, 8.E-4};
520   static const std::pair<G4int, const G4double    520   static const std::pair<G4int, const G4double*> Z18N22(22,pZ18N22);
521   static const std::pair<G4int, const G4double    521   static const std::pair<G4int, const G4double*> Z18[N18]={Z18N18, Z18N20, Z18N22};
522   //==> K (Z=19)                                  522   //==> K (Z=19)
523   static const G4int N19=3;                       523   static const G4int N19=3;
524   static const G4double pZ19N20[7]={1.2E-7, 1.    524   static const G4double pZ19N20[7]={1.2E-7, 1.3, 1.9E-4, .9E-9, .04, 5.5E-8, .0026};
525   static const std::pair<G4int, const G4double    525   static const std::pair<G4int, const G4double*> Z19N20(20,pZ19N20);
526   static const G4double pZ19N21[7]={1.6E-7, 1.    526   static const G4double pZ19N21[7]={1.6E-7, 1.2, 3.7E-4, .8E-9, .04, 6.5E-8, .0034};
527   static const std::pair<G4int, const G4double    527   static const std::pair<G4int, const G4double*> Z19N21(21,pZ19N21);
528   static const G4double pZ19N22[7]={6.E-8, 1.3    528   static const G4double pZ19N22[7]={6.E-8, 1.3, 1.2E-4, .9E-9, .04, 6.E-8, .0031};
529   static const std::pair<G4int, const G4double    529   static const std::pair<G4int, const G4double*> Z19N22(22,pZ19N22);
530   static const std::pair<G4int, const G4double    530   static const std::pair<G4int, const G4double*> Z19[N19]={Z19N20, Z19N21, Z19N22};
531   //==> Ca(Z=20)                                  531   //==> Ca(Z=20)
532   static const G4int N20=6;                       532   static const G4int N20=6;
533   static const G4double pZ20N20[7]={2.4E-7, 3.    533   static const G4double pZ20N20[7]={2.4E-7, 3.4, 2.1E-4, 1.5E-9, .035, 6.E-8, .0037};
534   static const std::pair<G4int, const G4double    534   static const std::pair<G4int, const G4double*> Z20N20(20,pZ20N20);
535   static const G4double pZ20N22[7]={6.E-8, 2.7    535   static const G4double pZ20N22[7]={6.E-8, 2.7, 2.7E-5, 3.E-9, .035, 6.E-8, .0014};
536   static const std::pair<G4int, const G4double    536   static const std::pair<G4int, const G4double*> Z20N22(22,pZ20N22);
537   static const G4double pZ20N23[7]={1.5E-8, 1.    537   static const G4double pZ20N23[7]={1.5E-8, 1.8, 3.4E-5, .6E-9, .04, 6.E-8, .0049};
538   static const std::pair<G4int, const G4double    538   static const std::pair<G4int, const G4double*> Z20N23(23,pZ20N23);
539   static const G4double pZ20N24[7]={3.E-6, 5.,    539   static const G4double pZ20N24[7]={3.E-6, 5., .002, 2.E-9, .03, 7.E-8, .0038};
540   static const std::pair<G4int, const G4double    540   static const std::pair<G4int, const G4double*> Z20N24(24,pZ20N24);
541   static const G4double pZ20N26[7]={1.7E-5, 18    541   static const G4double pZ20N26[7]={1.7E-5, 18., .0027, 1.E-8, 2.E-7, 7.E-17, .0047};
542   static const std::pair<G4int, const G4double    542   static const std::pair<G4int, const G4double*> Z20N26(26,pZ20N26);
543   static const G4double pZ20N28[7]={7.6E-6, .4    543   static const G4double pZ20N28[7]={7.6E-6, .4, .07, .13E-9, .05, 4.E-8, .0042};
544   static const std::pair<G4int, const G4double    544   static const std::pair<G4int, const G4double*> Z20N28(28,pZ20N28);
545   static const std::pair<G4int, const G4double    545   static const std::pair<G4int, const G4double*> Z20[N20]={Z20N20, Z20N22, Z20N23,
546                                                   546                                                            Z20N24, Z20N26, Z20N28};
547   //==> Sc(Z=21)                                  547   //==> Sc(Z=21)
548   static const G4int N21=1;                       548   static const G4int N21=1;
549   static const G4double pZ21N24[7]={3.6E-9, 1.    549   static const G4double pZ21N24[7]={3.6E-9, 1.5, 5.2E-5, .1E-9, .05, 1.E-7, .025};
550   static const std::pair<G4int, const G4double    550   static const std::pair<G4int, const G4double*> Z21N24(24,pZ21N24);
551   static const std::pair<G4int, const G4double    551   static const std::pair<G4int, const G4double*> Z21[N21]={Z21N24};
552   //==> Ti(Z=22)                                  552   //==> Ti(Z=22)
553   static const G4int N22=5;                       553   static const G4int N22=5;
554   static const G4double pZ22N24[7]={2.8E-8, 1.    554   static const G4double pZ22N24[7]={2.8E-8, 1.8, 5.6E-5, .6E-9, .05, 8.E-8, .0042};
555   static const std::pair<G4int, const G4double    555   static const std::pair<G4int, const G4double*> Z22N24(24,pZ22N24);
556   static const G4double pZ22N25[7]={3.1E-9, 1.    556   static const G4double pZ22N25[7]={3.1E-9, 1.6, 6.E-6, .8E-9, .04, 8.E-8, .0036};
557   static const std::pair<G4int, const G4double    557   static const std::pair<G4int, const G4double*> Z22N25(25,pZ22N25);
558   static const G4double pZ22N26[7]={3.E-9, 4.,    558   static const G4double pZ22N26[7]={3.E-9, 4., 3.2E-6, 1.4E-9, .05, 2.E-7, .0048};
559   static const std::pair<G4int, const G4double    559   static const std::pair<G4int, const G4double*> Z22N26(26,pZ22N26);
560   static const G4double pZ22N27[7]={1.E-8, 2.,    560   static const G4double pZ22N27[7]={1.E-8, 2., 3.4E-6, 4.5E-9, .05, 8.E-8, 7.7E-4};
561   static const std::pair<G4int, const G4double    561   static const std::pair<G4int, const G4double*> Z22N27(27,pZ22N27);
562   static const G4double pZ22N28[7]={4.E-7, 4.,    562   static const G4double pZ22N28[7]={4.E-7, 4., 3.7E-4, 1.E-09, .05, 1.E-7, .0041};
563   static const std::pair<G4int, const G4double    563   static const std::pair<G4int, const G4double*> Z22N28(28,pZ22N28);
564   static const std::pair<G4int, const G4double    564   static const std::pair<G4int, const G4double*> Z22[N22]={Z22N24, Z22N25, Z22N26,
565                                                   565                                                          Z22N27, Z22N28};
566   //==> V (Z=23) *** Only nat *** (v50=v51=v_n    566   //==> V (Z=23) *** Only nat *** (v50=v51=v_nat)
567   static const G4int N23=2;                       567   static const G4int N23=2;
568   static const G4double pZ23N27[7]={.3E-9, 2.,    568   static const G4double pZ23N27[7]={.3E-9, 2., 8.E-7, .55E-9, .07, 1.7E-7, .0055};
569   static const std::pair<G4int, const G4double    569   static const std::pair<G4int, const G4double*> Z23N27(27,pZ23N27);
570   static const G4double pZ23N28[7]={.3E-9, 2.,    570   static const G4double pZ23N28[7]={.3E-9, 2., 8.E-7, .55E-9, .07, 1.7E-7, .0055};
571   static const std::pair<G4int, const G4double    571   static const std::pair<G4int, const G4double*> Z23N28(28,pZ23N28);
572   static const std::pair<G4int, const G4double    572   static const std::pair<G4int, const G4double*> Z23[N23]={Z23N27, Z23N28};
573   //==> Cr(Z=24)                                  573   //==> Cr(Z=24)
574   static const G4int N24=4;                       574   static const G4int N24=4;
575   static const G4double pZ24N26[7]={1.2E-9, 2.    575   static const G4double pZ24N26[7]={1.2E-9, 2.8, 1.E-6, 1.7E-9, .07, 1.7E-7, .0026};
576   static const std::pair<G4int, const G4double    576   static const std::pair<G4int, const G4double*> Z24N26(26,pZ24N26);
577   static const G4double pZ24N28[7]={4.4E-6, 11    577   static const G4double pZ24N28[7]={4.4E-6, 11., .0012, 5.E-9, .04, 3.E-7, .0032};
578   static const std::pair<G4int, const G4double    578   static const std::pair<G4int, const G4double*> Z24N28(28,pZ24N28);
579   static const G4double pZ24N29[7]={1.8E-9, 2.    579   static const G4double pZ24N29[7]={1.8E-9, 2.4, 6.3E-6, .5E-9, .07, 2.E-7, .0085};
580   static const std::pair<G4int, const G4double    580   static const std::pair<G4int, const G4double*> Z24N29(29,pZ24N29);
581   static const G4double pZ24N30[7]={4.8E-8, 2.    581   static const G4double pZ24N30[7]={4.8E-8, 2.8, 4.4E-5, 1.4E-9, .07, 2.E-7, .0027};
582   static const std::pair<G4int, const G4double    582   static const std::pair<G4int, const G4double*> Z24N30(30,pZ24N30);
583   static const std::pair<G4int, const G4double    583   static const std::pair<G4int, const G4double*> Z24[N24]={Z24N26, Z24N28, Z24N29, Z24N30};
584   //==> Mn(Z=25)                                  584   //==> Mn(Z=25)
585   static const G4int N25=1;                       585   static const G4int N25=1;
586   static const G4double pZ25N30[7]={6.5E-11, 1    586   static const G4double pZ25N30[7]={6.5E-11, 1.4, 1.E-7, .8E-9, .07, 1.7E-7, .0022};
587   static const std::pair<G4int, const G4double    587   static const std::pair<G4int, const G4double*> Z25N30(30,pZ25N30);
588   static const std::pair<G4int, const G4double    588   static const std::pair<G4int, const G4double*> Z25[N25]={Z25N30};
589   //==> Fe(Z=26)                                  589   //==> Fe(Z=26)
590   static const G4int N26=4;                       590   static const G4int N26=4;
591   static const G4double pZ26N28[7]={3.9E-8, 5.    591   static const G4double pZ26N28[7]={3.9E-8, 5., 1.7E-5, 3.E-9, .07, 3.E-7, .0023};
592   static const std::pair<G4int, const G4double    592   static const std::pair<G4int, const G4double*> Z26N28(28,pZ26N28);
593   static const G4double pZ26N30[7]={5.E-9, .4,    593   static const G4double pZ26N30[7]={5.E-9, .4, 1.5E-4, 4.E-11, .1, 3.E-7, .012};
594   static const std::pair<G4int, const G4double    594   static const std::pair<G4int, const G4double*> Z26N30(30,pZ26N30);
595   static const G4double pZ26N31[7]={.5E-9, .5,    595   static const G4double pZ26N31[7]={.5E-9, .5, 2.6E-6, .3E-9, .11, 5.E-7, .0027};
596   static const std::pair<G4int, const G4double    596   static const std::pair<G4int, const G4double*> Z26N31(31,pZ26N31);
597   static const G4double pZ26N32[7]={1.E-7, 3.1    597   static const G4double pZ26N32[7]={1.E-7, 3.1, 1.E-4, 1.3E-9, .11, 5.E-7, .0031};
598   static const std::pair<G4int, const G4double    598   static const std::pair<G4int, const G4double*> Z26N32(32,pZ26N32);
599   static const std::pair<G4int, const G4double    599   static const std::pair<G4int, const G4double*> Z26[N26]={Z26N28, Z26N30, Z26N31, Z26N32};
600   //==> Co(Z=27)                                  600   //==> Co(Z=27)
601   static const G4int N27=2;                       601   static const G4int N27=2;
602   static const G4double pZ27N31[7]={4.E-7, 3.,    602   static const G4double pZ27N31[7]={4.E-7, 3., .004, 0., .11, 4.5E-7, .07};
603   static const std::pair<G4int, const G4double    603   static const std::pair<G4int, const G4double*> Z27N31(31,pZ27N31);
604   static const G4double pZ27N32[7]={4.E-7, 5.,    604   static const G4double pZ27N32[7]={4.E-7, 5., 5.E-4, 1.2E-9, .13, 6.E-7, .006};
605   static const std::pair<G4int, const G4double    605   static const std::pair<G4int, const G4double*> Z27N32(32,pZ27N32);
606   static const std::pair<G4int, const G4double    606   static const std::pair<G4int, const G4double*> Z27[N27]={Z27N32, Z27N31};
607   //==> Ni(Z=28)                                  607   //==> Ni(Z=28)
608   static const G4int N28=6;                       608   static const G4int N28=6;
609   static const G4double pZ28N30[7]={1.E-7, 2.5    609   static const G4double pZ28N30[7]={1.E-7, 2.5, .001, .14E-9, .13, 6.E-7, .025};
610   static const std::pair<G4int, const G4double    610   static const std::pair<G4int, const G4double*> Z28N30(30,pZ28N30);
611   static const G4double pZ28N31[7]={1.E-7, 19.    611   static const G4double pZ28N31[7]={1.E-7, 19., 1.2E-5, 1.E-8, 4.E-12, 3.E-22, .0024};
612   static const std::pair<G4int, const G4double    612   static const std::pair<G4int, const G4double*> Z28N31(31,pZ28N31);
613   static const G4double pZ28N32[7]={1.E-8, 2.5    613   static const G4double pZ28N32[7]={1.E-8, 2.5, 3.9E-6, 3.5E-9, .13, 6.E-7, .001};
614   static const std::pair<G4int, const G4double    614   static const std::pair<G4int, const G4double*> Z28N32(32,pZ28N32);
615   static const G4double pZ28N33[7]={5.E-9, 2.6    615   static const G4double pZ28N33[7]={5.E-9, 2.6, 1.5E-5, .42E-9, .13, 7.E-7, .008};
616   static const std::pair<G4int, const G4double    616   static const std::pair<G4int, const G4double*> Z28N33(33,pZ28N33);
617   static const G4double pZ28N34[7]={.24E-9, 2.    617   static const G4double pZ28N34[7]={.24E-9, 2., 1.2E-6, .25E-9, .13, 6.E-7, .0094};
618   static const std::pair<G4int, const G4double    618   static const std::pair<G4int, const G4double*> Z28N34(34,pZ28N34);
619   static const G4double pZ28N36[7]={1.E-8, 3.,    619   static const G4double pZ28N36[7]={1.E-8, 3., 5.5E-8, 2.8E-7, .12, 6.E-7, 1.6E-5};
620   static const std::pair<G4int, const G4double    620   static const std::pair<G4int, const G4double*> Z28N36(36,pZ28N36);
621   static const std::pair<G4int, const G4double    621   static const std::pair<G4int, const G4double*> Z28[N28]={Z28N30, Z28N31, Z28N32, Z28N33,
622                                                   622                                                            Z28N34, Z28N36};
623   //==> Cu(Z=29)                                  623   //==> Cu(Z=29)
624   static const G4int N29=2;                       624   static const G4int N29=2;
625   static const G4double pZ29N34[7]={1.1E-7, 3.    625   static const G4double pZ29N34[7]={1.1E-7, 3.5, 1.6E-4, .9E-9, .13, 7.E-7, .005};
626   static const std::pair<G4int, const G4double    626   static const std::pair<G4int, const G4double*> Z29N34(34,pZ29N34);
627   static const G4double pZ29N36[7]={1.1E-7, 3.    627   static const G4double pZ29N36[7]={1.1E-7, 3.5, 4.3E-4, .3E-9, .13, 7.E-7, .013};
628   static const std::pair<G4int, const G4double    628   static const std::pair<G4int, const G4double*> Z29N36(36,pZ29N36);
629   static const std::pair<G4int, const G4double    629   static const std::pair<G4int, const G4double*> Z29[N29]={Z29N34, Z29N36};
630   //==> Zn(Z=30) *** Only nat *** (zn64=zn66=z    630   //==> Zn(Z=30) *** Only nat *** (zn64=zn66=zn67=zn68=zn70=zn_nat)
631   static const G4int N30=5;                       631   static const G4int N30=5;
632   static const G4double pZ30N34[7]={1.1E-7, 4.    632   static const G4double pZ30N34[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
633   static const std::pair<G4int, const G4double    633   static const std::pair<G4int, const G4double*> Z30N34(34,pZ30N34);
634   static const G4double pZ30N36[7]={1.1E-7, 4.    634   static const G4double pZ30N36[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
635   static const std::pair<G4int, const G4double    635   static const std::pair<G4int, const G4double*> Z30N36(36,pZ30N36);
636   static const G4double pZ30N37[7]={1.1E-7, 4.    636   static const G4double pZ30N37[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
637   static const std::pair<G4int, const G4double    637   static const std::pair<G4int, const G4double*> Z30N37(37,pZ30N37);
638   static const G4double pZ30N38[7]={1.1E-7, 4.    638   static const G4double pZ30N38[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
639   static const std::pair<G4int, const G4double    639   static const std::pair<G4int, const G4double*> Z30N38(38,pZ30N38);
640   static const G4double pZ30N40[7]={1.1E-7, 4.    640   static const G4double pZ30N40[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
641   static const std::pair<G4int, const G4double    641   static const std::pair<G4int, const G4double*> Z30N40(40,pZ30N40);
642   static const std::pair<G4int, const G4double    642   static const std::pair<G4int, const G4double*> Z30[N30]={Z30N34, Z30N36, Z30N37,
643                                                   643                                                            Z30N38, Z30N40};
644   //==> Ga(Z=31)                                  644   //==> Ga(Z=31)
645   static const G4int N31=2;                       645   static const G4int N31=2;
646   static const G4double pZ31N38[7]={5.E-8, 3.7    646   static const G4double pZ31N38[7]={5.E-8, 3.7, 1.1E-4, .55E-9, .17, 8.4E-7, .0076};
647   static const std::pair<G4int, const G4double    647   static const std::pair<G4int, const G4double*> Z31N38(38,pZ31N38);
648   static const G4double pZ31N40[7]={1.E-8, 3.1    648   static const G4double pZ31N40[7]={1.E-8, 3.1, 1.7E-5, .7E-9, .17, 9.E-7, .0048};
649   static const std::pair<G4int, const G4double    649   static const std::pair<G4int, const G4double*> Z31N40(40,pZ31N40);
650   static const std::pair<G4int, const G4double    650   static const std::pair<G4int, const G4double*> Z31[N31]={Z31N38, Z31N40};
651   //==> Ge(Z=32)                                  651   //==> Ge(Z=32)
652   static const G4int N32=5;                       652   static const G4int N32=5;
653   static const G4double pZ32N38[7]={5.E-5, 4.,    653   static const G4double pZ32N38[7]={5.E-5, 4., .17, .35E-9, .17, 9.E-7, .013};
654   static const std::pair<G4int, const G4double    654   static const std::pair<G4int, const G4double*> Z32N38(38,pZ32N38);
655   static const G4double pZ32N40[7]={5.E-7, 4.4    655   static const G4double pZ32N40[7]={5.E-7, 4.4, .001, .6E-9, .17, 9.E-7, .008};
656   static const std::pair<G4int, const G4double    656   static const std::pair<G4int, const G4double*> Z32N40(40,pZ32N40);
657   static const G4double pZ32N41[7]={5.E-9, 3.,    657   static const G4double pZ32N41[7]={5.E-9, 3., 8.E-6, .7E-9, .17, 1.E-6, .0043};
658   static const std::pair<G4int, const G4double    658   static const std::pair<G4int, const G4double*> Z32N41(41,pZ32N41);
659   static const G4double pZ32N42[7]={1.E-7, 4.2    659   static const G4double pZ32N42[7]={1.E-7, 4.2, 1.7E-4, .7E-9, .17, 1.E-6, .0065};
660   static const std::pair<G4int, const G4double    660   static const std::pair<G4int, const G4double*> Z32N42(42,pZ32N42);
661   static const G4double pZ32N44[7]={1.E-6, 4.6    661   static const G4double pZ32N44[7]={1.E-6, 4.6, .0018, .6E-9, .17, 1.E-6, .0073};
662   static const std::pair<G4int, const G4double    662   static const std::pair<G4int, const G4double*> Z32N44(44,pZ32N44);
663   static const std::pair<G4int, const G4double    663   static const std::pair<G4int, const G4double*> Z32[N32]={Z32N38, Z32N40, Z32N41,
664                                                   664                                                            Z32N42, Z32N44};
665   //==> As(Z=33)                                  665   //==> As(Z=33)
666   static const G4int N33=2;                       666   static const G4int N33=2;
667   static const G4double pZ33N41[7]={1.E-8, 3.4    667   static const G4double pZ33N41[7]={1.E-8, 3.4, 1.5E-5, .72E-9, .17, 1.E-6, .0045};
668   static const std::pair<G4int, const G4double    668   static const std::pair<G4int, const G4double*> Z33N41(41,pZ33N41);
669   static const G4double pZ33N42[7]={1.E-8, 4.1    669   static const G4double pZ33N42[7]={1.E-8, 4.1, 1.3E-5, .75E-9, .2, 1.2E-6, .0048};
670   static const std::pair<G4int, const G4double    670   static const std::pair<G4int, const G4double*> Z33N42(42,pZ33N42);
671   static const std::pair<G4int, const G4double    671   static const std::pair<G4int, const G4double*> Z33[N33]={Z33N41, Z33N42};
672   //==> Se(Z=34)                                  672   //==> Se(Z=34)
673   static const G4int N34=7;                       673   static const G4int N34=7;
674   static const G4double pZ34N40[7]={6.E-8, 7.2    674   static const G4double pZ34N40[7]={6.E-8, 7.2, 6.E-5, 1.E-9, .32, 2.E-6, .0063};
675   static const std::pair<G4int, const G4double    675   static const std::pair<G4int, const G4double*> Z34N40(40,pZ34N40);
676   static const G4double pZ34N42[7]={4.E-5, 7.4    676   static const G4double pZ34N42[7]={4.E-5, 7.4, .1, .43E-9, .34, 2.1E-6, .016};
677   static const std::pair<G4int, const G4double    677   static const std::pair<G4int, const G4double*> Z34N42(42,pZ34N42);
678   static const G4double pZ34N43[7]={1.E-7, 6.2    678   static const G4double pZ34N43[7]={1.E-7, 6.2, 1.4E-4, .9E-9, .34, 2.1E-6, .0075};
679   static const std::pair<G4int, const G4double    679   static const std::pair<G4int, const G4double*> Z34N43(43,pZ34N43);
680   static const G4double pZ34N44[7]={1.E-7, 6.6    680   static const G4double pZ34N44[7]={1.E-7, 6.6, 1.3E-4, .9E-9, .34, 2.1E-6, .0075};
681   static const std::pair<G4int, const G4double    681   static const std::pair<G4int, const G4double*> Z34N44(44,pZ34N44);
682   static const G4double pZ34N45[7]={5.E-8, 6.6    682   static const G4double pZ34N45[7]={5.E-8, 6.6, 4.8E-5, 1.2E-9, .4, 2.6E-6, .0055};
683   static const std::pair<G4int, const G4double    683   static const std::pair<G4int, const G4double*> Z34N45(45,pZ34N45);
684   static const G4double pZ34N46[7]={2.E-7, 7.7    684   static const G4double pZ34N46[7]={2.E-7, 7.7, 1.3E-4, 1.7E-9, .34, 2.1E-6, .0043};
685   static const std::pair<G4int, const G4double    685   static const std::pair<G4int, const G4double*> Z34N46(46,pZ34N46);
686   static const G4double pZ34N48[7]={2.E-7, 8.3    686   static const G4double pZ34N48[7]={2.E-7, 8.3, 1.2E-4, 1.7E-9, .34, 2.1E-6, .0043};
687   static const std::pair<G4int, const G4double    687   static const std::pair<G4int, const G4double*> Z34N48(48,pZ34N48);
688   static const std::pair<G4int, const G4double    688   static const std::pair<G4int, const G4double*> Z34[N34]={Z34N40, Z34N42, Z34N43, Z34N44,
689                                                   689                                                            Z34N45, Z34N46, Z34N48};
690   //==> Br(Z=35)                                  690   //==> Br(Z=35)
691   static const G4int N35=2;                       691   static const G4int N35=2;
692   static const G4double pZ35N44[7]={5.E-8, 6.,    692   static const G4double pZ35N44[7]={5.E-8, 6., 2.8E-5, 2.E-9, .34, 2.1E-6, .0028};
693   static const std::pair<G4int, const G4double    693   static const std::pair<G4int, const G4double*> Z35N44(44,pZ35N44);
694   static const G4double pZ35N46[7]={4.E-8, 6.2    694   static const G4double pZ35N46[7]={4.E-8, 6.2, 3.7E-5, 1.1E-9, .34, 2.1E-6, .0049};
695   static const std::pair<G4int, const G4double    695   static const std::pair<G4int, const G4double*> Z35N46(46,pZ35N46);
696   static const std::pair<G4int, const G4double    696   static const std::pair<G4int, const G4double*> Z35[N35]={Z35N44, Z35N46};
697   //==> Kr(Z=36)                                  697   //==> Kr(Z=36)
698   static const G4int N36=7;                       698   static const G4int N36=7;
699   static const G4double pZ36N42[7]={1.6E-7, 6.    699   static const G4double pZ36N42[7]={1.6E-7, 6.8, 2.E-4, .8E-9, .35, 2.1E-6, .0076};
700   static const std::pair<G4int, const G4double    700   static const std::pair<G4int, const G4double*> Z36N42(42,pZ36N42);
701   static const G4double pZ36N44[7]={1.6E-7, 7.    701   static const G4double pZ36N44[7]={1.6E-7, 7.3, 1.6E-4, 1.E-9, .35, 2.1E-6, .0062};
702   static const std::pair<G4int, const G4double    702   static const std::pair<G4int, const G4double*> Z36N44(44,pZ36N44);
703   static const G4double pZ36N46[7]={1.6E-7, 7.    703   static const G4double pZ36N46[7]={1.6E-7, 7.3, 3.3E-4, .7E-9, .35, 2.1E-6, .013};
704   static const std::pair<G4int, const G4double    704   static const std::pair<G4int, const G4double*> Z36N46(46,pZ36N46);
705   static const G4double pZ36N47[7]={1.6E-6, 7.    705   static const G4double pZ36N47[7]={1.6E-6, 7.3, .003, .6E-9, .35, 2.1E-6, .011};
706   static const std::pair<G4int, const G4double    706   static const std::pair<G4int, const G4double*> Z36N47(47,pZ36N47);
707   static const G4double pZ36N48[7]={1.6E-7, 7.    707   static const G4double pZ36N48[7]={1.6E-7, 7.8, 7.6E-5, 2.E-9, .35, 2.1E-6, .0031};
708   static const std::pair<G4int, const G4double    708   static const std::pair<G4int, const G4double*> Z36N48(48,pZ36N48);
709   static const G4double pZ36N49[7]={6.E-7, 8.,    709   static const G4double pZ36N49[7]={6.E-7, 8., 4.8E-4, 1.4E-9, .27, 2.1E-6, .0053};
710   static const std::pair<G4int, const G4double    710   static const std::pair<G4int, const G4double*> Z36N49(49,pZ36N49);
711   static const G4double pZ36N50[7]={4.E-7, 8.1    711   static const G4double pZ36N50[7]={4.E-7, 8.1, 2.7E-4, 1.6E-9, .35, 2.1E-6, .0045};
712   static const std::pair<G4int, const G4double    712   static const std::pair<G4int, const G4double*> Z36N50(50,pZ36N50);
713   static const std::pair<G4int, const G4double    713   static const std::pair<G4int, const G4double*> Z36[N36]={Z36N42, Z36N44, Z36N46,
714                                                   714                                                            Z36N47, Z36N48, Z36N49, Z36N50};
715   //==> Rb(Z=37)                                  715   //==> Rb(Z=37)
716   static const G4int N37=3;                       716   static const G4int N37=3;
717   static const G4double pZ37N48[7]={1.6E-7, 7.    717   static const G4double pZ37N48[7]={1.6E-7, 7.2, 1.4E-4, 1.2E-9, .35, 2.1E-6, .0052};
718   static const std::pair<G4int, const G4double    718   static const std::pair<G4int, const G4double*> Z37N48(48,pZ37N48);
719   static const G4double pZ37N49[7]={8.E-8, 7.1    719   static const G4double pZ37N49[7]={8.E-8, 7.1, 4.7E-5, 1.6E-9, .27, 2.1E-6, .0034};
720   static const std::pair<G4int, const G4double    720   static const std::pair<G4int, const G4double*> Z37N49(49,pZ37N49);
721   static const G4double pZ37N50[7]={1.E-7, 8.,    721   static const G4double pZ37N50[7]={1.E-7, 8., 5.5E-5, 1.9E-9, .27, 1.5E-6, .0036};
722   static const std::pair<G4int, const G4double    722   static const std::pair<G4int, const G4double*> Z37N50(50,pZ37N50);
723   static const std::pair<G4int, const G4double    723   static const std::pair<G4int, const G4double*> Z37[N37]={Z37N48, Z37N49, Z37N50};
724   //==> Sr(Z=38)                                  724   //==> Sr(Z=38)
725   static const G4int N38=6;                       725   static const G4int N38=6;
726   static const G4double pZ38N46[7]={8.E-8, 7.3    726   static const G4double pZ38N46[7]={8.E-8, 7.3, 6.E-5, 1.3E-9, .27, 2.E-6, .0045};
727   static const std::pair<G4int, const G4double    727   static const std::pair<G4int, const G4double*> Z38N46(46,pZ38N46);
728   static const G4double pZ38N48[7]={8.E-8, 9.7    728   static const G4double pZ38N48[7]={8.E-8, 9.7, 2.3E-5, 3.5E-9, .4, 2.7E-6, .0023};
729   static const std::pair<G4int, const G4double    729   static const std::pair<G4int, const G4double*> Z38N48(48,pZ38N48);
730   static const G4double pZ38N49[7]={2.6E-7, 9.    730   static const G4double pZ38N49[7]={2.6E-7, 9.5, 1.9E-4, 1.5E-9, .4, 2.7E-6, .0057};
731   static const std::pair<G4int, const G4double    731   static const std::pair<G4int, const G4double*> Z38N49(49,pZ38N49);
732   static const G4double pZ38N50[7]={2.6E-7, 9.    732   static const G4double pZ38N50[7]={2.6E-7, 9.5, 2.E-4, 1.4E-9, .37, 3.2E-6, .0059};
733   static const std::pair<G4int, const G4double    733   static const std::pair<G4int, const G4double*> Z38N50(50,pZ38N50);
734   static const G4double pZ38N51[7]={1.3E-7, 9.    734   static const G4double pZ38N51[7]={1.3E-7, 9.9, 7.5E-5, 1.7E-9, .37, 3.2E-6, .0046};
735   static const std::pair<G4int, const G4double    735   static const std::pair<G4int, const G4double*> Z38N51(51,pZ38N51);
736   static const G4double pZ38N52[7]={2.6E-7, 9.    736   static const G4double pZ38N52[7]={2.6E-7, 9.6, 1.6E-4, 1.8E-9, .37, 2.7E06, .0047};
737   static const std::pair<G4int, const G4double    737   static const std::pair<G4int, const G4double*> Z38N52(52,pZ38N52);
738   static const std::pair<G4int, const G4double    738   static const std::pair<G4int, const G4double*> Z38[N38]={Z38N46, Z38N48, Z38N49, Z38N50,
739                                                   739                                                            Z38N51, Z38N52};
740   //==> Y (Z=39)                                  740   //==> Y (Z=39)
741   static const G4int N39=3;                       741   static const G4int N39=3;
742   static const G4double pZ39N50[7]={2.6E-7, 9.    742   static const G4double pZ39N50[7]={2.6E-7, 9.9, 2.E-4, 1.1E-9, .37, 3.2E-6, .0062};
743   static const std::pair<G4int, const G4double    743   static const std::pair<G4int, const G4double*> Z39N50(50,pZ39N50);
744   static const G4double pZ39N51[7]={2.7E-5, 20    744   static const G4double pZ39N51[7]={2.7E-5, 20., .013, 2.2E-9, .37, 1.9E-6, .0078};
745   static const std::pair<G4int, const G4double    745   static const std::pair<G4int, const G4double*> Z39N51(51,pZ39N51);
746   static const G4double pZ39N52[7]={2.E-7, 9.6    746   static const G4double pZ39N52[7]={2.E-7, 9.6, 1.2E-4, 1.7E-9, .37, 3.E-6, .0046};
747   static const std::pair<G4int, const G4double    747   static const std::pair<G4int, const G4double*> Z39N52(52,pZ39N52);
748   static const std::pair<G4int, const G4double    748   static const std::pair<G4int, const G4double*> Z39[N39]={Z39N50, Z39N51, Z39N52};
749   //==> Zr(Z=40)                                  749   //==> Zr(Z=40)
750   static const G4int N40=7;                       750   static const G4int N40=7;
751   static const G4double pZ40N50[7]={1.E-7, 9.,    751   static const G4double pZ40N50[7]={1.E-7, 9., 6.2E-5, 1.7E-9, .3, 3.E-6, .0044};
752   static const std::pair<G4int, const G4double    752   static const std::pair<G4int, const G4double*> Z40N50(50,pZ40N50);
753   static const G4double pZ40N51[7]={5.E-7, 9.8    753   static const G4double pZ40N51[7]={5.E-7, 9.8, 5.E-4, 1.E-9, .25, 2.1E-6, .0079};
754   static const std::pair<G4int, const G4double    754   static const std::pair<G4int, const G4double*> Z40N51(51,pZ40N51);
755   static const G4double pZ40N52[7]={3.E-7, 9.6    755   static const G4double pZ40N52[7]={3.E-7, 9.6, 2.2E-4, 1.2E-9, .25, 2.2E-6, .0056};
756   static const std::pair<G4int, const G4double    756   static const std::pair<G4int, const G4double*> Z40N52(52,pZ40N52);
757   static const G4double pZ40N53[7]={2.E-7, 9.6    757   static const G4double pZ40N53[7]={2.E-7, 9.6, 1.2E-4, 1.6E-9, .38, 2.9E-6, .0046};
758   static const std::pair<G4int, const G4double    758   static const std::pair<G4int, const G4double*> Z40N53(53,pZ40N53);
759   static const G4double pZ40N54[7]={2.E-7, 9.6    759   static const G4double pZ40N54[7]={2.E-7, 9.6, 1.8E-4, 1.1E-9, .25, 2.1E-6, .0067};
760   static const std::pair<G4int, const G4double    760   static const std::pair<G4int, const G4double*> Z40N54(54,pZ40N54);
761   static const G4double pZ40N55[7]={1.8E-7, 9.    761   static const G4double pZ40N55[7]={1.8E-7, 9.4, 1.1E-4, 1.6E-9, .33, 2.3E-6, .0045};
762   static const std::pair<G4int, const G4double    762   static const std::pair<G4int, const G4double*> Z40N55(55,pZ40N55);
763   static const G4double pZ40N56[7]={1.8E-7, 9.    763   static const G4double pZ40N56[7]={1.8E-7, 9.4, 1.1E-4, 1.6E-9, .2, 1.5E-6, .0045};
764   static const std::pair<G4int, const G4double    764   static const std::pair<G4int, const G4double*> Z40N56(56,pZ40N56);
765   static const std::pair<G4int, const G4double    765   static const std::pair<G4int, const G4double*> Z40[N40]={Z40N50, Z40N51, Z40N52, Z40N53,
766                                                   766                                                            Z40N54, Z40N55, Z40N56};
767   //==> Nb(Z=41)                                  767   //==> Nb(Z=41)
768   static const G4int N41=3;                       768   static const G4int N41=3;
769   static const G4double pZ41N52[7]={2.6E-7, 8.    769   static const G4double pZ41N52[7]={2.6E-7, 8.3, 2.E-4, 1.2E-9, .4, 4.E-6, .0051};
770   static const std::pair<G4int, const G4double    770   static const std::pair<G4int, const G4double*> Z41N52(52,pZ41N52);
771   //static const G4double pZ41N53[7]={2.E-7, 8    771   //static const G4double pZ41N53[7]={2.E-7, 8.3, 1.6E-4, 1.4E-9, .35, 2.5E-6, .0051};
772   //static const std::pair<G4int, const G4doub    772   //static const std::pair<G4int, const G4double*> Z41N53(53,pZ41N53);
773   //static const G4double pZ41N54[7]={1.5E-7,     773   //static const G4double pZ41N54[7]={1.5E-7, 8.6, 1.E-4, 1.5E-9, .35, 2.5E-6, .0045};
774   //static const std::pair<G4int, const G4doub    774   //static const std::pair<G4int, const G4double*> Z41N54(54,pZ41N54);
775   static const std::pair<G4int, const G4double    775   static const std::pair<G4int, const G4double*> Z41[N41]={Z41N52, Z41N52, Z41N52};
776   //==> Mo(Z=42)                                  776   //==> Mo(Z=42)
777   static const G4int N42=8;                       777   static const G4int N42=8;
778   static const G4double pZ42N50[7]={2.E-7, 10.    778   static const G4double pZ42N50[7]={2.E-7, 10., 1.1E-4, 1.8E-9, .3, 2.7E-6, .0044};
779   static const std::pair<G4int, const G4double    779   static const std::pair<G4int, const G4double*> Z42N50(50,pZ42N50);
780   static const G4double pZ42N52[7]={2.1E-7, 10    780   static const G4double pZ42N52[7]={2.1E-7, 10., 1.2E-4, 1.7E-9, .3, 2.8E-6, .0046};
781   static const std::pair<G4int, const G4double    781   static const std::pair<G4int, const G4double*> Z42N52(52,pZ42N52);
782   static const G4double pZ42N53[7]={3.E-7, 10.    782   static const G4double pZ42N53[7]={3.E-7, 10., 1.9E-4, 1.5E-9, .29, 3.E-6, .005};
783   static const std::pair<G4int, const G4double    783   static const std::pair<G4int, const G4double*> Z42N53(53,pZ42N53);
784   static const G4double pZ42N54[7]={1.5E-7, 10    784   static const G4double pZ42N54[7]={1.5E-7, 10., 7.1E-5, 2.1E-9, .29, 2.9E-6, .0037};
785   static const std::pair<G4int, const G4double    785   static const std::pair<G4int, const G4double*> Z42N54(54,pZ42N54);
786   static const G4double pZ42N55[7]={1.9E-7, 9.    786   static const G4double pZ42N55[7]={1.9E-7, 9., 1.4E-4, 1.3E-9, .29, 2.8E-6, .0052};
787   static const std::pair<G4int, const G4double    787   static const std::pair<G4int, const G4double*> Z42N55(55,pZ42N55);
788   static const G4double pZ42N56[7]={1.9E-7, 9.    788   static const G4double pZ42N56[7]={1.9E-7, 9.9, 1.1E-4, 1.8E-9, .29, 2.4E-6, .0044};
789   static const std::pair<G4int, const G4double    789   static const std::pair<G4int, const G4double*> Z42N56(56,pZ42N56);
790   static const G4double pZ42N57[7]={1.4E-7, 8.    790   static const G4double pZ42N57[7]={1.4E-7, 8., 1.E-4, 1.4E-9, .34, 2.5E-6, .0044};
791   static const std::pair<G4int, const G4double    791   static const std::pair<G4int, const G4double*> Z42N57(57,pZ42N57);
792   static const G4double pZ42N58[7]={1.8E-7, 9.    792   static const G4double pZ42N58[7]={1.8E-7, 9.5, 1.E-4, 1.7E-9, .27, 2.2E-6, .0041};
793   static const std::pair<G4int, const G4double    793   static const std::pair<G4int, const G4double*> Z42N58(58,pZ42N58);
794   static const std::pair<G4int, const G4double    794   static const std::pair<G4int, const G4double*> Z42[N42]={Z42N50, Z42N52, Z42N53, Z42N54,
795                                                   795                                                            Z42N55, Z42N56, Z42N57, Z42N58};
796   //==> Tc(Z=43)                                  796   //==> Tc(Z=43)
797   static const G4int N43=1;                       797   static const G4int N43=1;
798   static const G4double pZ43N56[7]={1.E-7, 8.,    798   static const G4double pZ43N56[7]={1.E-7, 8., 7.2E-5, 1.4E-9, .24, 2.5E-6, .0044};
799   static const std::pair<G4int, const G4double    799   static const std::pair<G4int, const G4double*> Z43N56(56,pZ43N56);
800   static const std::pair<G4int, const G4double    800   static const std::pair<G4int, const G4double*> Z43[N43]={Z43N56};
801   //==> Ru(Z=44)                                  801   //==> Ru(Z=44)
802   static const G4int N44=9;                       802   static const G4int N44=9;
803   static const G4double pZ44N52[7]={1.9E-7, 10    803   static const G4double pZ44N52[7]={1.9E-7, 10., 1.E-4, 2.1E-9, .4, 4.E-6, .004};
804   static const std::pair<G4int, const G4double    804   static const std::pair<G4int, const G4double*> Z44N52(52,pZ44N52);
805   static const G4double pZ44N54[7]={1.5E-7, 10    805   static const G4double pZ44N54[7]={1.5E-7, 10., 7.7E-5, 2.1E-9, .29, 2.9E-6, .004};
806   static const std::pair<G4int, const G4double    806   static const std::pair<G4int, const G4double*> Z44N54(54,pZ44N54);
807   static const G4double pZ44N55[7]={1.8E-7, 10    807   static const G4double pZ44N55[7]={1.8E-7, 10., 6.6E-5, 2.6E-9, .47, 4.6E-6, .0028};
808   static const std::pair<G4int, const G4double    808   static const std::pair<G4int, const G4double*> Z44N55(55,pZ44N55);
809   static const G4double pZ44N56[7]={1.8E-6, 10    809   static const G4double pZ44N56[7]={1.8E-6, 10., .0017, 1.1E-9, .47, 6.E-6, .0073};
810   static const std::pair<G4int, const G4double    810   static const std::pair<G4int, const G4double*> Z44N56(56,pZ44N56);
811   static const G4double pZ44N57[7]={1.8E-7, 7.    811   static const G4double pZ44N57[7]={1.8E-7, 7.8, 1.3E-4, 1.4E-9, .42, 5.E-6, .0043};
812   static const std::pair<G4int, const G4double    812   static const std::pair<G4int, const G4double*> Z44N57(57,pZ44N57);
813   static const G4double pZ44N58[7]={1.7E-6, 9.    813   static const G4double pZ44N58[7]={1.7E-6, 9.8, .0015, 1.2E-9, .32, 4.E-6, .0065};
814   static const std::pair<G4int, const G4double    814   static const std::pair<G4int, const G4double*> Z44N58(58,pZ44N58);
815   static const G4double pZ44N59[7]={3.3E-7, 8.    815   static const G4double pZ44N59[7]={3.3E-7, 8.7, 1.9E-4, 1.6E-9, .32, 3.8E-6, .0038};
816   static const std::pair<G4int, const G4double    816   static const std::pair<G4int, const G4double*> Z44N59(59,pZ44N59);
817   static const G4double pZ44N60[7]={3.E-7, 8.7    817   static const G4double pZ44N60[7]={3.E-7, 8.7, 1.8E-4, 1.6E-9, .3, 3.2E-6, .004};
818   static const std::pair<G4int, const G4double    818   static const std::pair<G4int, const G4double*> Z44N60(60,pZ44N60);
819   static const G4double pZ44N61[7]={3.E-7, 8.8    819   static const G4double pZ44N61[7]={3.E-7, 8.8, 1.4E-4, 1.9E-9, .3, 3.2E-6, .003};
820   static const std::pair<G4int, const G4double    820   static const std::pair<G4int, const G4double*> Z44N61(61,pZ44N61);
821   static const std::pair<G4int, const G4double    821   static const std::pair<G4int, const G4double*> Z44[N44]={Z44N52, Z44N54, Z44N55, Z44N56,
822                                                   822                                                            Z44N57, Z44N58, Z44N59, Z44N60,
823                                                   823                                                            Z44N61};
824   //==> Rh(Z=45)                                  824   //==> Rh(Z=45)
825   static const G4int N45=2;                       825   static const G4int N45=2;
826   static const G4double pZ45N58[7]={8.E-8, 8.7    826   static const G4double pZ45N58[7]={8.E-8, 8.7, 4.E-5, 1.8E-9, .29, 2.9E-6, .0033};
827   static const std::pair<G4int, const G4double    827   static const std::pair<G4int, const G4double*> Z45N58(58,pZ45N58);
828   static const G4double pZ45N60[7]={8.E-8, 8.7    828   static const G4double pZ45N60[7]={8.E-8, 8.7, .09, 1.3E-12, .29, 2.9E-6, 7.};
829   static const std::pair<G4int, const G4double    829   static const std::pair<G4int, const G4double*> Z45N60(60,pZ45N60);
830   static const std::pair<G4int, const G4double    830   static const std::pair<G4int, const G4double*> Z45[N45]={Z45N58, Z45N60};
831   //==> Pd(Z=46)                                  831   //==> Pd(Z=46)
832   static const G4int N46=7;                       832   static const G4int N46=7;
833   static const G4double pZ46N56[7]={2.E-7, 9.9    833   static const G4double pZ46N56[7]={2.E-7, 9.9, 1.2E-4, 1.5E-9, .35, 3.3E-6, .0045};
834   static const std::pair<G4int, const G4double    834   static const std::pair<G4int, const G4double*> Z46N56(56,pZ46N56);
835   static const G4double pZ46N58[7]={2.E-7, 9.9    835   static const G4double pZ46N58[7]={2.E-7, 9.9, 9.5E-5, 1.8E-9, .4, 4.E-6, .0036};
836   static const std::pair<G4int, const G4double    836   static const std::pair<G4int, const G4double*> Z46N58(58,pZ46N58);
837   static const G4double pZ46N59[7]={5.6E-7, 9.    837   static const G4double pZ46N59[7]={5.6E-7, 9., 4.6E-4, 1.2E-9, .5, 4.8E-6, .0056};
838   static const std::pair<G4int, const G4double    838   static const std::pair<G4int, const G4double*> Z46N59(59,pZ46N59);
839   static const G4double pZ46N60[7]={2.4E-7, 9.    839   static const G4double pZ46N60[7]={2.4E-7, 9.2, 1.2E-4, 1.8E-9, .47, 4.6E-6, .0035};
840   static const std::pair<G4int, const G4double    840   static const std::pair<G4int, const G4double*> Z46N60(60,pZ46N60);
841   static const G4double pZ46N61[7]={1.2E-7, 9.    841   static const G4double pZ46N61[7]={1.2E-7, 9.2, 4.4E-5, 2.8E-9, .5, 4.3E-6, .0025};
842   static const std::pair<G4int, const G4double    842   static const std::pair<G4int, const G4double*> Z46N61(61,pZ46N61);
843   static const G4double pZ46N62[7]={1.2E-7, 9.    843   static const G4double pZ46N62[7]={1.2E-7, 9.2, 3.2E-5, 3.4E-9, .48, 4.5E-6, .0018};
844   static const std::pair<G4int, const G4double    844   static const std::pair<G4int, const G4double*> Z46N62(62,pZ46N62);
845   static const G4double pZ46N64[7]={4.E-7, 9.1    845   static const G4double pZ46N64[7]={4.E-7, 9.1, 2.5E-4, 1.5E-9, .48, 4.7E-6, .0042};
846   static const std::pair<G4int, const G4double    846   static const std::pair<G4int, const G4double*> Z46N64(64,pZ46N64);
847   static const std::pair<G4int, const G4double    847   static const std::pair<G4int, const G4double*> Z46[N46]={Z46N56, Z46N58, Z46N59,
848                                                   848                                                            Z46N60, Z46N61, Z46N62, Z46N64};
849   //==> Ag(Z=47)                                  849   //==> Ag(Z=47)
850   static const G4int N47=4;                       850   static const G4int N47=4;
851   static const G4double pZ47N60[7]={1.4E-6, 9.    851   static const G4double pZ47N60[7]={1.4E-6, 9.7, .0011, 1.4E-9, .55, 5.E-6, .0056};
852   static const std::pair<G4int, const G4double    852   static const std::pair<G4int, const G4double*> Z47N60(60,pZ47N60);
853   static const G4double pZ47N62[7]={3.E-8, 8.7    853   static const G4double pZ47N62[7]={3.E-8, 8.7, 8.5E-6, 3.5E-9, .6, 5.6E-6, .0018};
854   static const std::pair<G4int, const G4double    854   static const std::pair<G4int, const G4double*> Z47N62(62,pZ47N62);
855   static const G4double pZ47N63[7]={3.E-6, 9.5    855   static const G4double pZ47N63[7]={3.E-6, 9.5, .002, 1.5E-9, .58, 5.E-6, .0047};
856   static const std::pair<G4int, const G4double    856   static const std::pair<G4int, const G4double*> Z47N63(63,pZ47N63);
857   static const G4double pZ47N64[7]={1.5E-7, 9.    857   static const G4double pZ47N64[7]={1.5E-7, 9., 9.E-5, 1.7E-9, .58, 5.6E-6, .0039};
858   static const std::pair<G4int, const G4double    858   static const std::pair<G4int, const G4double*> Z47N64(64,pZ47N64);
859   static const std::pair<G4int, const G4double    859   static const std::pair<G4int, const G4double*> Z47[N47]={Z47N60, Z47N62, Z47N63, Z47N64};
860   //==> Cd(Z=48)                                  860   //==> Cd(Z=48)
861   static const G4int N48=9;                       861   static const G4int N48=9;
862   static const G4double pZ48N58[7]={2.9E-7, 10    862   static const G4double pZ48N58[7]={2.9E-7, 10., 1.3E-4, 1.9E-9, .4, 3.8E-6, .0034};
863   static const std::pair<G4int, const G4double    863   static const std::pair<G4int, const G4double*> Z48N58(58,pZ48N58);
864   static const G4double pZ48N60[7]={2.3E-7, 10    864   static const G4double pZ48N60[7]={2.3E-7, 10., 8.2E-5, 2.5E-9, .5, 4.7E-6, .0026};
865   static const std::pair<G4int, const G4double    865   static const std::pair<G4int, const G4double*> Z48N60(60,pZ48N60);
866   static const G4double pZ48N62[7]={2.3E-7, 10    866   static const G4double pZ48N62[7]={2.3E-7, 10., 9.9E-5, 2.5E-9, .5, 4.7E-6, .0031};
867   static const std::pair<G4int, const G4double    867   static const std::pair<G4int, const G4double*> Z48N62(62,pZ48N62);
868   static const G4double pZ48N63[7]={8.4E-7, 11    868   static const G4double pZ48N63[7]={8.4E-7, 11., 4.3E-4, 1.8E-9, .5, 4.5E-6, .0042};
869   static const std::pair<G4int, const G4double    869   static const std::pair<G4int, const G4double*> Z48N63(63,pZ48N63);
870   static const G4double pZ48N64[7]={4.E-7, 11.    870   static const G4double pZ48N64[7]={4.E-7, 11., 1.8E-4, 1.8E-9, .5, 4.6E-6, .0036};
871   static const std::pair<G4int, const G4double    871   static const std::pair<G4int, const G4double*> Z48N64(64,pZ48N64);
872   static const G4double pZ48N65[7]={1.6E-6, 12    872   static const G4double pZ48N65[7]={1.6E-6, 12., .001, 0., .5, 4.6E-6, .013};
873   static const std::pair<G4int, const G4double    873   static const std::pair<G4int, const G4double*> Z48N65(65,pZ48N65);
874   static const G4double pZ48N66[7]={3.E-7, 11.    874   static const G4double pZ48N66[7]={3.E-7, 11., 1.2E-4, 1.9E-9, .5, 4.6E-6, .0031};
875   static const std::pair<G4int, const G4double    875   static const std::pair<G4int, const G4double*> Z48N66(66,pZ48N66);
876   static const G4double pZ48N67[7]={3.8E-7, 11    876   static const G4double pZ48N67[7]={3.8E-7, 11., 1.7E-4, 2.E-9, .6, 6.6E-6, .0035};
877   static const std::pair<G4int, const G4double    877   static const std::pair<G4int, const G4double*> Z48N67(67,pZ48N67);
878   static const G4double pZ48N68[7]={6.E-7, 11.    878   static const G4double pZ48N68[7]={6.E-7, 11., 3.3E-4, 1.9E-9, .5, 4.6E-6, .0043};
879   static const std::pair<G4int, const G4double    879   static const std::pair<G4int, const G4double*> Z48N68(68,pZ48N68);
880   static const std::pair<G4int, const G4double    880   static const std::pair<G4int, const G4double*> Z48[N48]={Z48N58, Z48N60, Z48N62, Z48N63,
881                                                   881                                                            Z48N64, Z48N65, Z48N66, Z48N67,
882                                                   882                                                            Z48N68};
883   //==> In(Z=49)                                  883   //==> In(Z=49)
884   static const G4int N49=2;                       884   static const G4int N49=2;
885   static const G4double pZ49N64[7]={2.7E-7, 12    885   static const G4double pZ49N64[7]={2.7E-7, 12., 8.1E-5, 2.7E-9, .5, 5.E-6, .0026};
886   static const std::pair<G4int, const G4double    886   static const std::pair<G4int, const G4double*> Z49N64(64,pZ49N64);
887   static const G4double pZ49N66[7]={2.7E-7, 12    887   static const G4double pZ49N66[7]={2.7E-7, 12., 5.5E-5, 4.E-9, .5, 5.E-6, .0018};
888   static const std::pair<G4int, const G4double    888   static const std::pair<G4int, const G4double*> Z49N66(66,pZ49N66);
889   static const std::pair<G4int, const G4double    889   static const std::pair<G4int, const G4double*> Z49[N49]={Z49N64, Z49N66};
890   //==> Sn(Z=50)                                  890   //==> Sn(Z=50)
891   static const G4int N50=14;                      891   static const G4int N50=14;
892   static const G4double pZ50N62[7]={4.E-7, 11.    892   static const G4double pZ50N62[7]={4.E-7, 11., 1.6E-4, 2.2E-9, .5, 4.5E-6, .0032};
893   static const std::pair<G4int, const G4double    893   static const std::pair<G4int, const G4double*> Z50N62(62,pZ50N62);
894   static const G4double pZ50N63[7]={4.1E-7, 11    894   static const G4double pZ50N63[7]={4.1E-7, 11., 1.6E-4, 2.4E-9, .54, 6.E-6, .0031};
895   static const std::pair<G4int, const G4double    895   static const std::pair<G4int, const G4double*> Z50N63(63,pZ50N63);
896   static const G4double pZ50N64[7]={5.E-7, 12.    896   static const G4double pZ50N64[7]={5.E-7, 12., 1.9E-4, 2.2E-9, .5, 4.4E-6, .0032};
897   static const std::pair<G4int, const G4double    897   static const std::pair<G4int, const G4double*> Z50N64(64,pZ50N64);
898   static const G4double pZ50N65[7]={1.E-5, 12.    898   static const G4double pZ50N65[7]={1.E-5, 12., .0077, 1.4E-9, .5, 5.E-6, .0066};
899   static const std::pair<G4int, const G4double    899   static const std::pair<G4int, const G4double*> Z50N65(65,pZ50N65);
900   static const G4double pZ50N66[7]={5.E-7, 12.    900   static const G4double pZ50N66[7]={5.E-7, 12., 1.8E-4, 2.4E-9, .5, 5.E-6, .0031};
901   static const std::pair<G4int, const G4double    901   static const std::pair<G4int, const G4double*> Z50N66(66,pZ50N66);
902   static const G4double pZ50N67[7]={1.E-6, 12.    902   static const G4double pZ50N67[7]={1.E-6, 12., 4.4E-4, 1.8E-9, .5, 5.E-6, .0037};
903   static const std::pair<G4int, const G4double    903   static const std::pair<G4int, const G4double*> Z50N67(67,pZ50N67);
904   static const G4double pZ50N68[7]={5.E-7, 12.    904   static const G4double pZ50N68[7]={5.E-7, 12., 2.E-4, 2.4E-9, .5, 5.E-6, .0033};
905   static const std::pair<G4int, const G4double    905   static const std::pair<G4int, const G4double*> Z50N68(68,pZ50N68);
906   static const G4double pZ50N69[7]={6.E-7, 12.    906   static const G4double pZ50N69[7]={6.E-7, 12., 2.5E-4, 2.E-9, .5, 5.E-6, .0035};
907   static const std::pair<G4int, const G4double    907   static const std::pair<G4int, const G4double*> Z50N69(69,pZ50N69);
908   static const G4double pZ50N70[7]={1.E-6, 12.    908   static const G4double pZ50N70[7]={1.E-6, 12., 4.7E-4, 2.E-9, .5, 5.E-6, .0039};
909   static const std::pair<G4int, const G4double    909   static const std::pair<G4int, const G4double*> Z50N70(70,pZ50N70);
910   static const G4double pZ50N72[7]={1.E-6, 12.    910   static const G4double pZ50N72[7]={1.E-6, 12., 3.7E-4, 2.2E-9, .5, 5.E-6, .0031};
911   static const std::pair<G4int, const G4double    911   static const std::pair<G4int, const G4double*> Z50N72(72,pZ50N72);
912   static const G4double pZ50N73[7]={5.E-7, 12.    912   static const G4double pZ50N73[7]={5.E-7, 12., 1.7E-4, 2.8E-9, .5, 5.E-6, .0028};
913   static const std::pair<G4int, const G4double    913   static const std::pair<G4int, const G4double*> Z50N73(73,pZ50N73);
914   static const G4double pZ50N74[7]={5.E-7, 12.    914   static const G4double pZ50N74[7]={5.E-7, 12., 2.E-4, 2.E-9, .5, 5.E-6, .0033};
915   static const std::pair<G4int, const G4double    915   static const std::pair<G4int, const G4double*> Z50N74(74,pZ50N74);
916   static const G4double pZ50N75[7]={5.E-7, 12.    916   static const G4double pZ50N75[7]={5.E-7, 12., 1.9E-4, 2.8E-9, .5, 5.E-6, .003};
917   static const std::pair<G4int, const G4double    917   static const std::pair<G4int, const G4double*> Z50N75(75,pZ50N75);
918   static const G4double pZ50N76[7]={5.E-7, 12.    918   static const G4double pZ50N76[7]={5.E-7, 12., 1.7E-4, 2.8E-9, .5, 5.E-6, .0028};
919   static const std::pair<G4int, const G4double    919   static const std::pair<G4int, const G4double*> Z50N76(76,pZ50N76);
920   static const std::pair<G4int, const G4double    920   static const std::pair<G4int, const G4double*> Z50[N50]={Z50N62, Z50N63, Z50N64, Z50N65,
921                                                   921                                                            Z50N66, Z50N67, Z50N68, Z50N69,
922                                                   922                                                            Z50N70, Z50N72, Z50N73, Z50N74,
923                                                   923                                                            Z50N75, Z50N76};
924   //==> Sb(Z=51)                                  924   //==> Sb(Z=51)
925   static const G4int N51=5;                       925   static const G4int N51=5;
926   static const G4double pZ51N70[7]={6.E-7, 12.    926   static const G4double pZ51N70[7]={6.E-7, 12., 2.E-4, 2.8E-9, .5, 5.E-6, .0028};
927   static const std::pair<G4int, const G4double    927   static const std::pair<G4int, const G4double*> Z51N70(70,pZ51N70);
928   static const G4double pZ51N72[7]={6.E-7, 12.    928   static const G4double pZ51N72[7]={6.E-7, 12., 1.9E-4, 3.E-9, .5, 5.E-6, .0025};
929   static const std::pair<G4int, const G4double    929   static const std::pair<G4int, const G4double*> Z51N72(72,pZ51N72);
930   static const G4double pZ51N73[7]={1.1E-6, 12    930   static const G4double pZ51N73[7]={1.1E-6, 12., 3.5E-4, 2.9E-9, .5, 5.E-6, .0026};
931   static const std::pair<G4int, const G4double    931   static const std::pair<G4int, const G4double*> Z51N73(73,pZ51N73);
932   static const G4double pZ51N74[7]={5.5E-7, 12    932   static const G4double pZ51N74[7]={5.5E-7, 12., 1.9E-4, 2.9E-9, .5, 5.E-6, .0027};
933   static const std::pair<G4int, const G4double    933   static const std::pair<G4int, const G4double*> Z51N74(74,pZ51N74);
934   static const G4double pZ51N75[7]={6.E-7, 12.    934   static const G4double pZ51N75[7]={6.E-7, 12., 2.E-4, 2.9E-9, .5, 5.E-6, .0027};
935   static const std::pair<G4int, const G4double    935   static const std::pair<G4int, const G4double*> Z51N75(75,pZ51N75);
936   static const std::pair<G4int, const G4double    936   static const std::pair<G4int, const G4double*> Z51[N51]={Z51N70, Z51N72, Z51N73, Z51N74,
937                                                   937                                                            Z51N75};
938   //==> Te(Z=52)                                  938   //==> Te(Z=52)
939   static const G4int N52=11;                      939   static const G4int N52=11;
940   static const G4double pZ52N68[7]={2.7E-7, 12    940   static const G4double pZ52N68[7]={2.7E-7, 12., 8.4E-5, 3.2E-9, 1., 8.E-6, .0026};
941   static const std::pair<G4int, const G4double    941   static const std::pair<G4int, const G4double*> Z52N68(68,pZ52N68);
942   static const G4double pZ52N70[7]={2.7E-7, 12    942   static const G4double pZ52N70[7]={2.7E-7, 12., 3.8E-5, 6.E-9, 1., 8.E-6, .0012};
943   static const std::pair<G4int, const G4double    943   static const std::pair<G4int, const G4double*> Z52N70(70,pZ52N70);
944   static const G4double pZ52N71[7]={2.7E-8, 12    944   static const G4double pZ52N71[7]={2.7E-8, 12., 1.8E-6, 2.E-8, 1., 8.E-6, 4.8E-4};
945   static const std::pair<G4int, const G4double    945   static const std::pair<G4int, const G4double*> Z52N71(71,pZ52N71);
946   static const G4double pZ52N72[7]={2.6E-6, 14    946   static const G4double pZ52N72[7]={2.6E-6, 14., .0014, 2.E-9, 1., 9.E-6, .005};
947   static const std::pair<G4int, const G4double    947   static const std::pair<G4int, const G4double*> Z52N72(72,pZ52N72);
948   static const G4double pZ52N73[7]={1.E-6, 14.    948   static const G4double pZ52N73[7]={1.E-6, 14., 2.4E-4, 3.9E-9, 1., 9.E-6, .0022};
949   static const std::pair<G4int, const G4double    949   static const std::pair<G4int, const G4double*> Z52N73(73,pZ52N73);
950   static const G4double pZ52N74[7]={8.E-7, 14.    950   static const G4double pZ52N74[7]={8.E-7, 14., 2.3E-4, 3.6E-9, 1.4, 1.3E-5, .0028};
951   static const std::pair<G4int, const G4double    951   static const std::pair<G4int, const G4double*> Z52N74(74,pZ52N74);
952   static const G4double pZ52N75[7]={8.E-7, 14.    952   static const G4double pZ52N75[7]={8.E-7, 14., 2.1E-4, 3.6E-9, 1.4, 1.3E-5, .0025};
953   static const std::pair<G4int, const G4double    953   static const std::pair<G4int, const G4double*> Z52N75(75,pZ52N75);
954   static const G4double pZ52N76[7]={8.E-7, 14.    954   static const G4double pZ52N76[7]={8.E-7, 14., 2.5E-4, 3.E-9, 1.4, 1.3E-5, .003};
955   static const std::pair<G4int, const G4double    955   static const std::pair<G4int, const G4double*> Z52N76(76,pZ52N76);
956   static const G4double pZ52N77[7]={5.E-7, 15.    956   static const G4double pZ52N77[7]={5.E-7, 15., 1.2E-4, 4.3E-9, 1.4, 1.4E-5, .0023};
957   static const std::pair<G4int, const G4double    957   static const std::pair<G4int, const G4double*> Z52N77(77,pZ52N77);
958   static const G4double pZ52N78[7]={8.E-7, 14.    958   static const G4double pZ52N78[7]={8.E-7, 14., 2.7E-4, 2.7E-9, 1.4, 1.3E-5, .0031};
959   static const std::pair<G4int, const G4double    959   static const std::pair<G4int, const G4double*> Z52N78(78,pZ52N78);
960   static const G4double pZ52N80[7]={4.7E-7, 14    960   static const G4double pZ52N80[7]={4.7E-7, 14., 1.8E-4, 2.2E-9, .83, 1.E-5, .0036};
961   static const std::pair<G4int, const G4double    961   static const std::pair<G4int, const G4double*> Z52N80(80,pZ52N80);
962   static const std::pair<G4int, const G4double    962   static const std::pair<G4int, const G4double*> Z52[N52]={Z52N68, Z52N70, Z52N71, Z52N72,
963                                                   963                                                            Z52N73, Z52N74, Z52N75, Z52N76,
964                                                   964                                                            Z52N77, Z52N78, Z52N80};
965   //==> I (Z=53)                                  965   //==> I (Z=53)
966   static const G4int N53=5;                       966   static const G4int N53=5;
967   static const G4double pZ53N74[7]={9.4E-7, 14    967   static const G4double pZ53N74[7]={9.4E-7, 14., 2.5E-4, 3.E-9, .7, 7.3E-6, .0025};
968   static const std::pair<G4int, const G4double    968   static const std::pair<G4int, const G4double*> Z53N74(74,pZ53N74);
969   static const G4double pZ53N76[7]={2.1E-5, 14    969   static const G4double pZ53N76[7]={2.1E-5, 14., .015, 1.1E-9, 1.1, 1.E-5, .007};
970   static const std::pair<G4int, const G4double    970   static const std::pair<G4int, const G4double*> Z53N76(76,pZ53N76);
971   static const G4double pZ53N77[7]={1.1E-6, 14    971   static const G4double pZ53N77[7]={1.1E-6, 14., 2.4E-4, 3.3E-9, .9, 1.E-5, .0021};
972   static const std::pair<G4int, const G4double    972   static const std::pair<G4int, const G4double*> Z53N77(77,pZ53N77);
973   static const G4double pZ53N78[7]={5.5E-7, 14    973   static const G4double pZ53N78[7]={5.5E-7, 14., 1.5E-4, 3.7E-9, 1.2, 1.2E-5, .0024};
974   static const std::pair<G4int, const G4double    974   static const std::pair<G4int, const G4double*> Z53N78(78,pZ53N78);
975   static const G4double pZ53N82[7]={3.2E-6, 14    975   static const G4double pZ53N82[7]={3.2E-6, 14., .0017, 1.8E-9, .8, 8.E-6, .0024};
976   static const std::pair<G4int, const G4double    976   static const std::pair<G4int, const G4double*> Z53N82(82,pZ53N82);
977   static const std::pair<G4int, const G4double    977   static const std::pair<G4int, const G4double*> Z53[N53]={Z53N74, Z53N76, Z53N77, Z53N78,
978                                                   978                                                            Z53N82};
979   //==> Xe(Z=54)                                  979   //==> Xe(Z=54)
980   static const G4int N54=12;                      980   static const G4int N54=12;
981   static const G4double pZ54N69[7]={3.E-6, 14.    981   static const G4double pZ54N69[7]={3.E-6, 14., 8.E-4, 3.7E-9, .9, 1.1E-5, .15};
982   static const std::pair<G4int, const G4double    982   static const std::pair<G4int, const G4double*> Z54N69(69,pZ54N69);
983   static const G4double pZ54N70[7]={1.5E-7, 14    983   static const G4double pZ54N70[7]={1.5E-7, 14., 1.4E-6, 9.E-8, .7, 8.E-6, 9.5E-5};
984   static const std::pair<G4int, const G4double    984   static const std::pair<G4int, const G4double*> Z54N70(70,pZ54N70);
985   static const G4double pZ54N72[7]={1.5E-6, 14    985   static const G4double pZ54N72[7]={1.5E-6, 14., 5.6E-4, 3.E-9, 1.2, 1.1E-5, .0036};
986   static const std::pair<G4int, const G4double    986   static const std::pair<G4int, const G4double*> Z54N72(72,pZ54N72);
987   static const G4double pZ54N74[7]={1.8E-6, 14    987   static const G4double pZ54N74[7]={1.8E-6, 14., 8.8E-4, 2.E-9, 1.3, 1.2E-5, .0047};
988   static const std::pair<G4int, const G4double    988   static const std::pair<G4int, const G4double*> Z54N74(74,pZ54N74);
989   static const G4double pZ54N75[7]={1.E-6, 14.    989   static const G4double pZ54N75[7]={1.E-6, 14., 2.6E-4, 3.7E-9, 1.5, 1.4E-5, .0024};
990   static const std::pair<G4int, const G4double    990   static const std::pair<G4int, const G4double*> Z54N75(75,pZ54N75);
991   static const G4double pZ54N76[7]={1.8E-6, 14    991   static const G4double pZ54N76[7]={1.8E-6, 14., 8.E-4, 2.E-9, 1.2, 1.4E-5, .0042};
992   static const std::pair<G4int, const G4double    992   static const std::pair<G4int, const G4double*> Z54N76(76,pZ54N76);
993   static const G4double pZ54N77[7]={2.3E-7, 14    993   static const G4double pZ54N77[7]={2.3E-7, 14., 1.9E-5, 9.E-9, 1.2, 1.4E-5, 7.7E-4};
994   static const std::pair<G4int, const G4double    994   static const std::pair<G4int, const G4double*> Z54N77(77,pZ54N77);
995   static const G4double pZ54N78[7]={6.E-7, 14.    995   static const G4double pZ54N78[7]={6.E-7, 14., 1.6E-4, 3.E-9, 1.2, 1.4E-5, .0025};
996   static const std::pair<G4int, const G4double    996   static const std::pair<G4int, const G4double*> Z54N78(78,pZ54N78);
997   static const G4double pZ54N79[7]={6.E-7, 14.    997   static const G4double pZ54N79[7]={6.E-7, 14., 1.6E-4, 3.3E-9, 1.6, 1.5E-5, .0024};
998   static const std::pair<G4int, const G4double    998   static const std::pair<G4int, const G4double*> Z54N79(79,pZ54N79);
999   static const G4double pZ54N80[7]={6.6E-7, 14    999   static const G4double pZ54N80[7]={6.6E-7, 14., 2.1E-4, 2.5E-9, 1.2, 1.4E-5, .003};
1000   static const std::pair<G4int, const G4doubl    1000   static const std::pair<G4int, const G4double*> Z54N80(80,pZ54N80);
1001   static const G4double pZ54N81[7]={.03, 40.,    1001   static const G4double pZ54N81[7]={.03, 40., 2.1, 2.5E-9, 1.E-16, 6.E-36, 140.};
1002   static const std::pair<G4int, const G4doubl    1002   static const std::pair<G4int, const G4double*> Z54N81(81,pZ54N81);
1003   static const G4double pZ54N82[7]={3.1E-6, 1    1003   static const G4double pZ54N82[7]={3.1E-6, 14., .0019, 1.6E-9, 1., 1.3E-5, .0054};
1004   static const std::pair<G4int, const G4doubl    1004   static const std::pair<G4int, const G4double*> Z54N82(82,pZ54N82);
1005   static const std::pair<G4int, const G4doubl    1005   static const std::pair<G4int, const G4double*> Z54[N54]={Z54N69, Z54N70, Z54N72, Z54N74,
1006                                                  1006                                                            Z54N75, Z54N76, Z54N77, Z54N78,
1007                                                  1007                                                            Z54N79, Z54N80, Z54N81, Z54N82};
1008   //==> Cs(Z=55)                                 1008   //==> Cs(Z=55)
1009   static const G4int N55=5;                      1009   static const G4int N55=5;
1010   static const G4double pZ55N78[7]={1.4E-6, 1    1010   static const G4double pZ55N78[7]={1.4E-6, 14., 4.E-4, 3.E-9, 1.2, 1.4E-5, .0026};
1011   static const std::pair<G4int, const G4doubl    1011   static const std::pair<G4int, const G4double*> Z55N78(78,pZ55N78);
1012   static const G4double pZ55N79[7]={.028, 14.    1012   static const G4double pZ55N79[7]={.028, 14., 44., .5E-9, 1.2, 1.3E-5, .015};
1013   static const std::pair<G4int, const G4doubl    1013   static const std::pair<G4int, const G4double*> Z55N79(79,pZ55N79);
1014   static const G4double pZ55N80[7]={2.E-6, 14    1014   static const G4double pZ55N80[7]={2.E-6, 14., 9.5E-4, 2.E-9, 1.2, 1.4E-5, .0042};
1015   static const std::pair<G4int, const G4doubl    1015   static const std::pair<G4int, const G4double*> Z55N80(80,pZ55N80);
1016   static const G4double pZ55N81[7]={2.5E-7, 1    1016   static const G4double pZ55N81[7]={2.5E-7, 14., 6.5E-5, 3.8E-9, 1.2, 1.4E-5, .0023};
1017   static const std::pair<G4int, const G4doubl    1017   static const std::pair<G4int, const G4double*> Z55N81(81,pZ55N81);
1018   static const G4double pZ55N82[7]={2.5E-7, 1    1018   static const G4double pZ55N82[7]={2.5E-7, 14., 6.5E-5, 3.8E-9, 1.2, 1.4E-5, .0023};
1019   static const std::pair<G4int, const G4doubl    1019   static const std::pair<G4int, const G4double*> Z55N82(82,pZ55N82);
1020   static const std::pair<G4int, const G4doubl    1020   static const std::pair<G4int, const G4double*> Z55[N55]={Z55N78, Z55N79, Z55N80, Z55N81,
1021                                                  1021                                                            Z55N82};
1022   //==> Ba(Z=56)                                 1022   //==> Ba(Z=56)
1023   static const G4int N56=9;                      1023   static const G4int N56=9;
1024   static const G4double pZ56N74[7]={4.E-7, 14    1024   static const G4double pZ56N74[7]={4.E-7, 14., 2.8E-5, 1.2E-8, 1.2, 1.5E-5, 6.6E-4};
1025   static const std::pair<G4int, const G4doubl    1025   static const std::pair<G4int, const G4double*> Z56N74(74,pZ56N74);
1026   static const G4double pZ56N76[7]={4.E-6, 14    1026   static const G4double pZ56N76[7]={4.E-6, 14., .0022, 1.4E-9, 1.3, 1.6E-5, .0053};
1027   static const std::pair<G4int, const G4doubl    1027   static const std::pair<G4int, const G4double*> Z56N76(76,pZ56N76);
1028   static const G4double pZ56N77[7]={2.E-7, 14    1028   static const G4double pZ56N77[7]={2.E-7, 14., 3.7E-5, 5.E-9, 1.1, 1.5E-5, .0016};
1029   static const std::pair<G4int, const G4doubl    1029   static const std::pair<G4int, const G4double*> Z56N77(77,pZ56N77);
1030   static const G4double pZ56N78[7]={1.6E-6, 1    1030   static const G4double pZ56N78[7]={1.6E-6, 14., 6.E-4, 2.E-9, 1.3, 1.6E-5, .0033};
1031   static const std::pair<G4int, const G4doubl    1031   static const std::pair<G4int, const G4double*> Z56N78(78,pZ56N78);
1032   static const G4double pZ56N79[7]={5.E-7, 17    1032   static const G4double pZ56N79[7]={5.E-7, 17., 8.E-5, 4.5E-9, 1.3, 1.6E-5, .0018};
1033   static const std::pair<G4int, const G4doubl    1033   static const std::pair<G4int, const G4double*> Z56N79(79,pZ56N79);
1034   static const G4double pZ56N80[7]={2.E-6, 20    1034   static const G4double pZ56N80[7]={2.E-6, 20., 3.E-4, 6.E-9, 1.3, 1.8E-5, .0019};
1035   static const std::pair<G4int, const G4doubl    1035   static const std::pair<G4int, const G4double*> Z56N80(80,pZ56N80);
1036   static const G4double pZ56N81[7]={5.8E-6, 2    1036   static const G4double pZ56N81[7]={5.8E-6, 20., .0018, 3.E-9, 1.3, 1.7E-5, .0041};
1037   static const std::pair<G4int, const G4doubl    1037   static const std::pair<G4int, const G4double*> Z56N81(81,pZ56N81);
1038   static const G4double pZ56N82[7]={2.7E-6, 2    1038   static const G4double pZ56N82[7]={2.7E-6, 20., 5.5E-4, 4.E-9, 1.4, 2.E-5, .0027};
1039   static const std::pair<G4int, const G4doubl    1039   static const std::pair<G4int, const G4double*> Z56N82(82,pZ56N82);
1040   static const G4double pZ56N84[7]={1.1E-6, 2    1040   static const G4double pZ56N84[7]={1.1E-6, 21., 1.E-4, 9.E-9, 2., 2.7E-5, .0012};
1041   static const std::pair<G4int, const G4doubl    1041   static const std::pair<G4int, const G4double*> Z56N84(84,pZ56N84);
1042   static const std::pair<G4int, const G4doubl    1042   static const std::pair<G4int, const G4double*> Z56[N56]={Z56N74, Z56N76, Z56N77, Z56N78,
1043                                                  1043                                                            Z56N79, Z56N80, Z56N81, Z56N82,
1044                                                  1044                                                            Z56N84};
1045   //==> La(Z=57)                                 1045   //==> La(Z=57)
1046   static const G4int N57=3;                      1046   static const G4int N57=3;
1047   static const G4double pZ57N81[7]={2.7E-6, 2    1047   static const G4double pZ57N81[7]={2.7E-6, 20., .0017, 1.1E-9, 1.4, 2.E-5, .0083};
1048   static const std::pair<G4int, const G4doubl    1048   static const std::pair<G4int, const G4double*> Z57N81(81,pZ57N81);
1049   static const G4double pZ57N82[7]={5.4E-6, 2    1049   static const G4double pZ57N82[7]={5.4E-6, 20., .0027, 1.5E-9, 1., 1.5E-5, .0065};
1050   static const std::pair<G4int, const G4doubl    1050   static const std::pair<G4int, const G4double*> Z57N82(82,pZ57N82);
1051   static const G4double pZ57N83[7]={2.7E-6, 2    1051   static const G4double pZ57N83[7]={2.7E-6, 20., 2.6E-4, 6.E-9, 1.4, 2.E-5, .0012};
1052   static const std::pair<G4int, const G4doubl    1052   static const std::pair<G4int, const G4double*> Z57N83(83,pZ57N83);
1053   static const std::pair<G4int, const G4doubl    1053   static const std::pair<G4int, const G4double*> Z57[N57]={Z57N81, Z57N82, Z57N83};
1054   //==> Ce(Z=58)                                 1054   //==> Ce(Z=58)
1055   static const G4int N58=8;                      1055   static const G4int N58=8;
1056   static const G4double pZ58N78[7]={1.8E-6, 2    1056   static const G4double pZ58N78[7]={1.8E-6, 20., 3.7E-4, 4.E-9, 1.4, 2.E-5, .0028};
1057   static const std::pair<G4int, const G4doubl    1057   static const std::pair<G4int, const G4double*> Z58N78(78,pZ58N78);
1058   static const G4double pZ58N80[7]={1.8E-6, 1    1058   static const G4double pZ58N80[7]={1.8E-6, 18., 2.6E-4, 6.E-9, 1.3, 2.1E-5, .0017};
1059   static const std::pair<G4int, const G4doubl    1059   static const std::pair<G4int, const G4double*> Z58N80(80,pZ58N80);
1060   static const G4double pZ58N81[7]={.0018, 18    1060   static const G4double pZ58N81[7]={.0018, 18., 2.9, .6E-9, 1.3, 2.E-5, .02};
1061   static const std::pair<G4int, const G4doubl    1061   static const std::pair<G4int, const G4double*> Z58N81(81,pZ58N81);
1062   static const G4double pZ58N82[7]={1.8E-6, 1    1062   static const G4double pZ58N82[7]={1.8E-6, 18., 3.7E-4, 5.E-9, 1.3, 2.E-5, .0024};
1063   static const std::pair<G4int, const G4doubl    1063   static const std::pair<G4int, const G4double*> Z58N82(82,pZ58N82);
1064   static const G4double pZ58N83[7]={7.2E-6, 2    1064   static const G4double pZ58N83[7]={7.2E-6, 20., .0025, 2.3E-9, 1.1, 1.7E-5, .0045};
1065   static const std::pair<G4int, const G4doubl    1065   static const std::pair<G4int, const G4double*> Z58N83(83,pZ58N83);
1066   static const G4double pZ58N84[7]={1.2E-6, 1    1066   static const G4double pZ58N84[7]={1.2E-6, 18., 2.E-4, 6.E-9, 1.5, 1.9E-5, .0018};
1067   static const std::pair<G4int, const G4doubl    1067   static const std::pair<G4int, const G4double*> Z58N84(84,pZ58N84);
1068   static const G4double pZ58N85[7]={1.2E-6, 1    1068   static const G4double pZ58N85[7]={1.2E-6, 16., 6.E-4, 1.7E-9, 1.4, 2.E-5, .0053};
1069   static const std::pair<G4int, const G4doubl    1069   static const std::pair<G4int, const G4double*> Z58N85(85,pZ58N85);
1070   static const G4double pZ58N86[7]={6.E-7, 18    1070   static const G4double pZ58N86[7]={6.E-7, 18., 1.E-4, 6.E-9, 1.5, 1.9E-5, .0018};
1071   static const std::pair<G4int, const G4doubl    1071   static const std::pair<G4int, const G4double*> Z58N86(86,pZ58N86);
1072   static const std::pair<G4int, const G4doubl    1072   static const std::pair<G4int, const G4double*> Z58[N58]={Z58N78, Z58N80, Z58N81, Z58N82,
1073                                                  1073                                                            Z58N83, Z58N84, Z58N85, Z58N86};
1074   //==> Pr(Z=59)                                 1074   //==> Pr(Z=59)
1075   static const G4int N59=3;                      1075   static const G4int N59=3;
1076   static const G4double pZ59N82[7]={9.5E-7, 1    1076   static const G4double pZ59N82[7]={9.5E-7, 16., 1.6E-4, 4.E-9, 1.4, 2.E-5, .0017};
1077   static const std::pair<G4int, const G4doubl    1077   static const std::pair<G4int, const G4double*> Z59N82(82,pZ59N82);
1078   static const G4double pZ59N83[7]={9.5E-7, 1    1078   static const G4double pZ59N83[7]={9.5E-7, 16., 1.9E-4, 4.E-9, 1.4, 1.9E-5, .0021};
1079   static const std::pair<G4int, const G4doubl    1079   static const std::pair<G4int, const G4double*> Z59N83(83,pZ59N83);
1080   static const G4double pZ59N84[7]={9.5E-6, 1    1080   static const G4double pZ59N84[7]={9.5E-6, 16., .019, .4E-9, 2., 2.4E-5, .021};
1081   static const std::pair<G4int, const G4doubl    1081   static const std::pair<G4int, const G4double*> Z59N84(84,pZ59N84);
1082   static const std::pair<G4int, const G4doubl    1082   static const std::pair<G4int, const G4double*> Z59[N59]={Z59N82, Z59N83, Z59N84};
1083   //==> Nd(Z=60)                                 1083   //==> Nd(Z=60)
1084   static const G4int N60=8;                      1084   static const G4int N60=8;
1085   static const G4double pZ60N82[7]={9.6E-6, 2    1085   static const G4double pZ60N82[7]={9.6E-6, 21., .0036, 2.3E-9, 1.4, 2.E-5, .0052};
1086   static const std::pair<G4int, const G4doubl    1086   static const std::pair<G4int, const G4double*> Z60N82(82,pZ60N82);
1087   static const G4double pZ60N83[7]={9.6E-4, 2    1087   static const G4double pZ60N83[7]={9.6E-4, 20., 4., .25E-9, 1.4, 2.E-5, .052};
1088   static const std::pair<G4int, const G4doubl    1088   static const std::pair<G4int, const G4double*> Z60N83(83,pZ60N83);
1089   static const G4double pZ60N84[7]={4.8E-7, 2    1089   static const G4double pZ60N84[7]={4.8E-7, 21., 3.3E-5, 1.E-08, 1.3, 2.2E-5, 9.E-4};
1090   static const std::pair<G4int, const G4doubl    1090   static const std::pair<G4int, const G4double*> Z60N84(84,pZ60N84);
1091   static const G4double pZ60N85[7]={.0048, 20    1091   static const G4double pZ60N85[7]={.0048, 20., 4.5, .9E-9, 1.3, 2.E-5, .012};
1092   static const std::pair<G4int, const G4doubl    1092   static const std::pair<G4int, const G4double*> Z60N85(85,pZ60N85);
1093   static const G4double pZ60N86[7]={1.2E-6, 1    1093   static const G4double pZ60N86[7]={1.2E-6, 16., 7.7E-4, 1.5E-9, 1.3, 1.8E-5, .0066};
1094   static const std::pair<G4int, const G4doubl    1094   static const std::pair<G4int, const G4double*> Z60N86(86,pZ60N86);
1095   static const G4double pZ60N87[7]={.0012, 15    1095   static const G4double pZ60N87[7]={.0012, 15., 8.4, .1E-9, 1.3, 1.5E-5, .071};
1096   static const std::pair<G4int, const G4doubl    1096   static const std::pair<G4int, const G4double*> Z60N87(87,pZ60N87);
1097   static const G4double pZ60N88[7]={1.5E-7, 1    1097   static const G4double pZ60N88[7]={1.5E-7, 16., 4.1E-5, 2.5E-9, 1.3, 1.6E-5, .0027};
1098   static const std::pair<G4int, const G4doubl    1098   static const std::pair<G4int, const G4double*> Z60N88(88,pZ60N88);
1099   static const G4double pZ60N90[7]={1.5E-7, 1    1099   static const G4double pZ60N90[7]={1.5E-7, 16., 4.3E-5, 2.5E-9, 1.3, 1.6E-5, .0029};
1100   static const std::pair<G4int, const G4doubl    1100   static const std::pair<G4int, const G4double*> Z60N90(90,pZ60N90);
1101   static const std::pair<G4int, const G4doubl    1101   static const std::pair<G4int, const G4double*> Z60[N60]={Z60N82, Z60N83, Z60N84, Z60N85,
1102                                                  1102                                                            Z60N86, Z60N87, Z60N88, Z60N90};
1103   //==> Pm(Z=61)                                 1103   //==> Pm(Z=61)
1104   static const G4int N61=3;                      1104   static const G4int N61=3;
1105   static const G4double pZ61N86[7]={6.E-7, 16    1105   static const G4double pZ61N86[7]={6.E-7, 16., 8.E-4, .6E-9, 3., 2.8E-5, .014};
1106   static const std::pair<G4int, const G4doubl    1106   static const std::pair<G4int, const G4double*> Z61N86(86,pZ61N86);
1107   static const G4double pZ61N87[7]={6.2E-8, 1    1107   static const G4double pZ61N87[7]={6.2E-8, 16., 1.2E-5, 4.E-9, 2.2, 2.5E-5, .0019};
1108   static const std::pair<G4int, const G4doubl    1108   static const std::pair<G4int, const G4double*> Z61N87(87,pZ61N87);
1109   static const G4double pZ61N88[7]={3.2E-8, 1    1109   static const G4double pZ61N88[7]={3.2E-8, 16., 6.4E-6, 4.E-9, 2.2, 2.5E-5, .002};
1110   static const std::pair<G4int, const G4doubl    1110   static const std::pair<G4int, const G4double*> Z61N88(88,pZ61N88);
1111   static const std::pair<G4int, const G4doubl    1111   static const std::pair<G4int, const G4double*> Z61[N61]={Z61N86, Z61N87, Z61N88};
1112   //==> Sm(Z=62)                                 1112   //==> Sm(Z=62)
1113   static const G4int N62=9;                      1113   static const G4int N62=9;
1114   static const G4double pZ62N82[7]={1.2E-7, 1    1114   static const G4double pZ62N82[7]={1.2E-7, 16., 2.1E-5, 5.E-9, 1.4, 2.E-5, .0017};
1115   static const std::pair<G4int, const G4doubl    1115   static const std::pair<G4int, const G4double*> Z62N82(82,pZ62N82);
1116   static const G4double pZ62N85[7]={1.2E-7, 1    1116   static const G4double pZ62N85[7]={1.2E-7, 16., 5.3E-5, 1.5E-9, 1.3, 1.7E-5, .0045};
1117   static const std::pair<G4int, const G4doubl    1117   static const std::pair<G4int, const G4double*> Z62N85(85,pZ62N85);
1118   static const G4double pZ62N86[7]={6.E-8, 16    1118   static const G4double pZ62N86[7]={6.E-8, 16., 1.7E-5, 3.E-9, 1.3, 1.7E-5, .0028};
1119   static const std::pair<G4int, const G4doubl    1119   static const std::pair<G4int, const G4double*> Z62N86(86,pZ62N86);
1120   static const G4double pZ62N87[7]={6.E-8, 15    1120   static const G4double pZ62N87[7]={6.E-8, 15., 5.2E-4, .11E-9, 1.3, 1.5E-5, .074};
1121   static const std::pair<G4int, const G4doubl    1121   static const std::pair<G4int, const G4double*> Z62N87(87,pZ62N87);
1122   static const G4double pZ62N88[7]={6.E-7, 16    1122   static const G4double pZ62N88[7]={6.E-7, 16., 8.6E-4, .7E-9, 1.3, 1.7E-5, .015};
1123   static const std::pair<G4int, const G4doubl    1123   static const std::pair<G4int, const G4double*> Z62N88(88,pZ62N88);
1124   static const G4double pZ62N89[7]={6.E-7, 16    1124   static const G4double pZ62N89[7]={6.E-7, 16., 5.E-4, 0., 1.3, 1.6E-5, .053};
1125   static const std::pair<G4int, const G4doubl    1125   static const std::pair<G4int, const G4double*> Z62N89(89,pZ62N89);
1126   static const G4double pZ62N90[7]={6.E-8, 15    1126   static const G4double pZ62N90[7]={6.E-8, 15., 1.3E-5, 4.5E-9, 1.3, 1.7E-5, .0019};
1127   static const std::pair<G4int, const G4doubl    1127   static const std::pair<G4int, const G4double*> Z62N90(90,pZ62N90);
1128   static const G4double pZ62N91[7]={6.E-8, 15    1128   static const G4double pZ62N91[7]={6.E-8, 15., 1.5E-5, 2.E-9, 1.3, 1.6E-5, .0024};
1129   static const std::pair<G4int, const G4doubl    1129   static const std::pair<G4int, const G4double*> Z62N91(91,pZ62N91);
1130   static const G4double pZ62N92[7]={1.2E-7, 1    1130   static const G4double pZ62N92[7]={1.2E-7, 15., 8.6E-5, 1.2E-9, 1.3, 1.6E-5, .007};
1131   static const std::pair<G4int, const G4doubl    1131   static const std::pair<G4int, const G4double*> Z62N92(92,pZ62N92);
1132   static const std::pair<G4int, const G4doubl    1132   static const std::pair<G4int, const G4double*> Z62[N62]={Z62N82, Z62N85, Z62N86, Z62N87,
1133                                                  1133                                                            Z62N88, Z62N89, Z62N90, Z62N91,
1134                                                  1134                                                            Z62N92};
1135   //==> Eu(Z=63)                                 1135   //==> Eu(Z=63)
1136   static const G4int N63=7;                      1136   static const G4int N63=7;
1137   static const G4double pZ63N88[7]={6.E-8, 15    1137   static const G4double pZ63N88[7]={6.E-8, 15., 2.8E-5, 2.E-9, 1.3, 1.5E-5, .0046};
1138   static const std::pair<G4int, const G4doubl    1138   static const std::pair<G4int, const G4double*> Z63N88(88,pZ63N88);
1139   static const G4double pZ63N89[7]={6.E-7, 15    1139   static const G4double pZ63N89[7]={6.E-7, 15., .0011, .5E-9, 2.4, 2.4E-5, .017};
1140   static const std::pair<G4int, const G4doubl    1140   static const std::pair<G4int, const G4double*> Z63N89(89,pZ63N89);
1141   static const G4double pZ63N90[7]={3.E-7, 15    1141   static const G4double pZ63N90[7]={3.E-7, 15., 1.8E-4, 1.1E-9, 1., 1.2E-5, .0054};
1142   static const std::pair<G4int, const G4doubl    1142   static const std::pair<G4int, const G4double*> Z63N90(90,pZ63N90);
1143   static const G4double pZ63N91[7]={4.1E-7, 1    1143   static const G4double pZ63N91[7]={4.1E-7, 15., 1.4E-4, 1.9E-9, 1., 1.4E-5, .0032};
1144   static const std::pair<G4int, const G4doubl    1144   static const std::pair<G4int, const G4double*> Z63N91(91,pZ63N91);
1145   static const G4double pZ63N92[7]={5.E-8, 15    1145   static const G4double pZ63N92[7]={5.E-8, 15., 2.4E-5, 2.8E-9, 1., 1.3E-5, .0037};
1146   static const std::pair<G4int, const G4doubl    1146   static const std::pair<G4int, const G4double*> Z63N92(92,pZ63N92);
1147   static const G4double pZ63N93[7]={4.1E-8, 1    1147   static const G4double pZ63N93[7]={4.1E-8, 17., 1.6E-5, 2.E-9, 3.3, 3.4E-5, .004};
1148   static const std::pair<G4int, const G4doubl    1148   static const std::pair<G4int, const G4double*> Z63N93(93,pZ63N93);
1149   static const G4double pZ63N94[7]={4.2E-8, 1    1149   static const G4double pZ63N94[7]={4.2E-8, 17., 1.6E-5, 2.E-9, 1.2, 1.6E-5, .004};
1150   static const std::pair<G4int, const G4doubl    1150   static const std::pair<G4int, const G4double*> Z63N94(94,pZ63N94);
1151   static const std::pair<G4int, const G4doubl    1151   static const std::pair<G4int, const G4double*> Z63[N63]={Z63N88, Z63N89, Z63N90, Z63N91,
1152                                                  1152                                                            Z63N92, Z63N93, Z63N94};
1153   //==> Gd(Z=64)                                 1153   //==> Gd(Z=64)
1154   static const G4int N64=8;                      1154   static const G4int N64=8;
1155   static const G4double pZ64N88[7]={4.2E-8, 1    1155   static const G4double pZ64N88[7]={4.2E-8, 14., 2.E-4, 0., 1.2, 1.3E-5, .19};
1156   static const std::pair<G4int, const G4doubl    1156   static const std::pair<G4int, const G4double*> Z64N88(88,pZ64N88);
1157   static const G4double pZ64N89[7]={2.E-6, 14    1157   static const G4double pZ64N89[7]={2.E-6, 14., .0016, 1.4E-9, 1.6, 1.6E-5, .0057};
1158   static const std::pair<G4int, const G4doubl    1158   static const std::pair<G4int, const G4double*> Z64N89(89,pZ64N89);
1159   static const G4double pZ64N90[7]={1.7E-7, 1    1159   static const G4double pZ64N90[7]={1.7E-7, 12., 8.4E-5, 2.E-9, 1.8, 2.2E-5, .0035};
1160   static const std::pair<G4int, const G4doubl    1160   static const std::pair<G4int, const G4double*> Z64N90(90,pZ64N90);
1161   static const G4double pZ64N91[7]={1.7E-7, 1    1161   static const G4double pZ64N91[7]={1.7E-7, 13., 5.E-4, .3E-9, 1.7, 1.9E-5, .026};
1162   static const std::pair<G4int, const G4doubl    1162   static const std::pair<G4int, const G4double*> Z64N91(91,pZ64N91);
1163   static const G4double pZ64N92[7]={1.7E-7, 1    1163   static const G4double pZ64N92[7]={1.7E-7, 13., 7.E-5, 2.5E-9, 1.8, 2.2E-5, .003};
1164   static const std::pair<G4int, const G4doubl    1164   static const std::pair<G4int, const G4double*> Z64N92(92,pZ64N92);
1165   static const G4double pZ64N93[7]={1.7E-6, 1    1165   static const G4double pZ64N93[7]={1.7E-6, 12., .002, 0., 1.7, 1.8E-5, .47};
1166   static const std::pair<G4int, const G4doubl    1166   static const std::pair<G4int, const G4double*> Z64N93(93,pZ64N93);
1167   static const G4double pZ64N94[7]={3.4E-7, 1    1167   static const G4double pZ64N94[7]={3.4E-7, 13., 1.5E-4, 2.E-9, 1.8, 2.3E-5, .0034};
1168   static const std::pair<G4int, const G4doubl    1168   static const std::pair<G4int, const G4double*> Z64N94(94,pZ64N94);
1169   static const G4double pZ64N96[7]={2.6E-6, 1    1169   static const G4double pZ64N96[7]={2.6E-6, 13., .0019, 1.2E-9, 1., 1.2E-5, .0056};
1170   static const std::pair<G4int, const G4doubl    1170   static const std::pair<G4int, const G4double*> Z64N96(96,pZ64N96);
1171   static const std::pair<G4int, const G4doubl    1171   static const std::pair<G4int, const G4double*> Z64[N64]={Z64N88, Z64N89, Z64N90, Z64N91,
1172                                                  1172                                                            Z64N92, Z64N93, Z64N94, Z64N96};
1173   //==> Tb(Z=65)                                 1173   //==> Tb(Z=65)
1174   static const G4int N65=2;                      1174   static const G4int N65=2;
1175   static const G4double pZ65N94[7]={9.E-7, 16    1175   static const G4double pZ65N94[7]={9.E-7, 16., 3.9E-4, 1.7E-9, 2., 2.2E-5, .0042};
1176   static const std::pair<G4int, const G4doubl    1176   static const std::pair<G4int, const G4double*> Z65N94(94,pZ65N94);
1177   //static const G4double pZ65N95[7]={4.5E-7,    1177   //static const G4double pZ65N95[7]={4.5E-7, 16., 1.1E-4, 3.E-9, 1.7, 2.2E-5, .0024};
1178   //static const std::pair<G4int, const G4dou    1178   //static const std::pair<G4int, const G4double*> Z65N95(95,pZ65N95);
1179   static const std::pair<G4int, const G4doubl    1179   static const std::pair<G4int, const G4double*> Z65[N65]={Z65N94, Z65N94};
1180   //==> Dy(Z=66)                                 1180   //==> Dy(Z=66)
1181   static const G4int N66=7;                      1181   static const G4int N66=7;
1182   static const G4double pZ66N90[7]={1.2E-7, 1    1182   static const G4double pZ66N90[7]={1.2E-7, 13., 4.E-5, 3.E-9, 1.2, 1.4E-5, .0025};
1183   static const std::pair<G4int, const G4doubl    1183   static const std::pair<G4int, const G4double*> Z66N90(90,pZ66N90);
1184   static const G4double pZ66N92[7]={1.2E-7, 1    1184   static const G4double pZ66N92[7]={1.2E-7, 13., 6.7E-5, 2.E-9, 1., 1.1E-5, .004};
1185   static const std::pair<G4int, const G4doubl    1185   static const std::pair<G4int, const G4double*> Z66N92(92,pZ66N92);
1186   static const G4double pZ66N94[7]={1.2E-7, 1    1186   static const G4double pZ66N94[7]={1.2E-7, 13., 5.3E-5, 1.6E-9, 1., 1.1E-5, .0034};
1187   static const std::pair<G4int, const G4doubl    1187   static const std::pair<G4int, const G4double*> Z66N94(94,pZ66N94);
1188   static const G4double pZ66N95[7]={1.2E-6, 1    1188   static const G4double pZ66N95[7]={1.2E-6, 13., .0017, .7E-9, 1.3, 1.3E-5, .011};
1189   static const std::pair<G4int, const G4doubl    1189   static const std::pair<G4int, const G4double*> Z66N95(95,pZ66N95);
1190   static const G4double pZ66N96[7]={1.2E-7, 1    1190   static const G4double pZ66N96[7]={1.2E-7, 13., 8.E-6, 1.5E-7, 1., 1.1E-5, 1.E-4};
1191   static const std::pair<G4int, const G4doubl    1191   static const std::pair<G4int, const G4double*> Z66N96(96,pZ66N96);
1192   static const G4double pZ66N97[7]={1.5E-7, 1    1192   static const G4double pZ66N97[7]={1.5E-7, 13., 4.E-5, 4.E-9, 1.3, 1.3E-5, .002};
1193   static const std::pair<G4int, const G4doubl    1193   static const std::pair<G4int, const G4double*> Z66N97(97,pZ66N97);
1194   static const G4double pZ66N98[7]={3.E-7, 13    1194   static const G4double pZ66N98[7]={3.E-7, 13., .001, 4.E-9, 1.3, 1.3E-5, .23};
1195   static const std::pair<G4int, const G4doubl    1195   static const std::pair<G4int, const G4double*> Z66N98(98,pZ66N98);
1196   static const std::pair<G4int, const G4doubl    1196   static const std::pair<G4int, const G4double*> Z66[N66]={Z66N90, Z66N92, Z66N94, Z66N95,
1197                                                  1197                                                            Z66N96, Z66N97, Z66N98};
1198   //==> Ho(Z=67)                                 1198   //==> Ho(Z=67)
1199   static const G4int N67=2;                      1199   static const G4int N67=2;
1200   static const G4double pZ67N98[7]={3.E-7, 13    1200   static const G4double pZ67N98[7]={3.E-7, 13., 2.2E-4, 1.5E-9, 1., 1.E-5, .0054};
1201   static const std::pair<G4int, const G4doubl    1201   static const std::pair<G4int, const G4double*> Z67N98(98,pZ67N98);
1202   static const G4double pZ67N99[7]={7.5E-8, 1    1202   static const G4double pZ67N99[7]={7.5E-8, 13., 2.6E-5, 4.5E-9, 1.5, 1.5E-5, .0021};
1203   static const std::pair<G4int, const G4doubl    1203   static const std::pair<G4int, const G4double*> Z67N99(99,pZ67N99);
1204   static const std::pair<G4int, const G4doubl    1204   static const std::pair<G4int, const G4double*> Z67[N67]={Z67N98, Z67N99};
1205   //==> Er(Z=68)                                 1205   //==> Er(Z=68)
1206   static const G4int N68=6;                      1206   static const G4int N68=6;
1207   static const G4double pZ68N94[7]={1.2E-7, 1    1207   static const G4double pZ68N94[7]={1.2E-7, 13., 7.8E-5, 1.6E-9, .9, 9.E-6, .005};
1208   static const std::pair<G4int, const G4doubl    1208   static const std::pair<G4int, const G4double*> Z68N94(94,pZ68N94);
1209   static const G4double pZ68N96[7]={1.2E-7, 1    1209   static const G4double pZ68N96[7]={1.2E-7, 13., 8.5E-5, 1.2E-9, .9, 8.E-6, .0055};
1210   static const std::pair<G4int, const G4doubl    1210   static const std::pair<G4int, const G4double*> Z68N96(96,pZ68N96);
1211   static const G4double pZ68N98[7]={1.E-6, 13    1211   static const G4double pZ68N98[7]={1.E-6, 13., .0011, .8E-9, .9, 8.E-6, .0087};
1212   static const std::pair<G4int, const G4doubl    1212   static const std::pair<G4int, const G4double*> Z68N98(98,pZ68N98);
1213   static const G4double pZ68N99[7]={1.2E-7, 1    1213   static const G4double pZ68N99[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
1214   static const std::pair<G4int, const G4doubl    1214   static const std::pair<G4int, const G4double*> Z68N99(99,pZ68N99);
1215   static const G4double pZ68N100[7]={2.E-6, 1    1215   static const G4double pZ68N100[7]={2.E-6, 13., .0015, 1.1E-9, .9, 8.E-6, .0058};
1216   static const std::pair<G4int, const G4doubl    1216   static const std::pair<G4int, const G4double*> Z68N100(100,pZ68N100);
1217   static const G4double pZ68N102[7]={2.E-6, 1    1217   static const G4double pZ68N102[7]={2.E-6, 13., .0018, 1.E-9, .9, 8.E-6, .007};
1218   static const std::pair<G4int, const G4doubl    1218   static const std::pair<G4int, const G4double*> Z68N102(102,pZ68N102);
1219   static const std::pair<G4int, const G4doubl    1219   static const std::pair<G4int, const G4double*> Z68[N68]={Z68N94, Z68N96, Z68N98,
1220                                                  1220                                                            Z68N99, Z68N100, Z68N102};
1221   //==> Tm(Z=69) *** No data *** (Tm169=Er167    1221   //==> Tm(Z=69) *** No data *** (Tm169=Er167)
1222   static const G4int N69=1;                      1222   static const G4int N69=1;
1223   static const G4double pZ69N100[7]={1.2E-7,     1223   static const G4double pZ69N100[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
1224   static const std::pair<G4int, const G4doubl    1224   static const std::pair<G4int, const G4double*> Z69N100(100,pZ69N100);
1225   static const std::pair<G4int, const G4doubl    1225   static const std::pair<G4int, const G4double*> Z69[N69]={Z69N100};
1226   //==> Yb(Z=70) *** No data *** (Yb168=Er166    1226   //==> Yb(Z=70) *** No data *** (Yb168=Er166, Yb170=Er168, Yb171=Er167, Yb172=Er170,
1227   //                              Yb173=Hf177    1227   //                              Yb173=Hf177, Yb174=Hf176, Yb176=Hf178)
1228   static const G4int N70=7;                      1228   static const G4int N70=7;
1229   static const G4double pZ70N98[7]={1.E-6, 13    1229   static const G4double pZ70N98[7]={1.E-6, 13., .0011, .8E-9, .9, 8.E-6, .0087};
1230   static const std::pair<G4int, const G4doubl    1230   static const std::pair<G4int, const G4double*> Z70N98(98,pZ70N98);
1231   static const G4double pZ70N100[7]={2.E-6, 1    1231   static const G4double pZ70N100[7]={2.E-6, 13., .0015, 1.1E-9, .9, 8.E-6, .0058};
1232   static const std::pair<G4int, const G4doubl    1232   static const std::pair<G4int, const G4double*> Z70N100(100,pZ70N100);
1233   static const G4double pZ70N101[7]={1.2E-7,     1233   static const G4double pZ70N101[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
1234   static const std::pair<G4int, const G4doubl    1234   static const std::pair<G4int, const G4double*> Z70N101(101,pZ70N101);
1235   static const G4double pZ70N102[7]={2.E-6, 1    1235   static const G4double pZ70N102[7]={2.E-6, 13., .0018, 1.E-9, .9, 8.E-6, .007};
1236   static const std::pair<G4int, const G4doubl    1236   static const std::pair<G4int, const G4double*> Z70N102(102,pZ70N102);
1237   static const G4double pZ70N103[7]={5.E-7, 1    1237   static const G4double pZ70N103[7]={5.E-7, 18., .01, 1.7E-6, 1.2, 1.4E-5, 1.4E-5};
1238   static const std::pair<G4int, const G4doubl    1238   static const std::pair<G4int, const G4double*> Z70N103(103,pZ70N103);
1239   static const G4double pZ70N104[7]={5.E-7, 1    1239   static const G4double pZ70N104[7]={5.E-7, 18., 1.9E-4, 2.5E-9, 1.2, 1.4E-5, .004};
1240   static const std::pair<G4int, const G4doubl    1240   static const std::pair<G4int, const G4double*> Z70N104(104,pZ70N104);
1241   static const G4double pZ70N106[7]={5.E-7, 1    1241   static const G4double pZ70N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
1242   static const std::pair<G4int, const G4doubl    1242   static const std::pair<G4int, const G4double*> Z70N106(106,pZ70N106);
1243   static const std::pair<G4int, const G4doubl    1243   static const std::pair<G4int, const G4double*> Z70[N70]={Z70N98, Z70N100, Z70N101,
1244                                                  1244                                                            Z70N102, Z70N103, Z70N104,
1245                                                  1245                                                            Z70N106};
1246   //==> Lu(Z=71)                                 1246   //==> Lu(Z=71)
1247   static const G4int N71=2;                      1247   static const G4int N71=2;
1248   static const G4double pZ71N104[7]={5.E-7, 1    1248   static const G4double pZ71N104[7]={5.E-7, 18., 1.8E-4, 2.E-9, .9, 9.E-6, .0036};
1249   static const std::pair<G4int, const G4doubl    1249   static const std::pair<G4int, const G4double*> Z71N104(104,pZ71N104);
1250   static const G4double pZ71N105[7]={2.5E-7,     1250   static const G4double pZ71N105[7]={2.5E-7, 18., 9.E-5, 1.E-8, .9, 9.E-6, .0016};
1251   static const std::pair<G4int, const G4doubl    1251   static const std::pair<G4int, const G4double*> Z71N105(105,pZ71N105);
1252   static const std::pair<G4int, const G4doubl    1252   static const std::pair<G4int, const G4double*> Z71[N71]={Z71N104, Z71N105};
1253   //==> Hf(Z=72)                                 1253   //==> Hf(Z=72)
1254   static const G4int N72=6;                      1254   static const G4int N72=6;
1255   static const G4double pZ72N102[7]={1.E-6, 1    1255   static const G4double pZ72N102[7]={1.E-6, 18., 8.8E-4, .8E-9, 1., 1.1E-5, .0092};
1256   static const std::pair<G4int, const G4doubl    1256   static const std::pair<G4int, const G4double*> Z72N102(102,pZ72N102);
1257   static const G4double pZ72N104[7]={5.E-7, 1    1257   static const G4double pZ72N104[7]={5.E-7, 18., 1.9E-4, 2.5E-9, 1.2, 1.4E-5, .004};
1258   static const std::pair<G4int, const G4doubl    1258   static const std::pair<G4int, const G4double*> Z72N104(104,pZ72N104);
1259   static const G4double pZ72N105[7]={5.E-7, 1    1259   static const G4double pZ72N105[7]={5.E-7, 18., .01, 1.7E-6, 1.2, 1.4E-5, 1.4E-5};
1260   static const std::pair<G4int, const G4doubl    1260   static const std::pair<G4int, const G4double*> Z72N105(105,pZ72N105);
1261   static const G4double pZ72N106[7]={5.E-7, 1    1261   static const G4double pZ72N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
1262   static const std::pair<G4int, const G4doubl    1262   static const std::pair<G4int, const G4double*> Z72N106(106,pZ72N106);
1263   static const G4double pZ72N107[7]={2.5E-7,     1263   static const G4double pZ72N107[7]={2.5E-7, 18., 1.E-4, 2.E-9, 1.2, 1.5E-5, .0041};
1264   static const std::pair<G4int, const G4doubl    1264   static const std::pair<G4int, const G4double*> Z72N107(107,pZ72N107);
1265   static const G4double pZ72N108[7]={1.E-6, 1    1265   static const G4double pZ72N108[7]={1.E-6, 18., .0012, .6E-9, 1.2, 1.5E-5, .012};
1266   static const std::pair<G4int, const G4doubl    1266   static const std::pair<G4int, const G4double*> Z72N108(108,pZ72N108);
1267   static const std::pair<G4int, const G4doubl    1267   static const std::pair<G4int, const G4double*> Z72[N72]={Z72N102, Z72N104, Z72N105,
1268                                                  1268                                                            Z72N106, Z72N107, Z72N108};
1269   //==> Ta(Z=73)                                 1269   //==> Ta(Z=73)
1270   static const G4int N73=2;                      1270   static const G4int N73=2;
1271   static const G4double pZ73N108[7]={5.E-7, 1    1271   static const G4double pZ73N108[7]={5.E-7, 18., 1.7E-4, 2.E-9, 1.2, 1.4E-5, .0035};
1272   static const std::pair<G4int, const G4doubl    1272   static const std::pair<G4int, const G4double*> Z73N108(108,pZ73N108);
1273   //static const G4double pZ73N109[7]={1.E-6,    1273   //static const G4double pZ73N109[7]={1.E-6, 14., .002, .3E-9, 1.3, 1.5E-5, .016};
1274   //static const std::pair<G4int, const G4dou    1274   //static const std::pair<G4int, const G4double*> Z73N109(109,pZ73N109);
1275   static const std::pair<G4int, const G4doubl    1275   static const std::pair<G4int, const G4double*> Z73[N73]={Z73N108, Z73N108};
1276   //==> W (Z=74) *** W180 only bad TENDL-2008    1276   //==> W (Z=74) *** W180 only bad TENDL-2008 *** (W180=Hf178)
1277   static const G4int N74=5;                      1277   static const G4int N74=5;
1278   static const G4double pZ74N106[7]={5.E-7, 1    1278   static const G4double pZ74N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
1279   static const std::pair<G4int, const G4doubl    1279   static const std::pair<G4int, const G4double*> Z74N106(106,pZ74N106);
1280   static const G4double pZ74N108[7]={4.E-6, 1    1280   static const G4double pZ74N108[7]={4.E-6, 14., .0034, .9E-9, 1.3, 1.4E-5, .0067};
1281   static const std::pair<G4int, const G4doubl    1281   static const std::pair<G4int, const G4double*> Z74N108(108,pZ74N108);
1282   static const G4double pZ74N109[7]={1.2E-7,     1282   static const G4double pZ74N109[7]={1.2E-7, 14., 3.E-5, 3.E-9, 1.3, 1.4E-5, .0019};
1283   static const std::pair<G4int, const G4doubl    1283   static const std::pair<G4int, const G4double*> Z74N109(109,pZ74N109);
1284   static const G4double pZ74N110[7]={1.2E-7,     1284   static const G4double pZ74N110[7]={1.2E-7, 14., 3.6E-5, 2.E-9, 1.3, 1.3E-5, .0024};
1285   static const std::pair<G4int, const G4doubl    1285   static const std::pair<G4int, const G4double*> Z74N110(110,pZ74N110);
1286   static const G4double pZ74N112[7]={1.2E-7,     1286   static const G4double pZ74N112[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
1287   static const std::pair<G4int, const G4doubl    1287   static const std::pair<G4int, const G4double*> Z74N112(112,pZ74N112);
1288   static const std::pair<G4int, const G4doubl    1288   static const std::pair<G4int, const G4double*> Z74[N74]={Z74N106, Z74N108, Z74N109,
1289                                                  1289                                                            Z74N110, Z74N112};
1290   //==> Re(Z=75)                                 1290   //==> Re(Z=75)
1291   static const G4int N75=2;                      1291   static const G4int N75=2;
1292   static const G4double pZ75N110[7]={1.2E-7,     1292   static const G4double pZ75N110[7]={1.2E-7, 14., 8.E-5, 1.2E-9, 1.3, 1.5E-5, .005};
1293   static const std::pair<G4int, const G4doubl    1293   static const std::pair<G4int, const G4double*> Z75N110(110,pZ75N110);
1294   static const G4double pZ75N112[7]={1.2E-7,     1294   static const G4double pZ75N112[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
1295   static const std::pair<G4int, const G4doubl    1295   static const std::pair<G4int, const G4double*> Z75N112(112,pZ75N112);
1296   static const std::pair<G4int, const G4doubl    1296   static const std::pair<G4int, const G4double*> Z75[N75]={Z75N110, Z75N112};
1297   //==> Os(Z=76) *** No data *** (Os184=W182,    1297   //==> Os(Z=76) *** No data *** (Os184=W182, Os186=W184, Os187=Re187, Os188=W186,
1298   //                              Os189=Re187    1298   //                              Os189=Re187, Os190=Os192=W186)
1299   static const G4int N76=7;                      1299   static const G4int N76=7;
1300   static const G4double pZ76N108[7]={4.E-6, 1    1300   static const G4double pZ76N108[7]={4.E-6, 14., .0034, .9E-9, 1.3, 1.4E-5, .0067};
1301   static const std::pair<G4int, const G4doubl    1301   static const std::pair<G4int, const G4double*> Z76N108(108,pZ76N108);
1302   static const G4double pZ76N110[7]={1.2E-7,     1302   static const G4double pZ76N110[7]={1.2E-7, 14., 3.6E-5, 2.E-9, 1.3, 1.3E-5, .0024};
1303   static const std::pair<G4int, const G4doubl    1303   static const std::pair<G4int, const G4double*> Z76N110(110,pZ76N110);
1304   static const G4double pZ76N111[7]={1.2E-7,     1304   static const G4double pZ76N111[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
1305   static const std::pair<G4int, const G4doubl    1305   static const std::pair<G4int, const G4double*> Z76N111(111,pZ76N111);
1306   static const G4double pZ76N112[7]={1.2E-7,     1306   static const G4double pZ76N112[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
1307   static const std::pair<G4int, const G4doubl    1307   static const std::pair<G4int, const G4double*> Z76N112(112,pZ76N112);
1308   static const G4double pZ76N113[7]={1.2E-7,     1308   static const G4double pZ76N113[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
1309   static const std::pair<G4int, const G4doubl    1309   static const std::pair<G4int, const G4double*> Z76N113(113,pZ76N113);
1310   static const G4double pZ76N114[7]={1.2E-7,     1310   static const G4double pZ76N114[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
1311   static const std::pair<G4int, const G4doubl    1311   static const std::pair<G4int, const G4double*> Z76N114(114,pZ76N114);
1312   static const G4double pZ76N116[7]={1.2E-7,     1312   static const G4double pZ76N116[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
1313   static const std::pair<G4int, const G4doubl    1313   static const std::pair<G4int, const G4double*> Z76N116(116,pZ76N116);
1314   static const std::pair<G4int, const G4doubl    1314   static const std::pair<G4int, const G4double*> Z76[N76]={Z76N108, Z76N110, Z76N111,
1315                                                  1315                                                            Z76N112, Z76N113, Z76N114,
1316                                                  1316                                                            Z76N116};
1317   //==> Ir(Z=77)                                 1317   //==> Ir(Z=77)
1318   static const G4int N77=2;                      1318   static const G4int N77=2;
1319   static const G4double pZ77N114[7]={4.8E-7,     1319   static const G4double pZ77N114[7]={4.8E-7, 14., 5.2E-4, .7E-9, 1.5, 1.7E-5, .0082};
1320   static const std::pair<G4int, const G4doubl    1320   static const std::pair<G4int, const G4double*> Z77N114(114,pZ77N114);
1321   static const G4double pZ77N116[7]={4.8E-7,     1321   static const G4double pZ77N116[7]={4.8E-7, 14., 4.5E-4, .8E-9, 1.8, 2.3E-5, .0073};
1322   static const std::pair<G4int, const G4doubl    1322   static const std::pair<G4int, const G4double*> Z77N116(116,pZ77N116);
1323   static const std::pair<G4int, const G4doubl    1323   static const std::pair<G4int, const G4double*> Z77[N77]={Z77N114, Z77N116};
1324   //==> Pt(Z=78) *** No data *** (Pt190=Pt192    1324   //==> Pt(Z=78) *** No data *** (Pt190=Pt192=Pt194=Hg196, Pt195=Hg199, Pt196=Hg198,
1325   //                              Pt198=Hg200    1325   //                              Pt198=Hg200)
1326   static const G4int N78=6;                      1326   static const G4int N78=6;
1327   static const G4double pZ78N112[7]={6.E-8, 1    1327   static const G4double pZ78N112[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
1328   static const std::pair<G4int, const G4doubl    1328   static const std::pair<G4int, const G4double*> Z78N112(112,pZ78N112);
1329   static const G4double pZ78N114[7]={6.E-8, 1    1329   static const G4double pZ78N114[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
1330   static const std::pair<G4int, const G4doubl    1330   static const std::pair<G4int, const G4double*> Z78N114(114,pZ78N114);
1331   static const G4double pZ78N116[7]={6.E-8, 1    1331   static const G4double pZ78N116[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
1332   static const std::pair<G4int, const G4doubl    1332   static const std::pair<G4int, const G4double*> Z78N116(116,pZ78N116);
1333   static const G4double pZ78N117[7]={9.6E-7,     1333   static const G4double pZ78N117[7]={9.6E-7, 20., .001, .2E-9, 1.6, 2.E-5, .037};
1334   static const std::pair<G4int, const G4doubl    1334   static const std::pair<G4int, const G4double*> Z78N117(117,pZ78N117);
1335   static const G4double pZ78N118[7]={2.4E-7,     1335   static const G4double pZ78N118[7]={2.4E-7, 20., 1.6E-4, 1.3E-9, 1.6, 1.8E-5, .007};
1336   static const std::pair<G4int, const G4doubl    1336   static const std::pair<G4int, const G4double*> Z78N118(118,pZ78N118);
1337   static const G4double pZ78N120[7]={2.E-6, 1    1337   static const G4double pZ78N120[7]={2.E-6, 19., .0015, .9E-9, 1.6, 1.8E-5, .0078};
1338   static const std::pair<G4int, const G4doubl    1338   static const std::pair<G4int, const G4double*> Z78N120(120,pZ78N120);
1339   static const std::pair<G4int, const G4doubl    1339   static const std::pair<G4int, const G4double*> Z78[N78]={Z78N112, Z78N114, Z78N116,
1340                                                  1340                                                            Z78N117, Z78N118, Z78N120};
1341   //==> Au(Z=79)                                 1341   //==> Au(Z=79)
1342   static const G4int N79=1;                      1342   static const G4int N79=1;
1343   static const G4double pZ79N118[7]={2.4E-7,     1343   static const G4double pZ79N118[7]={2.4E-7, 19., 1.E-4, 1.4E-9, 1.3, 1.7E-5, .0042};
1344   static const std::pair<G4int, const G4doubl    1344   static const std::pair<G4int, const G4double*> Z79N118(118,pZ79N118);
1345   static const std::pair<G4int, const G4doubl    1345   static const std::pair<G4int, const G4double*> Z79[N79]={Z79N118};
1346   //==> Hg(Z=80)                                 1346   //==> Hg(Z=80)
1347   static const G4int N80=7;                      1347   static const G4int N80=7;
1348   static const G4double pZ80N116[7]={6.E-8, 1    1348   static const G4double pZ80N116[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
1349   static const std::pair<G4int, const G4doubl    1349   static const std::pair<G4int, const G4double*> Z80N116(116,pZ80N116);
1350   static const G4double pZ80N118[7]={2.4E-7,     1350   static const G4double pZ80N118[7]={2.4E-7, 20., 1.6E-4, 1.3E-9, 1.6, 1.8E-5, .007};
1351   static const std::pair<G4int, const G4doubl    1351   static const std::pair<G4int, const G4double*> Z80N118(118,pZ80N118);
1352   static const G4double pZ80N119[7]={9.6E-7,     1352   static const G4double pZ80N119[7]={9.6E-7, 20., .001, .2E-9, 1.6, 2.E-5, .037};
1353   static const std::pair<G4int, const G4doubl    1353   static const std::pair<G4int, const G4double*> Z80N119(119,pZ80N119);
1354   static const G4double pZ80N120[7]={2.E-6, 1    1354   static const G4double pZ80N120[7]={2.E-6, 19., .0015, .9E-9, 1.6, 1.8E-5, .0078};
1355   static const std::pair<G4int, const G4doubl    1355   static const std::pair<G4int, const G4double*> Z80N120(120,pZ80N120);
1356   static const G4double pZ80N121[7]={1.E-6, 2    1356   static const G4double pZ80N121[7]={1.E-6, 20., 7.E-4, 1.E-9, 1.6, 1.8E-5, .0076};
1357   static const std::pair<G4int, const G4doubl    1357   static const std::pair<G4int, const G4double*> Z80N121(121,pZ80N121);
1358   static const G4double pZ80N122[7]={2.E-6, 1    1358   static const G4double pZ80N122[7]={2.E-6, 18., .0016, .8E-9, 1.6, 1.8E-5, .0078};
1359   static const std::pair<G4int, const G4doubl    1359   static const std::pair<G4int, const G4double*> Z80N122(122,pZ80N122);
1360   static const G4double pZ80N124[7]={2.0E-6,     1360   static const G4double pZ80N124[7]={2.0E-6, 18., .0032, .4E-9, 1.6, 1.8E-5, .016};
1361   static const std::pair<G4int, const G4doubl    1361   static const std::pair<G4int, const G4double*> Z80N124(124,pZ80N124);
1362   static const std::pair<G4int, const G4doubl    1362   static const std::pair<G4int, const G4double*> Z80[N80]={Z80N116, Z80N118, Z80N119,
1363                                                  1363                                                            Z80N120, Z80N121, Z80N122,
1364                                                  1364                                                            Z80N124};
1365   //==> Tl(Z=81) *** No data *** (Tl203=Au196    1365   //==> Tl(Z=81) *** No data *** (Tl203=Au196, Tl198=Bi209)
1366   static const G4int N81=2;                      1366   static const G4int N81=2;
1367   static const G4double pZ81N122[7]={2.4E-7,     1367   static const G4double pZ81N122[7]={2.4E-7, 19., 1.E-4, 1.4E-9, 1.3, 1.7E-5, .0042};
1368   static const std::pair<G4int, const G4doubl    1368   static const std::pair<G4int, const G4double*> Z81N122(122,pZ81N122);
1369   static const G4double pZ81N124[7]={};          1369   static const G4double pZ81N124[7]={};
1370   static const std::pair<G4int, const G4doubl    1370   static const std::pair<G4int, const G4double*> Z81N124(124,pZ81N124);
1371   static const std::pair<G4int, const G4doubl    1371   static const std::pair<G4int, const G4double*> Z81[N81]={Z81N122, Z81N124};
1372   //==> Pb(Z=82)                                 1372   //==> Pb(Z=82)
1373   static const G4int N82=4;                      1373   static const G4int N82=4;
1374   static const G4double pZ82N122[7]={4.E-6, 2    1374   static const G4double pZ82N122[7]={4.E-6, 20., .0022, 1.E-9, 1.6, 1.8E-5, .0058};
1375   static const std::pair<G4int, const G4doubl    1375   static const std::pair<G4int, const G4double*> Z82N122(122,pZ82N122);
1376   static const G4double pZ82N124[7]={4.E-6, 2    1376   static const G4double pZ82N124[7]={4.E-6, 20., .0022, 1.E-9, 1.6, 1.8E-5, .0058};
1377   static const std::pair<G4int, const G4doubl    1377   static const std::pair<G4int, const G4double*> Z82N124(124,pZ82N124);
1378   static const G4double pZ82N125[7]={2.E-6, 2    1378   static const G4double pZ82N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
1379   static const std::pair<G4int, const G4doubl    1379   static const std::pair<G4int, const G4double*> Z82N125(125,pZ82N125);
1380   static const G4double pZ82N126[7]={4.E-6, 2    1380   static const G4double pZ82N126[7]={4.E-6, 20., .0023, 1.2E-9, 1.6, 1.8E-5, .0058};
1381   static const std::pair<G4int, const G4doubl    1381   static const std::pair<G4int, const G4double*> Z82N126(126,pZ82N126);
1382   static const std::pair<G4int, const G4doubl    1382   static const std::pair<G4int, const G4double*> Z82[N82]={Z82N122, Z82N124, Z82N125,
1383                                                  1383                                                            Z82N126};
1384   //==> Bi(Z=83)                                 1384   //==> Bi(Z=83)
1385   static const G4int N83=1;                      1385   static const G4int N83=1;
1386   static const G4double pZ83N126[7]={8.E-7, 2    1386   static const G4double pZ83N126[7]={8.E-7, 23., 3.3E-4, 1.8E-9, 1.6, 1.8E-5, .005};
1387   static const std::pair<G4int, const G4doubl    1387   static const std::pair<G4int, const G4double*> Z83N126(126,pZ83N126);
1388   static const std::pair<G4int, const G4doubl    1388   static const std::pair<G4int, const G4double*> Z83[N83]={Z83N126};
1389   //==> Po(Z=84) *** No data *** (Po209=Pb207    1389   //==> Po(Z=84) *** No data *** (Po209=Pb207)
1390   static const G4int N84=1;                      1390   static const G4int N84=1;
1391   static const G4double pZ84N125[7]={2.E-6, 2    1391   static const G4double pZ84N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
1392   static const std::pair<G4int, const G4doubl    1392   static const std::pair<G4int, const G4double*> Z84N125(125,pZ84N125);
1393   static const std::pair<G4int, const G4doubl    1393   static const std::pair<G4int, const G4double*> Z84[N84]={Z84N125};
1394   //==> At(Z=85) *** No data *** (At210=Pb207    1394   //==> At(Z=85) *** No data *** (At210=Pb207)
1395   static const G4int N85=1;                      1395   static const G4int N85=1;
1396   static const G4double pZ85N125[7]={2.E-6, 2    1396   static const G4double pZ85N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
1397   static const std::pair<G4int, const G4doubl    1397   static const std::pair<G4int, const G4double*> Z85N125(125,pZ85N125);
1398   static const std::pair<G4int, const G4doubl    1398   static const std::pair<G4int, const G4double*> Z85[N85]={Z85N125};
1399   //==> Rn(Z=86) *** No data *** (Rn222=Ra224    1399   //==> Rn(Z=86) *** No data *** (Rn222=Ra224)
1400   static const G4int N86=1;                      1400   static const G4int N86=1;
1401   static const G4double pZ86N136[7]={1.E-7, 2    1401   static const G4double pZ86N136[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1402   static const std::pair<G4int, const G4doubl    1402   static const std::pair<G4int, const G4double*> Z86N136(136,pZ86N136);
1403   static const std::pair<G4int, const G4doubl    1403   static const std::pair<G4int, const G4double*> Z86[N86]={Z86N136};
1404   //==> Fr(Z=87) *** No data *** (Fr223=Ac225    1404   //==> Fr(Z=87) *** No data *** (Fr223=Ac225)
1405   static const G4int N87=1;                      1405   static const G4int N87=1;
1406   static const G4double pZ87N136[7]={2.E-7, 2    1406   static const G4double pZ87N136[7]={2.E-7, 23., 1.1E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
1407   static const std::pair<G4int, const G4doubl    1407   static const std::pair<G4int, const G4double*> Z87N136(136,pZ87N136);
1408   static const std::pair<G4int, const G4doubl    1408   static const std::pair<G4int, const G4double*> Z87[N87]={Z87N136};
1409   //==> Ra(Z=88)                                 1409   //==> Ra(Z=88)
1410   static const G4int N88=4;                      1410   static const G4int N88=4;
1411   static const G4double pZ88N135[7]={1.E-7, 2    1411   static const G4double pZ88N135[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1412   static const std::pair<G4int, const G4doubl    1412   static const std::pair<G4int, const G4double*> Z88N135(135,pZ88N135);
1413   static const G4double pZ88N136[7]={1.E-7, 2    1413   static const G4double pZ88N136[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1414   static const std::pair<G4int, const G4doubl    1414   static const std::pair<G4int, const G4double*> Z88N136(136,pZ88N136);
1415   static const G4double pZ88N137[7]={1.E-7, 2    1415   static const G4double pZ88N137[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1416   static const std::pair<G4int, const G4doubl    1416   static const std::pair<G4int, const G4double*> Z88N137(137,pZ88N137);
1417   static const G4double pZ88N138[7]={4.E-7, 2    1417   static const G4double pZ88N138[7]={4.E-7, 23., 1.7E-4, 1.5E-9, 1.6, 1.8E-5, .005};
1418   static const std::pair<G4int, const G4doubl    1418   static const std::pair<G4int, const G4double*> Z88N138(138,pZ88N138);
1419   static const std::pair<G4int, const G4doubl    1419   static const std::pair<G4int, const G4double*> Z88[N88]={Z88N135, Z88N136, Z88N137,
1420                                                  1420                                                            Z88N138};
1421   //==> Ac(Z=89)                                 1421   //==> Ac(Z=89)
1422   static const G4int N89=3;                      1422   static const G4int N89=3;
1423   static const G4double pZ89N136[7]={2.E-7, 2    1423   static const G4double pZ89N136[7]={2.E-7, 23., 1.1E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
1424   static const std::pair<G4int, const G4doubl    1424   static const std::pair<G4int, const G4double*> Z89N136(136,pZ89N136);
1425   static const G4double pZ89N137[7]={4.E-7, 2    1425   static const G4double pZ89N137[7]={4.E-7, 23., 2.2E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
1426   static const std::pair<G4int, const G4doubl    1426   static const std::pair<G4int, const G4double*> Z89N137(137,pZ89N137);
1427   static const G4double pZ89N138[7]={1.E-7, 2    1427   static const G4double pZ89N138[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1428   static const std::pair<G4int, const G4doubl    1428   static const std::pair<G4int, const G4double*> Z89N138(138,pZ89N138);
1429   static const std::pair<G4int, const G4doubl    1429   static const std::pair<G4int, const G4double*> Z89[N89]={Z89N136, Z89N137, Z89N138};
1430   //==> Th(Z=90)                                 1430   //==> Th(Z=90)
1431   static const G4int N90=7;                      1431   static const G4int N90=7;
1432   static const G4double pZ90N137[7]={4.E-7, 2    1432   static const G4double pZ90N137[7]={4.E-7, 23., 2.2E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
1433   static const std::pair<G4int, const G4doubl    1433   static const std::pair<G4int, const G4double*> Z90N137(137,pZ90N137);
1434   static const G4double pZ90N138[7]={1.E-6, 2    1434   static const G4double pZ90N138[7]={1.E-6, 23., .0016, .4E-9, 3., 3.E-5, .019};
1435   static const std::pair<G4int, const G4doubl    1435   static const std::pair<G4int, const G4double*> Z90N138(138,pZ90N138);
1436   static const G4double pZ90N139[7]={2.5E-7,     1436   static const G4double pZ90N139[7]={2.5E-7, 23., 1.1E-4, 1.4E-9, 2.4, 2.7E-5, .0049};
1437   static const std::pair<G4int, const G4doubl    1437   static const std::pair<G4int, const G4double*> Z90N139(139,pZ90N139);
1438   static const G4double pZ90N140[7]={1.2E-7,     1438   static const G4double pZ90N140[7]={1.2E-7, 23., 3.E-5, 2.E-9, 3., 3.E-5, .003};
1439   static const std::pair<G4int, const G4doubl    1439   static const std::pair<G4int, const G4double*> Z90N140(140,pZ90N140);
1440   static const G4double pZ90N142[7]={4.E-6, 2    1440   static const G4double pZ90N142[7]={4.E-6, 23., .0023, 1.1E-9, 1.8, 2.3E-5, .0064};
1441   static const std::pair<G4int, const G4doubl    1441   static const std::pair<G4int, const G4double*> Z90N142(142,pZ90N142);
1442   static const G4double pZ90N143[7]={9.4E-7,     1442   static const G4double pZ90N143[7]={9.4E-7, 23., 5.4E-4, 1.1E-9, 3., 3.E-5, .0066};
1443   static const std::pair<G4int, const G4doubl    1443   static const std::pair<G4int, const G4double*> Z90N143(143,pZ90N143);
1444   static const G4double pZ90N144[7]={2.5E-7,     1444   static const G4double pZ90N144[7]={2.5E-7, 23., 1.4E-4, 1.1E-9, 3., 3.E-5, .0066};
1445   static const std::pair<G4int, const G4doubl    1445   static const std::pair<G4int, const G4double*> Z90N144(144,pZ90N144);
1446   static const std::pair<G4int, const G4doubl    1446   static const std::pair<G4int, const G4double*> Z90[N90]={Z90N137, Z90N138, Z90N139,
1447                                                  1447                                                            Z90N140, Z90N142, Z90N143,
1448                                                  1448                                                            Z90N144};
1449   //==> Pa(Z=91)                                 1449   //==> Pa(Z=91)
1450   static const G4int N91=3;                      1450   static const G4int N91=3;
1451   static const G4double pZ91N140[7]={1.E-5, 2    1451   static const G4double pZ91N140[7]={1.E-5, 23., .0052, 1.6E-9, 1.8, 2.3E-5, .0057};
1452   static const std::pair<G4int, const G4doubl    1452   static const std::pair<G4int, const G4double*> Z91N140(140,pZ91N140);
1453   static const G4double pZ91N141[7]={8.E-6, 2    1453   static const G4double pZ91N141[7]={8.E-6, 23., .006, 0., 3.5, 3.5E-5, .021};
1454   static const std::pair<G4int, const G4doubl    1454   static const std::pair<G4int, const G4double*> Z91N141(141,pZ91N141);
1455   static const G4double pZ91N142[7]={8.E-6, 2    1455   static const G4double pZ91N142[7]={8.E-6, 23., .0042, 1.E-9, 2., 2.5E-5, .006};
1456   static const std::pair<G4int, const G4doubl    1456   static const std::pair<G4int, const G4double*> Z91N142(142,pZ91N142);
1457   static const std::pair<G4int, const G4doubl    1457   static const std::pair<G4int, const G4double*> Z91[N91]={Z91N140, Z91N141, Z91N142};
1458   //==> U (Z=92)                                 1458   //==> U (Z=92)
1459   static const G4int N92=10;                     1459   static const G4int N92=10;
1460   static const G4double pZ92N140[7]={1.4E-6,     1460   static const G4double pZ92N140[7]={1.4E-6, 20., 8.E-4, 1.5E-9, 2.5, 2.8E-5, .0055};
1461   static const std::pair<G4int, const G4doubl    1461   static const std::pair<G4int, const G4double*> Z92N140(140,pZ92N140);
1462   static const G4double pZ92N141[7]={5.6E-6,     1462   static const G4double pZ92N141[7]={5.6E-6, 20., .0033, 1.E-9, 2.5, 2.8E-5, .006};
1463   static const std::pair<G4int, const G4doubl    1463   static const std::pair<G4int, const G4double*> Z92N141(141,pZ92N141);
1464   static const G4double pZ92N142[7]={5.6E-6,     1464   static const G4double pZ92N142[7]={5.6E-6, 20., .0034, 0., 2.5, 2.8E-5, .0072};
1465   static const std::pair<G4int, const G4doubl    1465   static const std::pair<G4int, const G4double*> Z92N142(142,pZ92N142);
1466   static const G4double pZ92N143[7]={5.6E-6,     1466   static const G4double pZ92N143[7]={5.6E-6, 20., .0032, 0., 2., 2.3E-5, .006};
1467   static const std::pair<G4int, const G4doubl    1467   static const std::pair<G4int, const G4double*> Z92N143(143,pZ92N143);
1468   static const G4double pZ92N144[7]={3.6E-7,     1468   static const G4double pZ92N144[7]={3.6E-7, 20., 1.6E-4, 1.3E-9, 2.2, 2.7E-5, .0043};
1469   static const std::pair<G4int, const G4doubl    1469   static const std::pair<G4int, const G4double*> Z92N144(144,pZ92N144);
1470   static const G4double pZ92N145[7]={3.6E-6,     1470   static const G4double pZ92N145[7]={3.6E-6, 20., .003, 0., 2.2, 2.7E-5, .045};
1471   static const std::pair<G4int, const G4doubl    1471   static const std::pair<G4int, const G4double*> Z92N145(145,pZ92N145);
1472   static const G4double pZ92N146[7]={3.6E-7,     1472   static const G4double pZ92N146[7]={3.6E-7, 20., 1.6E-4, 1.3E-9, 2.2, 2.7E-5, .0043};
1473   static const std::pair<G4int, const G4doubl    1473   static const std::pair<G4int, const G4double*> Z92N146(146,pZ92N146);
1474   static const G4double pZ92N147[7]={3.6E-6,     1474   static const G4double pZ92N147[7]={3.6E-6, 20., .0014, 1.3E-9, 2.2, 2.7E-5, 12.};
1475   static const std::pair<G4int, const G4doubl    1475   static const std::pair<G4int, const G4double*> Z92N147(147,pZ92N147);
1476   static const G4double pZ92N148[7]={3.4E-7,     1476   static const G4double pZ92N148[7]={3.4E-7, 20., 1.3E-4, 1.3E-9, 2.2, 2.8E-5, .0036};
1477   static const std::pair<G4int, const G4doubl    1477   static const std::pair<G4int, const G4double*> Z92N148(148,pZ92N148);
1478   //static const G4double pZ92N149[7]={3.3E-7    1478   //static const G4double pZ92N149[7]={3.3E-7, 20., 1.5E-4, 1.2E-9, 3., 3.4E-5, .0044};
1479   //static const std::pair<G4int, const G4dou    1479   //static const std::pair<G4int, const G4double*> Z92N149(149,pZ92N149);
1480   static const std::pair<G4int, const G4doubl    1480   static const std::pair<G4int, const G4double*> Z92[N92]={Z92N140, Z92N141, Z92N142,
1481                                                  1481                                                            Z92N143, Z92N144, Z92N145,
1482                                                  1482                                                            Z92N146, Z92N147, Z92N148,
1483                                                  1483                                                            Z92N146};
1484   //==> Np(Z=93)                                 1484   //==> Np(Z=93)
1485   static const G4int N93=5;                      1485   static const G4int N93=5;
1486   static const G4double pZ93N142[7]={3.4E-6,     1486   static const G4double pZ93N142[7]={3.4E-6, 20., .002, 1.3E-9, 3., 3.3E-5, .0056};
1487   static const std::pair<G4int, const G4doubl    1487   static const std::pair<G4int, const G4double*> Z93N142(142,pZ93N142);
1488   static const G4double pZ93N143[7]={3.4E-6,     1488   static const G4double pZ93N143[7]={3.4E-6, 20., .002, 1.6E-9, 3.5, 3.6E-5, .005};
1489   static const std::pair<G4int, const G4doubl    1489   static const std::pair<G4int, const G4double*> Z93N143(143,pZ93N143);
1490   static const G4double pZ93N144[7]={6.8E-6,     1490   static const G4double pZ93N144[7]={6.8E-6, 18., .0052, .8E-9, 2.4, 3.E-5, .0072};
1491   static const std::pair<G4int, const G4doubl    1491   static const std::pair<G4int, const G4double*> Z93N144(144,pZ93N144);
1492   static const G4double pZ93N145[7]={3.4E-6,     1492   static const G4double pZ93N145[7]={3.4E-6, 20., .002, 1.E-9, 3.5, 3.6E-5, .006};
1493   static const std::pair<G4int, const G4doubl    1493   static const std::pair<G4int, const G4double*> Z93N145(145,pZ93N145);
1494   static const G4double pZ93N146[7]={3.4E-6,     1494   static const G4double pZ93N146[7]={3.4E-6, 20., .002, 1.5E-9, 3.5, 3.6E-5, .0053};
1495   static const std::pair<G4int, const G4doubl    1495   static const std::pair<G4int, const G4double*> Z93N146(146,pZ93N146);
1496   static const std::pair<G4int, const G4doubl    1496   static const std::pair<G4int, const G4double*> Z93[N93]={Z93N142, Z93N143, Z93N144,
1497                                                  1497                                                            Z93N145, Z93N146};
1498   //==> Pu(Z=94)                                 1498   //==> Pu(Z=94)
1499   static const G4int N94=10;                     1499   static const G4int N94=10;
1500   static const G4double pZ94N142[7]={6.8E-7,     1500   static const G4double pZ94N142[7]={6.8E-7, 16., 4.5E-4, 1.7E-9, 2.6, 3.E-5, .0047};
1501   static const std::pair<G4int, const G4doubl    1501   static const std::pair<G4int, const G4double*> Z94N142(142,pZ94N142);
1502   static const G4double pZ94N143[7]={6.8E-6,     1502   static const G4double pZ94N143[7]={6.8E-6, 18., .0044, .9E-9, 3.3, 3.5E-5, .0058};
1503   static const std::pair<G4int, const G4doubl    1503   static const std::pair<G4int, const G4double*> Z94N143(143,pZ94N143);
1504   static const G4double pZ94N144[7]={6.8E-7,     1504   static const G4double pZ94N144[7]={6.8E-7, 16., 6.E-4, 0., 2.7, 2.6E-5, .0082};
1505   static const std::pair<G4int, const G4doubl    1505   static const std::pair<G4int, const G4double*> Z94N144(144,pZ94N144);
1506   static const G4double pZ94N145[7]={2.6E-6,     1506   static const G4double pZ94N145[7]={2.6E-6, 16., .0017, 1.8E-9, 1.8, 2.E-5, .004};
1507   static const std::pair<G4int, const G4doubl    1507   static const std::pair<G4int, const G4double*> Z94N145(145,pZ94N145);
1508   static const G4double pZ94N146[7]={2.5E-7,     1508   static const G4double pZ94N146[7]={2.5E-7, 20., 9.E-5, 3.6E-8, 3.4, 3.8E-5, 5.4E-4};
1509   static const std::pair<G4int, const G4doubl    1509   static const std::pair<G4int, const G4double*> Z94N146(146,pZ94N146);
1510   static const G4double pZ94N147[7]={1.4E-5,     1510   static const G4double pZ94N147[7]={1.4E-5, 16., .01, .8E-9, 2.7, 2.6E-5, .0055};
1511   static const std::pair<G4int, const G4doubl    1511   static const std::pair<G4int, const G4double*> Z94N147(147,pZ94N147);
1512   static const G4double pZ94N148[7]={3.4E-7,     1512   static const G4double pZ94N148[7]={3.4E-7, 20., 1.3E-4, 1.2E-9, 3.2, 3.E-5, .0036};
1513   static const std::pair<G4int, const G4doubl    1513   static const std::pair<G4int, const G4double*> Z94N148(148,pZ94N148);
1514   static const G4double pZ94N149[7]={5.2E-6,     1514   static const G4double pZ94N149[7]={5.2E-6, 20., .0035, .4E-9, 2.3, 3.E-5, .0095};
1515   static const std::pair<G4int, const G4doubl    1515   static const std::pair<G4int, const G4double*> Z94N149(149,pZ94N149);
1516   static const G4double pZ94N150[7]={3.3E-7,     1516   static const G4double pZ94N150[7]={3.3E-7, 20., 1.6E-4, 1.2E-9, 3., 3.E-5, .0046};
1517   static const std::pair<G4int, const G4doubl    1517   static const std::pair<G4int, const G4double*> Z94N150(150,pZ94N150);
1518   static const G4double pZ94N152[7]={2.5E-6,     1518   static const G4double pZ94N152[7]={2.5E-6, 16., .0018, 1.2E-9, 3., 3.1E-5, .0052};
1519   static const std::pair<G4int, const G4doubl    1519   static const std::pair<G4int, const G4double*> Z94N152(152,pZ94N152);
1520   static const std::pair<G4int, const G4doubl    1520   static const std::pair<G4int, const G4double*> Z94[N94]={Z94N142, Z94N143, Z94N144,
1521                                                  1521                                                            Z94N145, Z94N146, Z94N147,
1522                                                  1522                                                            Z94N148, Z94N149, Z94N150,
1523                                                  1523                                                            Z94N152};
1524   //==> Am(Z=95)                                 1524   //==> Am(Z=95)
1525   static const G4int N95=4;                      1525   static const G4int N95=4;
1526   static const G4double pZ95N156[7]={2.5E-6,     1526   static const G4double pZ95N156[7]={2.5E-6, 18., .0016, .9E-9, 2., 2.3E-5, .0058};
1527   static const std::pair<G4int, const G4doubl    1527   static const std::pair<G4int, const G4double*> Z95N156(156,pZ95N156);
1528   static const G4double pZ95N157[7]={5.E-6, 1    1528   static const G4double pZ95N157[7]={5.E-6, 18., .003, 2.7E-9, 2., 2.3E-5, .0039};
1529   static const std::pair<G4int, const G4doubl    1529   static const std::pair<G4int, const G4double*> Z95N157(157,pZ95N157);
1530   static const G4double pZ95N158[7]={5.E-6, 1    1530   static const G4double pZ95N158[7]={5.E-6, 19., .0033, 2.6E-9, 2., 2.3E-5, .0044};
1531   static const std::pair<G4int, const G4doubl    1531   static const std::pair<G4int, const G4double*> Z95N158(158,pZ95N158);
1532   static const G4double pZ95N159[7]={5.E-5, 2    1532   static const G4double pZ95N159[7]={5.E-5, 20., .029, 1.1E-9, 2., 2.3E-5, .0057};
1533   static const std::pair<G4int, const G4doubl    1533   static const std::pair<G4int, const G4double*> Z95N159(159,pZ95N159);
1534   static const std::pair<G4int, const G4doubl    1534   static const std::pair<G4int, const G4double*> Z95[N95]={Z95N156, Z95N157, Z95N158,
1535                                                  1535                                                            Z95N159};
1536   //==> Cm(Z=96)                                 1536   //==> Cm(Z=96)
1537   static const G4int N96=10;                     1537   static const G4int N96=10;
1538   static const G4double pZ96N145[7]={5.E-5, 2    1538   static const G4double pZ96N145[7]={5.E-5, 22., .027, 1.1E-9, 2.2, 2.2E-5, .006};
1539   static const std::pair<G4int, const G4doubl    1539   static const std::pair<G4int, const G4double*> Z96N145(145,pZ96N145);
1540   static const G4double pZ96N146[7]={5.E-5, 2    1540   static const G4double pZ96N146[7]={5.E-5, 24., .027, 2.E-9, 2.2, 2.2E-5, .0055};
1541   static const std::pair<G4int, const G4doubl    1541   static const std::pair<G4int, const G4double*> Z96N146(146,pZ96N146);
1542   static const G4double pZ96N147[7]={5.E-5, 2    1542   static const G4double pZ96N147[7]={5.E-5, 22., .025, 2.5E-9, 2.2, 2.4E-5, .0044};
1543   static const std::pair<G4int, const G4doubl    1543   static const std::pair<G4int, const G4double*> Z96N147(147,pZ96N147);
1544   static const G4double pZ96N148[7]={5.E-5, 2    1544   static const G4double pZ96N148[7]={5.E-5, 23., .028, 1.9E-9, 2.2, 3.E-5, .0055};
1545   static const std::pair<G4int, const G4doubl    1545   static const std::pair<G4int, const G4double*> Z96N148(148,pZ96N148);
1546   static const G4double pZ96N149[7]={5.E-5, 2    1546   static const G4double pZ96N149[7]={5.E-5, 23., .025, 1.6E-9, 3., 3.5E-5, .0054};
1547   static const std::pair<G4int, const G4doubl    1547   static const std::pair<G4int, const G4double*> Z96N149(149,pZ96N149);
1548   static const G4double pZ96N150[7]={5.E-5, 2    1548   static const G4double pZ96N150[7]={5.E-5, 24., .026, 2.E-9, 3., 3.6E-5, .0045};
1549   static const std::pair<G4int, const G4doubl    1549   static const std::pair<G4int, const G4double*> Z96N150(150,pZ96N150);
1550   static const G4double pZ96N151[7]={5.E-5, 2    1550   static const G4double pZ96N151[7]={5.E-5, 24., .022, 2.4E-9, 3., 3.6E-5, .0039};
1551   static const std::pair<G4int, const G4doubl    1551   static const std::pair<G4int, const G4double*> Z96N151(151,pZ96N151);
1552   static const G4double pZ96N152[7]={6.5E-7,     1552   static const G4double pZ96N152[7]={6.5E-7, 25., 2.E-4, 3.4E-9, 3., 3.6E-5, .003};
1553   static const std::pair<G4int, const G4doubl    1553   static const std::pair<G4int, const G4double*> Z96N152(152,pZ96N152);
1554   static const G4double pZ96N153[7]={1.6E-6,     1554   static const G4double pZ96N153[7]={1.6E-6, 21., 7.E-4, 1.4E-9, 3., 3.6E-5, .0045};
1555   static const std::pair<G4int, const G4doubl    1555   static const std::pair<G4int, const G4double*> Z96N153(153,pZ96N153);
1556   static const G4double pZ96N154[7]={1.3E-5,     1556   static const G4double pZ96N154[7]={1.3E-5, 16., .016, 0., 3., 3.6E-5, .017};
1557   static const std::pair<G4int, const G4doubl    1557   static const std::pair<G4int, const G4double*> Z96N154(154,pZ96N154);
1558   static const std::pair<G4int, const G4doubl    1558   static const std::pair<G4int, const G4double*> Z96[N96]={Z96N145, Z96N146, Z96N147,
1559                                                  1559                                                            Z96N148, Z96N149, Z96N150,
1560                                                  1560                                                            Z96N151, Z96N152, Z96N153,
1561                                                  1561                                                            Z96N154};
1562   //==> Bk(Z=97)                                 1562   //==> Bk(Z=97)
1563   static const G4int N97=2;                      1563   static const G4int N97=2;
1564   static const G4double pZ97N152[7]={6.5E-7,     1564   static const G4double pZ97N152[7]={6.5E-7, 22., 3.5E-4, 2.7E-9, 3., 4.E-5, .004};
1565   static const std::pair<G4int, const G4doubl    1565   static const std::pair<G4int, const G4double*> Z97N152(152,pZ97N152);
1566   static const G4double pZ97N153[7]={6.5E-6,     1566   static const G4double pZ97N153[7]={6.5E-6, 22., .0036, 1.E-9, 2.7, 4.E-5, .006};
1567   static const std::pair<G4int, const G4doubl    1567   static const std::pair<G4int, const G4double*> Z97N153(153,pZ97N153);
1568   static const std::pair<G4int, const G4doubl    1568   static const std::pair<G4int, const G4double*> Z97[N97]={Z97N152, Z97N153};
1569   //==> Cf(Z=98)                                 1569   //==> Cf(Z=98)
1570   static const G4int N98=6;                      1570   static const G4int N98=6;
1571   static const G4double pZ98N151[7]={6.5E-6,     1571   static const G4double pZ98N151[7]={6.5E-6, 22., .0035, .9E-9, 3., 4.E-5, .0068};
1572   static const std::pair<G4int, const G4doubl    1572   static const std::pair<G4int, const G4double*> Z98N151(151,pZ98N151);
1573   static const G4double pZ98N152[7]={1.3E-6,     1573   static const G4double pZ98N152[7]={1.3E-6, 22., 7.E-4, 2.E-9, 2.7, 4.E-5, .0045};
1574   static const std::pair<G4int, const G4doubl    1574   static const std::pair<G4int, const G4double*> Z98N152(152,pZ98N152);
1575   static const G4double pZ98N153[7]={2.6E-6,     1575   static const G4double pZ98N153[7]={2.6E-6, 22., .0014, 2.1E-9, 2.7, 4.E-5, .0044};
1576   static const std::pair<G4int, const G4doubl    1576   static const std::pair<G4int, const G4double*> Z98N153(153,pZ98N153);
1577   static const G4double pZ98N154[7]={2.6E-6,     1577   static const G4double pZ98N154[7]={2.6E-6, 22., .0014, 1.3E-9, 2.7, 4.E-5, .0054};
1578   static const std::pair<G4int, const G4doubl    1578   static const std::pair<G4int, const G4double*> Z98N154(154,pZ98N154);
1579   static const G4double pZ98N155[7]={2.6E-5,     1579   static const G4double pZ98N155[7]={2.6E-5, 22., .03, 0., 2.7, 4.E-5, .03};
1580   static const std::pair<G4int, const G4doubl    1580   static const std::pair<G4int, const G4double*> Z98N155(155,pZ98N155);
1581   static const G4double pZ98N156[7]={5.2E-7,     1581   static const G4double pZ98N156[7]={5.2E-7, 22., 2.6E-4, 1.3E-9, 2.7, 4.E-5, .005};
1582   static const std::pair<G4int, const G4doubl    1582   static const std::pair<G4int, const G4double*> Z98N156(156,pZ98N156);
1583   static const std::pair<G4int, const G4doubl    1583   static const std::pair<G4int, const G4double*> Z98[N98]={Z98N151, Z98N152, Z98N153,
1584                                                  1584                                                            Z98N154, Z98N155, Z98N156};
1585                                                  1585  
1586   static const G4int NZ=99; // #of Elements c    1586   static const G4int NZ=99; // #of Elements covered by CHIPS elastic
1587   static const std::pair<G4int, const G4doubl    1587   static const std::pair<G4int, const G4double*>* Pars[NZ]={Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,
1588     Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z    1588     Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30,
1589     Z31,Z32,Z33,Z34,Z35,Z36,Z37,Z38,Z39,Z40,Z    1589     Z31,Z32,Z33,Z34,Z35,Z36,Z37,Z38,Z39,Z40,Z41,Z42,Z43,Z44,Z45,Z46,Z47,Z48,Z49,Z50,Z51,
1590     Z52,Z53,Z54,Z55,Z56,Z57,Z58,Z59,Z60,Z61,Z    1590     Z52,Z53,Z54,Z55,Z56,Z57,Z58,Z59,Z60,Z61,Z62,Z63,Z64,Z65,Z66,Z67,Z68,Z69,Z70,Z71,Z72,
1591     Z73,Z74,Z75,Z76,Z77,Z78,Z79,Z80,Z81,Z82,Z    1591     Z73,Z74,Z75,Z76,Z77,Z78,Z79,Z80,Z81,Z82,Z83,Z84,Z85,Z86,Z87,Z88,Z89,Z90,Z91,Z92,Z93,
1592     Z94,Z95,Z96,Z97,Z98};                        1592     Z94,Z95,Z96,Z97,Z98};
1593   static const G4int NIso[NZ]={N0,N1,N2,N3,N4    1593   static const G4int NIso[NZ]={N0,N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15,N16,
1594     N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N    1594     N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N27,N28,N29,N30,N31,N32,N33,N34,N35,N36,N37,
1595     N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N    1595     N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N48,N49,N50,N51,N52,N53,N54,N55,N56,N57,N58,
1596     N59,N60,N61,N62,N63,N64,N65,N66,N67,N68,N    1596     N59,N60,N61,N62,N63,N64,N65,N66,N67,N68,N69,N70,N71,N72,N73,N74,N75,N76,N77,N78,N79,
1597     N80,N81,N82,N83,N84,N85,N86,N87,N88,N89,N    1597     N80,N81,N82,N83,N84,N85,N86,N87,N88,N89,N90,N91,N92,N93,N94,N95,N96,N97,N98};
1598   if(PDG==2112)                                  1598   if(PDG==2112)
1599   {                                              1599   {
1600     // --- Total np elastic cross section cs     1600     // --- Total np elastic cross section cs & s1/b1 (t), s2/b2 (u) --- NotTuned for highE
1601     //p2=p*p;p3=p2*p;sp=sqrt(p);p2s=p2*sp;lp=    1601     //p2=p*p;p3=p2*p;sp=sqrt(p);p2s=p2*sp;lp=log(p);dl1=lp-(5.=par(3));p4=p2*p2; p=|3-mom|
1602     //CS=12./(p2s+.05*p+.0001/sqrt(sp))+.35/p    1602     //CS=12./(p2s+.05*p+.0001/sqrt(sp))+.35/p+(6.75+.14*dl1*dl1+19./p)/(1.+.6/p4);
1603     //  par(0)   par(1) par(2)        par(4)     1603     //  par(0)   par(1) par(2)        par(4) par(5) par(6)     par(7)     par(8)
1604     //s1=(6.75+.14*dl2*dl2+13./p)/(1.+.14/p4)    1604     //s1=(6.75+.14*dl2*dl2+13./p)/(1.+.14/p4)+.6/(p4+.00013), s2=(75.+.001/p4/p)/p3
1605     //  par(9) par(10)   par(11)     par(12)     1605     //  par(9) par(10)   par(11)     par(12) par(13) par(14)  par(15) par(16)
1606     //b1=(7.2+4.32/(p4*p4+.012*p3))/(1.+2.5/p    1606     //b1=(7.2+4.32/(p4*p4+.012*p3))/(1.+2.5/p4), ss=0., b2=12./(p*sp+.34)
1607     //par(17) par(18)    par(19)       par(20    1607     //par(17) par(18)    par(19)       par(20)  par(21)   par(22)   par(23)
1608     //                                           1608     //
1609     if(lastPAR[nLast]!=pwd) // A unique flag     1609     if(lastPAR[nLast]!=pwd) // A unique flag to avoid the repeatable definition
1610     {                                            1610     {
1611       if ( tgZ == 1 && tgN == 0 )                1611       if ( tgZ == 1 && tgN == 0 )
1612       {                                          1612       {
1613         for (G4int ip=0; ip<n_npel; ip++) las    1613         for (G4int ip=0; ip<n_npel; ip++) lastPAR[ip]=np_el[ip]; // np
1614       }                                          1614       }
1615       else if ( tgZ == 0 && tgN == 1 )           1615       else if ( tgZ == 0 && tgN == 1 )
1616       {                                          1616       {
1617         for (G4int ip=0; ip<n_ppel; ip++) las    1617         for (G4int ip=0; ip<n_ppel; ip++) lastPAR[ip]=pp_el[ip]; // nn
1618       }                                          1618       }
1619       else                                       1619       else
1620       {                                          1620       {
1621         G4double a=tgZ+tgN;                      1621         G4double a=tgZ+tgN;
1622         G4double ala=std::log(a); // for powe    1622         G4double ala=std::log(a); // for powers of a
1623         G4double sa=std::sqrt(a);                1623         G4double sa=std::sqrt(a);
1624         G4double ssa=std::sqrt(sa);              1624         G4double ssa=std::sqrt(sa);
1625         G4double asa=a*sa;                       1625         G4double asa=a*sa;
1626         G4double a2=a*a;                         1626         G4double a2=a*a;
1627         G4double a3=a2*a;                        1627         G4double a3=a2*a;
1628         G4double a4=a3*a;                        1628         G4double a4=a3*a;
1629         G4double a5=a4*a;                        1629         G4double a5=a4*a;
1630         G4double a6=a4*a2;                       1630         G4double a6=a4*a2;
1631         G4double a7=a6*a;                        1631         G4double a7=a6*a;
1632         G4double a8=a7*a;                        1632         G4double a8=a7*a;
1633         G4double a9=a8*a;                        1633         G4double a9=a8*a;
1634         G4double a10=a5*a5;                      1634         G4double a10=a5*a5;
1635         G4double a12=a6*a6;                      1635         G4double a12=a6*a6;
1636         G4double a14=a7*a7;                      1636         G4double a14=a7*a7;
1637         G4double a16=a8*a8;                      1637         G4double a16=a8*a8;
1638         G4double a17=a16*a;                      1638         G4double a17=a16*a;
1639         G4double a32=a16*a16;                    1639         G4double a32=a16*a16;
1640         // Reaction cross-section parameters     1640         // Reaction cross-section parameters (na_el.f)
1641         lastPAR[ 0]=5./(1.+22./asa);             1641         lastPAR[ 0]=5./(1.+22./asa);                                          // p1
1642         lastPAR[ 1]=4.8*std::exp(ala*1.14)/(1    1642         lastPAR[ 1]=4.8*std::exp(ala*1.14)/(1.+3.6/a3);                       // p2
1643         lastPAR[ 2]=1./(1.+.004*a4)+2.E-6*a3/    1643         lastPAR[ 2]=1./(1.+.004*a4)+2.E-6*a3/(1.+1.3E-6*a3);                  // p3
1644         lastPAR[ 3]=.07*asa/(1.+.009*a2);        1644         lastPAR[ 3]=.07*asa/(1.+.009*a2);                                     // o4
1645         lastPAR[ 5]=1.7*a;                       1645         lastPAR[ 5]=1.7*a;                                                    // p5
1646         lastPAR[ 6]=5.5E-6*std::exp(ala*1.3);    1646         lastPAR[ 6]=5.5E-6*std::exp(ala*1.3);                                 // p6
1647         lastPAR[13]=0.;                          1647         lastPAR[13]=0.;                                                       // reserved
1648         lastPAR[14]=0.;                          1648         lastPAR[14]=0.;                                                       // reserved
1649         G4int nn=NIso[tgZ];                      1649         G4int nn=NIso[tgZ];
1650         G4bool nfound=true;                      1650         G4bool nfound=true;
1651         if(nn) for (G4int in=0; in<nn; in++)     1651         if(nn) for (G4int in=0; in<nn; in++)
1652         {                                        1652         {
1653           std::pair<G4int, const G4double*> c    1653           std::pair<G4int, const G4double*> curIs=Pars[tgZ][in];
1654           G4int cn=curIs.first;                  1654           G4int cn=curIs.first;
1655           if(cn == tgN)                          1655           if(cn == tgN)
1656           {                                      1656           {
1657             const G4double* curT=curIs.second    1657             const G4double* curT=curIs.second;
1658             lastPAR[ 4]=curT[0];                 1658             lastPAR[ 4]=curT[0];                                           // p4
1659             lastPAR[ 7]=curT[1];                 1659             lastPAR[ 7]=curT[1];                                           // p7
1660             lastPAR[ 8]=curT[2];                 1660             lastPAR[ 8]=curT[2];                                           // p8
1661             lastPAR[ 9]=curT[3];                 1661             lastPAR[ 9]=curT[3];                                           // p9
1662             lastPAR[10]=curT[4];                 1662             lastPAR[10]=curT[4];                                           // p10
1663             lastPAR[11]=curT[5];                 1663             lastPAR[11]=curT[5];                                           // p11
1664             lastPAR[12]=curT[6];                 1664             lastPAR[12]=curT[6];                                           // p12
1665             nfound = false;                      1665             nfound = false;
1666             break;                               1666             break;
1667           }                                      1667           }
1668         }                                        1668         }
1669         if(nfound)                               1669         if(nfound) 
1670         {                                        1670         {
1671           //AR-24Apr2018 Switch to allow tran    1671           //AR-24Apr2018 Switch to allow transuranic elements (in this case to avoid a harmless warning)
1672           const G4bool isHeavyElementAllowed     1672           const G4bool isHeavyElementAllowed = true; 
1673           if ( ! isHeavyElementAllowed ) {       1673           if ( ! isHeavyElementAllowed ) {
1674             G4cout<<"-Warning-G4ChipsNeutronE    1674             G4cout<<"-Warning-G4ChipsNeutronElasticXS::CalcCS: Z="<<tgZ<<", N="<<tgN
1675                   <<" isotope is not implemen    1675                   <<" isotope is not implemented in CHIPS"<<G4endl; 
1676           }                                      1676           }
1677           // Put default values:                 1677           // Put default values:
1678           lastPAR[ 4]=5.2E-7;                    1678           lastPAR[ 4]=5.2E-7;                                              // p4
1679           lastPAR[ 7]=22.;                       1679           lastPAR[ 7]=22.;                                                 // p7
1680           lastPAR[ 8]=.00026;                    1680           lastPAR[ 8]=.00026;                                              // p8
1681           lastPAR[ 9]=1.3E-9;                    1681           lastPAR[ 9]=1.3E-9;                                              // p9
1682           lastPAR[10]=2.7;                       1682           lastPAR[10]=2.7;                                                 // p10
1683           lastPAR[11]=4.E-5;                     1683           lastPAR[11]=4.E-5;                                               // p11
1684           lastPAR[12]=.005;                      1684           lastPAR[12]=.005;                                                // p12          
1685         }                                        1685         }
1686         // @@ the differential cross-section     1686         // @@ the differential cross-section is parameterized separately for A>6 & A<7
1687         if(a<6.5)                                1687         if(a<6.5)
1688         {                                        1688         {
1689           G4double a28=a16*a12;                  1689           G4double a28=a16*a12;
1690           // The main pre-exponent      (pel_    1690           // The main pre-exponent      (pel_sg)
1691           lastPAR[15]=4000*a;                    1691           lastPAR[15]=4000*a;                                // p1
1692           lastPAR[16]=1.2e7*a8+380*a17;          1692           lastPAR[16]=1.2e7*a8+380*a17;                      // p2
1693           lastPAR[17]=.7/(1.+4.e-12*a16);        1693           lastPAR[17]=.7/(1.+4.e-12*a16);                    // p3
1694           lastPAR[18]=2.5/a8/(a4+1.e-16*a32);    1694           lastPAR[18]=2.5/a8/(a4+1.e-16*a32);                // p4
1695           lastPAR[19]=.28*a;                     1695           lastPAR[19]=.28*a;                                 // p5
1696           lastPAR[20]=1.2*a2+2.3;                1696           lastPAR[20]=1.2*a2+2.3;                            // p6
1697           lastPAR[21]=3.8/a;                     1697           lastPAR[21]=3.8/a;                                 // p7
1698           // The main slope             (pel_    1698           // The main slope             (pel_sl)
1699           lastPAR[22]=.01/(1.+.0024*a5);         1699           lastPAR[22]=.01/(1.+.0024*a5);                     // p1
1700           lastPAR[23]=.2*a;                      1700           lastPAR[23]=.2*a;                                  // p2
1701           lastPAR[24]=9.e-7/(1.+.035*a5);        1701           lastPAR[24]=9.e-7/(1.+.035*a5);                    // p3
1702           lastPAR[25]=(42.+2.7e-11*a16)/(1.+.    1702           lastPAR[25]=(42.+2.7e-11*a16)/(1.+.14*a);          // p4
1703           // The main quadratic         (pel_    1703           // The main quadratic         (pel_sh)
1704           lastPAR[26]=2.25*a3;                   1704           lastPAR[26]=2.25*a3;                               // p1
1705           lastPAR[27]=18.;                       1705           lastPAR[27]=18.;                                   // p2
1706           lastPAR[28]=.0024*a8/(1.+2.6e-4*a7)    1706           lastPAR[28]=.0024*a8/(1.+2.6e-4*a7);              // p3
1707           lastPAR[29]=3.5e-36*a32*a8/(1.+5.e-    1707           lastPAR[29]=3.5e-36*a32*a8/(1.+5.e-15*a32/a);      // p4
1708           lastPAR[30]=1.e5/(a8+2.5e12/a16);      1708           lastPAR[30]=1.e5/(a8+2.5e12/a16);                  // p1
1709           lastPAR[31]=8.e7/(a12+1.e-27*a28*a2    1709           lastPAR[31]=8.e7/(a12+1.e-27*a28*a28);             // p2 
1710           lastPAR[32]=.0006*a3;                  1710           lastPAR[32]=.0006*a3;                              // p3
1711           // The 1st max slope          (pel_    1711           // The 1st max slope          (pel_qs)
1712           lastPAR[33]=10.+4.e-8*a12*a;           1712           lastPAR[33]=10.+4.e-8*a12*a;                       // p1
1713           lastPAR[34]=.114;                      1713           lastPAR[34]=.114;                                  // p2
1714           lastPAR[35]=.003;                      1714           lastPAR[35]=.003;                                  // p3
1715           lastPAR[36]=2.e-23;                    1715           lastPAR[36]=2.e-23;                                // p4
1716           // The effective pre-exponent (pel_    1716           // The effective pre-exponent (pel_ss)
1717           lastPAR[37]=1./(1.+.0001*a8);          1717           lastPAR[37]=1./(1.+.0001*a8);                      // p1
1718           lastPAR[38]=1.5e-4/(1.+5.e-6*a12);     1718           lastPAR[38]=1.5e-4/(1.+5.e-6*a12);                 // p2
1719           lastPAR[39]=.03;                       1719           lastPAR[39]=.03;                                   // p3
1720           // The effective slope        (pel_    1720           // The effective slope        (pel_sb)
1721           lastPAR[40]=a/2;                       1721           lastPAR[40]=a/2;                                   // p1
1722           lastPAR[41]=2.e-7*a4;                  1722           lastPAR[41]=2.e-7*a4;                              // p2
1723           lastPAR[42]=4.;                        1723           lastPAR[42]=4.;                                    // p3
1724           lastPAR[43]=64./a3;                    1724           lastPAR[43]=64./a3;                                // p4
1725           // The gloria pre-exponent    (pel_    1725           // The gloria pre-exponent    (pel_us)
1726           lastPAR[44]=1.e8*std::exp(.32*asa);    1726           lastPAR[44]=1.e8*std::exp(.32*asa);                // p1
1727           lastPAR[45]=20.*std::exp(.45*asa);     1727           lastPAR[45]=20.*std::exp(.45*asa);                 // p2
1728           lastPAR[46]=7.e3+2.4e6/a5;             1728           lastPAR[46]=7.e3+2.4e6/a5;                         // p3
1729           lastPAR[47]=2.5e5*std::exp(.085*a3)    1729           lastPAR[47]=2.5e5*std::exp(.085*a3);               // p4
1730           lastPAR[48]=2.5*a;                     1730           lastPAR[48]=2.5*a;                                 // p5
1731           // The gloria slope           (pel_    1731           // The gloria slope           (pel_ub)
1732           lastPAR[49]=920.+.03*a8*a3;            1732           lastPAR[49]=920.+.03*a8*a3;                        // p1
1733           lastPAR[50]=93.+.0023*a12;             1733           lastPAR[50]=93.+.0023*a12;                         // p2
1734         }                                        1734         }
1735         else                                     1735         else
1736         {                                        1736         {
1737           G4double p1a10=2.2e-28*a10;            1737           G4double p1a10=2.2e-28*a10;
1738           G4double r4a16=6.e14/a16;              1738           G4double r4a16=6.e14/a16;
1739           G4double s4a16=r4a16*r4a16;            1739           G4double s4a16=r4a16*r4a16;
1740           // a24                                 1740           // a24
1741           // a36                                 1741           // a36
1742           // The main pre-exponent      (peh_    1742           // The main pre-exponent      (peh_sg)
1743           lastPAR[15]=4.5*std::pow(a,1.15);      1743           lastPAR[15]=4.5*std::pow(a,1.15);                  // p1
1744           lastPAR[16]=.06*std::pow(a,.6);        1744           lastPAR[16]=.06*std::pow(a,.6);                    // p2
1745           lastPAR[17]=.6*a/(1.+2.e15/a16);       1745           lastPAR[17]=.6*a/(1.+2.e15/a16);                   // p3
1746           lastPAR[18]=.17/(a+9.e5/a3+1.5e33/a    1746           lastPAR[18]=.17/(a+9.e5/a3+1.5e33/a32);            // p4
1747           lastPAR[19]=(.001+7.e-11*a5)/(1.+4.    1747           lastPAR[19]=(.001+7.e-11*a5)/(1.+4.4e-11*a5);      // p5
1748           lastPAR[20]=(p1a10*p1a10+2.e-29)/(1    1748           lastPAR[20]=(p1a10*p1a10+2.e-29)/(1.+2.e-22*a12);  // p6
1749           // The main slope             (peh_    1749           // The main slope             (peh_sl)
1750           lastPAR[21]=400./a12+2.e-22*a9;        1750           lastPAR[21]=400./a12+2.e-22*a9;                    // p1
1751           lastPAR[22]=1.e-32*a12/(1.+5.e22/a1    1751           lastPAR[22]=1.e-32*a12/(1.+5.e22/a14);             // p2
1752           lastPAR[23]=1000./a2+9.5*sa*ssa;       1752           lastPAR[23]=1000./a2+9.5*sa*ssa;                   // p3
1753           lastPAR[24]=4.e-6*a*asa+1.e11/a16;     1753           lastPAR[24]=4.e-6*a*asa+1.e11/a16;                 // p4
1754           lastPAR[25]=(120./a+.002*a2)/(1.+2.    1754           lastPAR[25]=(120./a+.002*a2)/(1.+2.e14/a16);       // p5
1755           lastPAR[26]=9.+100./a;                 1755           lastPAR[26]=9.+100./a;                             // p6
1756           // The main quadratic         (peh_    1756           // The main quadratic         (peh_sh)
1757           lastPAR[27]=.002*a3+3.e7/a6;           1757           lastPAR[27]=.002*a3+3.e7/a6;                       // p1
1758           lastPAR[28]=7.e-15*a4*asa;             1758           lastPAR[28]=7.e-15*a4*asa;                         // p2
1759           lastPAR[29]=9000./a4;                  1759           lastPAR[29]=9000./a4;                              // p3
1760           // The 1st max pre-exponent   (peh_    1760           // The 1st max pre-exponent   (peh_qq)
1761           lastPAR[30]=.0011*asa/(1.+3.e34/a32    1761           lastPAR[30]=.0011*asa/(1.+3.e34/a32/a4);           // p1
1762           lastPAR[31]=1.e-5*a2+2.e14/a16;        1762           lastPAR[31]=1.e-5*a2+2.e14/a16;                    // p2
1763           lastPAR[32]=1.2e-11*a2/(1.+1.5e19/a    1763           lastPAR[32]=1.2e-11*a2/(1.+1.5e19/a12);            // p3
1764           lastPAR[33]=.016*asa/(1.+5.e16/a16)    1764           lastPAR[33]=.016*asa/(1.+5.e16/a16);               // p4
1765           // The 1st max slope          (peh_    1765           // The 1st max slope          (peh_qs)
1766           lastPAR[34]=.002*a4/(1.+7.e7/std::p    1766           lastPAR[34]=.002*a4/(1.+7.e7/std::pow(a-6.83,14)); // p1
1767           lastPAR[35]=2.e6/a6+7.2/std::pow(a,    1767           lastPAR[35]=2.e6/a6+7.2/std::pow(a,.11);           // p2
1768           lastPAR[36]=11.*a3/(1.+7.e23/a16/a8    1768           lastPAR[36]=11.*a3/(1.+7.e23/a16/a8);              // p3
1769           lastPAR[37]=100./asa;                  1769           lastPAR[37]=100./asa;                              // p4
1770           // The 2nd max pre-exponent   (peh_    1770           // The 2nd max pre-exponent   (peh_ss)
1771           lastPAR[38]=(.1+4.4e-5*a2)/(1.+5.e5    1771           lastPAR[38]=(.1+4.4e-5*a2)/(1.+5.e5/a4);           // p1
1772           lastPAR[39]=3.5e-4*a2/(1.+1.e8/a8);    1772           lastPAR[39]=3.5e-4*a2/(1.+1.e8/a8);                // p2
1773           lastPAR[40]=1.3+3.e5/a4;               1773           lastPAR[40]=1.3+3.e5/a4;                           // p3
1774           lastPAR[41]=500./(a2+50.)+3;           1774           lastPAR[41]=500./(a2+50.)+3;                       // p4
1775           lastPAR[42]=1.e-9/a+s4a16*s4a16;       1775           lastPAR[42]=1.e-9/a+s4a16*s4a16;                   // p5
1776           // The 2nd max slope          (peh_    1776           // The 2nd max slope          (peh_sb)
1777           lastPAR[43]=.4*asa+3.e-9*a6;           1777           lastPAR[43]=.4*asa+3.e-9*a6;                       // p1
1778           lastPAR[44]=.0005*a5;                  1778           lastPAR[44]=.0005*a5;                              // p2
1779           lastPAR[45]=.002*a5;                   1779           lastPAR[45]=.002*a5;                               // p3
1780           lastPAR[46]=10.;                       1780           lastPAR[46]=10.;                                   // p4
1781           // The effective pre-exponent (peh_    1781           // The effective pre-exponent (peh_us)
1782           lastPAR[47]=.05+.005*a;                1782           lastPAR[47]=.05+.005*a;                            // p1
1783           lastPAR[48]=7.e-8/sa;                  1783           lastPAR[48]=7.e-8/sa;                              // p2
1784           lastPAR[49]=.8*sa;                     1784           lastPAR[49]=.8*sa;                                 // p3
1785           lastPAR[50]=.02*sa;                    1785           lastPAR[50]=.02*sa;                                // p4
1786           lastPAR[51]=1.e8/a3;                   1786           lastPAR[51]=1.e8/a3;                               // p5
1787           lastPAR[52]=3.e32/(a32+1.e32);         1787           lastPAR[52]=3.e32/(a32+1.e32);                     // p6
1788           // The effective slope        (peh_    1788           // The effective slope        (peh_ub)
1789           lastPAR[53]=24.;                       1789           lastPAR[53]=24.;                                   // p1
1790           lastPAR[54]=20./sa;                    1790           lastPAR[54]=20./sa;                                // p2
1791           lastPAR[55]=7.e3*a/(sa+1.);            1791           lastPAR[55]=7.e3*a/(sa+1.);                        // p3
1792           lastPAR[56]=900.*sa/(1.+500./a3);      1792           lastPAR[56]=900.*sa/(1.+500./a3);                  // p4
1793         }                                        1793         }
1794         // Parameter for lowEnergyNeutrons       1794         // Parameter for lowEnergyNeutrons
1795         lastPAR[57]=1.e15+2.e27/a4/(1.+2.e-18    1795         lastPAR[57]=1.e15+2.e27/a4/(1.+2.e-18*a16);
1796       }                                          1796       }
1797       lastPAR[nLast]=pwd;                        1797       lastPAR[nLast]=pwd;
1798       // and initialize the zero element of t    1798       // and initialize the zero element of the table
1799       G4double lp=lPMin;                         1799       G4double lp=lPMin;                                      // ln(momentum)
1800       G4bool memCS=onlyCS;                       1800       G4bool memCS=onlyCS;                                    // ??
1801       onlyCS=false;                              1801       onlyCS=false;
1802       lastCST[0]=GetTabValues(lp, PDG, tgZ, t    1802       lastCST[0]=GetTabValues(lp, PDG, tgZ, tgN); // Calculate AMDB tables
1803       onlyCS=memCS;                              1803       onlyCS=memCS;
1804       lastSST[0]=theSS;                          1804       lastSST[0]=theSS;
1805       lastS1T[0]=theS1;                          1805       lastS1T[0]=theS1;
1806       lastB1T[0]=theB1;                          1806       lastB1T[0]=theB1;
1807       lastS2T[0]=theS2;                          1807       lastS2T[0]=theS2;
1808       lastB2T[0]=theB2;                          1808       lastB2T[0]=theB2;
1809       lastS3T[0]=theS3;                          1809       lastS3T[0]=theS3;
1810       lastB3T[0]=theB3;                          1810       lastB3T[0]=theB3;
1811       lastS4T[0]=theS4;                          1811       lastS4T[0]=theS4;
1812       lastB4T[0]=theB4;                          1812       lastB4T[0]=theB4;
1813     }                                            1813     }
1814     if(LP>ILP)                                   1814     if(LP>ILP)
1815     {                                            1815     {
1816       G4int ini = static_cast<int>((ILP-lPMin    1816       G4int ini = static_cast<int>((ILP-lPMin+.000001)/dlnP)+1; // already inited till this
1817       if(ini<0) ini=0;                           1817       if(ini<0) ini=0;
1818       if(ini<nPoints)                            1818       if(ini<nPoints)
1819       {                                          1819       {
1820         G4int fin = static_cast<int>((LP-lPMi    1820         G4int fin = static_cast<int>((LP-lPMin)/dlnP)+1; // final bin of initialization
1821         if(fin>=nPoints) fin=nLast;              1821         if(fin>=nPoints) fin=nLast;               // Limit of the tabular initialization
1822         if(fin>=ini)                             1822         if(fin>=ini)
1823         {                                        1823         {
1824           G4double lp=0.;                        1824           G4double lp=0.;
1825           for(G4int ip=ini; ip<=fin; ip++)       1825           for(G4int ip=ini; ip<=fin; ip++)        // Calculate tabular CS,S1,B1,S2,B2,S3,B3
1826           {                                      1826           {
1827             lp=lPMin+ip*dlnP;                    1827             lp=lPMin+ip*dlnP;                     // ln(momentum)
1828             G4bool memCS=onlyCS;                 1828             G4bool memCS=onlyCS;
1829             onlyCS=false;                        1829             onlyCS=false;
1830             lastCST[ip]=GetTabValues(lp, PDG,    1830             lastCST[ip]=GetTabValues(lp, PDG, tgZ, tgN); // Calculate AMDB tables (ret CS)
1831             onlyCS=memCS;                        1831             onlyCS=memCS;
1832             lastSST[ip]=theSS;                   1832             lastSST[ip]=theSS;
1833             lastS1T[ip]=theS1;                   1833             lastS1T[ip]=theS1;
1834             lastB1T[ip]=theB1;                   1834             lastB1T[ip]=theB1;
1835             lastS2T[ip]=theS2;                   1835             lastS2T[ip]=theS2;
1836             lastB2T[ip]=theB2;                   1836             lastB2T[ip]=theB2;
1837             lastS3T[ip]=theS3;                   1837             lastS3T[ip]=theS3;
1838             lastB3T[ip]=theB3;                   1838             lastB3T[ip]=theB3;
1839             lastS4T[ip]=theS4;                   1839             lastS4T[ip]=theS4;
1840             lastB4T[ip]=theB4;                   1840             lastB4T[ip]=theB4;
1841           }                                      1841           }
1842           return lp;                             1842           return lp;
1843         }                                        1843         }
1844         else G4cout<<"*Warning*G4ChipsNeutron    1844         else G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetPTables: PDG="<<PDG
1845                    <<", Z="<<tgZ<<", N="<<tgN    1845                    <<", Z="<<tgZ<<", N="<<tgN<<", i="<<ini<<" > fin="<<fin<<", LP="<<LP
1846                    <<" > ILP="<<ILP<<" nothin    1846                    <<" > ILP="<<ILP<<" nothing is done!"<<G4endl;
1847       }                                          1847       }
1848       else G4cout<<"*Warning*G4ChipsNeutronEl    1848       else G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetPTables: PDG="<<PDG<<", Z="
1849                  <<tgZ<<", N="<<tgN<<", i="<<    1849                  <<tgZ<<", N="<<tgN<<", i="<<ini<<">= max="<<nPoints<<", LP="<<LP
1850                  <<" > ILP="<<ILP<<", lPMax="    1850                  <<" > ILP="<<ILP<<", lPMax="<<lPMax<<" nothing is done!"<<G4endl;
1851     }                                            1851     }
1852   }                                              1852   }
1853   else                                           1853   else
1854   {                                              1854   {
1855     // G4cout<<"*Error*G4ChipsNeutronElasticX    1855     // G4cout<<"*Error*G4ChipsNeutronElasticXS::GetPTables: PDG="<<PDG<<", Z="<<tgZ
1856     //       <<", N="<<tgN<<", while it is de    1856     //       <<", N="<<tgN<<", while it is defined only for PDG=2112(n)"<<G4endl;
1857     // throw G4QException("G4ChipsNeutronElas    1857     // throw G4QException("G4ChipsNeutronElasticXS::GetPTables:only nA're implemented");
1858     G4ExceptionDescription ed;                   1858     G4ExceptionDescription ed;
1859     ed << "PDG = " << PDG << ", Z = " << tgZ     1859     ed << "PDG = " << PDG << ", Z = " << tgZ <<", N = " << tgN
1860        << ", while it is defined only for PDG    1860        << ", while it is defined only for PDG=2112 (n)" << G4endl;
1861     G4Exception("G4ChipsNeutronElasticXS::Get    1861     G4Exception("G4ChipsNeutronElasticXS::GetPTables()", "HAD_CHPS_0000",
1862                 FatalException, ed);             1862                 FatalException, ed);
1863   }                                              1863   }
1864   return ILP;                                    1864   return ILP;
1865 }                                                1865 }
1866                                                  1866 
1867 // Returns Q2=-t in independent units (MeV^2)    1867 // Returns Q2=-t in independent units (MeV^2) (all internal calculations are in GeV)
1868 G4double G4ChipsNeutronElasticXS::GetExchange    1868 G4double G4ChipsNeutronElasticXS::GetExchangeT(G4int tgZ, G4int tgN, G4int PDG)
1869 {                                                1869 {
1870   static const G4double GeVSQ=gigaelectronvol    1870   static const G4double GeVSQ=gigaelectronvolt*gigaelectronvolt;
1871   static const G4double third=1./3.;             1871   static const G4double third=1./3.;
1872   static const G4double fifth=1./5.;             1872   static const G4double fifth=1./5.;
1873   static const G4double sevth=1./7.;             1873   static const G4double sevth=1./7.;
1874   if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeut    1874   if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetExT:PDG="<<PDG<<G4endl;
1875   if(onlyCS) G4cout<<"*Warning*G4ChipsNeutron    1875   if(onlyCS) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetExchangeT:onCS=1"<<G4endl;
1876   if(lastLP<-4.3) return lastTM*GeVSQ*G4Unifo    1876   if(lastLP<-4.3) return lastTM*GeVSQ*G4UniformRand();// S-wave for p<14 MeV/c (kinE<.1MeV)
1877   G4double q2=0.;                                1877   G4double q2=0.;
1878   if(tgZ==1 && tgN==0)                // ===>    1878   if(tgZ==1 && tgN==0)                // ===> n+p=n+p
1879   {                                              1879   {
1880     G4double E1=lastTM*theB1;                    1880     G4double E1=lastTM*theB1;
1881     G4double R1=(1.-std::exp(-E1));              1881     G4double R1=(1.-std::exp(-E1));
1882     G4double E2=lastTM*theB2;                    1882     G4double E2=lastTM*theB2;
1883     G4double R2=(1.-std::exp(-E2));              1883     G4double R2=(1.-std::exp(-E2));
1884     G4double I1=R1*theS1;                        1884     G4double I1=R1*theS1;
1885     G4double I2=R2*theS2/theB2;                  1885     G4double I2=R2*theS2/theB2;
1886     //G4double I3=R3*theS3/theB3;                1886     //G4double I3=R3*theS3/theB3;
1887     G4double I12=I1+I2;                          1887     G4double I12=I1+I2;
1888     //G4double rand=(I12+I3)*G4UniformRand();    1888     //G4double rand=(I12+I3)*G4UniformRand();
1889     G4double rand=I12*G4UniformRand();           1889     G4double rand=I12*G4UniformRand();
1890     if     (rand<I1 )                            1890     if     (rand<I1 )
1891     {                                            1891     {
1892       G4double ran=R1*G4UniformRand();           1892       G4double ran=R1*G4UniformRand();
1893       if(ran>1.) ran=1.;                         1893       if(ran>1.) ran=1.;
1894       q2=-std::log(1.-ran)/theB1;       // t-    1894       q2=-std::log(1.-ran)/theB1;       // t-chan
1895     }                                            1895     }
1896     else                                         1896     else
1897     {                                            1897     {
1898       G4double ran=R2*G4UniformRand();           1898       G4double ran=R2*G4UniformRand();
1899       if(ran>1.) ran=1.;                         1899       if(ran>1.) ran=1.;
1900       q2=lastTM+std::log(1.-ran)/theB2; // u-    1900       q2=lastTM+std::log(1.-ran)/theB2; // u-chan (ChEx)
1901     }                                            1901     }
1902   }                                              1902   }
1903   else                                           1903   else
1904   {                                              1904   {
1905     G4double a=tgZ+tgN;                          1905     G4double a=tgZ+tgN;
1906     G4double E1=lastTM*(theB1+lastTM*theSS);     1906     G4double E1=lastTM*(theB1+lastTM*theSS);
1907     G4double R1=(1.-std::exp(-E1));              1907     G4double R1=(1.-std::exp(-E1));
1908     G4double tss=theSS+theSS; // for future s    1908     G4double tss=theSS+theSS; // for future solution of quadratic equation (imediate check)
1909     G4double tm2=lastTM*lastTM;                  1909     G4double tm2=lastTM*lastTM;
1910     G4double E2=lastTM*tm2*theB2;                1910     G4double E2=lastTM*tm2*theB2;                   // power 3 for lowA, 5 for HighA (1st)
1911     if(a>6.5)E2*=tm2;                            1911     if(a>6.5)E2*=tm2;                               // for heavy nuclei
1912     G4double R2=(1.-std::exp(-E2));              1912     G4double R2=(1.-std::exp(-E2));
1913     G4double E3=lastTM*theB3;                    1913     G4double E3=lastTM*theB3;
1914     if(a>6.5)E3*=tm2*tm2*tm2;                    1914     if(a>6.5)E3*=tm2*tm2*tm2;                       // power 1 for lowA, 7 (2nd) for HighA
1915     G4double R3=(1.-std::exp(-E3));              1915     G4double R3=(1.-std::exp(-E3));
1916     G4double E4=lastTM*theB4;                    1916     G4double E4=lastTM*theB4;
1917     G4double R4=(1.-std::exp(-E4));              1917     G4double R4=(1.-std::exp(-E4));
1918     G4double I1=R1*theS1;                        1918     G4double I1=R1*theS1;
1919     G4double I2=R2*theS2;                        1919     G4double I2=R2*theS2;
1920     G4double I3=R3*theS3;                        1920     G4double I3=R3*theS3;
1921     G4double I4=R4*theS4;                        1921     G4double I4=R4*theS4;
1922     G4double I12=I1+I2;                          1922     G4double I12=I1+I2;
1923     G4double I13=I12+I3;                         1923     G4double I13=I12+I3;
1924     G4double rand=(I13+I4)*G4UniformRand();      1924     G4double rand=(I13+I4)*G4UniformRand();
1925     if(rand<I1)                                  1925     if(rand<I1)
1926     {                                            1926     {
1927       G4double ran=R1*G4UniformRand();           1927       G4double ran=R1*G4UniformRand();
1928       if(ran>1.) ran=1.;                         1928       if(ran>1.) ran=1.;
1929       q2=-std::log(1.-ran)/theB1;                1929       q2=-std::log(1.-ran)/theB1;
1930       if(std::fabs(tss)>1.e-7) q2=(std::sqrt(    1930       if(std::fabs(tss)>1.e-7) q2=(std::sqrt(theB1*(theB1+(tss+tss)*q2))-theB1)/tss;
1931     }                                            1931     }
1932     else if(rand<I12)                            1932     else if(rand<I12)
1933     {                                            1933     {
1934       G4double ran=R2*G4UniformRand();           1934       G4double ran=R2*G4UniformRand();
1935       if(ran>1.) ran=1.;                         1935       if(ran>1.) ran=1.;
1936       q2=-std::log(1.-ran)/theB2;                1936       q2=-std::log(1.-ran)/theB2;
1937       if(q2<0.) q2=0.;                           1937       if(q2<0.) q2=0.;
1938       if(a<6.5) q2=std::pow(q2,third);           1938       if(a<6.5) q2=std::pow(q2,third);
1939       else      q2=std::pow(q2,fifth);           1939       else      q2=std::pow(q2,fifth);
1940     }                                            1940     }
1941     else if(rand<I13)                            1941     else if(rand<I13)
1942     {                                            1942     {
1943       G4double ran=R3*G4UniformRand();           1943       G4double ran=R3*G4UniformRand();
1944       if(ran>1.) ran=1.;                         1944       if(ran>1.) ran=1.;
1945       q2=-std::log(1.-ran)/theB3;                1945       q2=-std::log(1.-ran)/theB3;
1946       if(q2<0.) q2=0.;                           1946       if(q2<0.) q2=0.;
1947       if(a>6.5) q2=std::pow(q2,sevth);           1947       if(a>6.5) q2=std::pow(q2,sevth);
1948     }                                            1948     }
1949     else                                         1949     else
1950     {                                            1950     {
1951       G4double ran=R4*G4UniformRand();           1951       G4double ran=R4*G4UniformRand();
1952       if(ran>1.) ran=1.;                         1952       if(ran>1.) ran=1.;
1953       q2=-std::log(1.-ran)/theB4;                1953       q2=-std::log(1.-ran)/theB4;
1954       if(a<6.5) q2=lastTM-q2;                    1954       if(a<6.5) q2=lastTM-q2;                    // u reduced for lightA (starts from 0)
1955     }                                            1955     }
1956   }                                              1956   }
1957   if(q2<0.) q2=0.;                               1957   if(q2<0.) q2=0.;
1958   if(!(q2>=-1.||q2<=1.)) G4cout<<"*NAN*G4QNeu    1958   if(!(q2>=-1.||q2<=1.)) G4cout<<"*NAN*G4QNeutronElCroSect::GetExchangeT: -t="<<q2<<G4endl;
1959   if(q2>lastTM)                                  1959   if(q2>lastTM)
1960   {                                              1960   {
1961     q2=lastTM;                                   1961     q2=lastTM;
1962   }                                              1962   }
1963   return q2*GeVSQ;                               1963   return q2*GeVSQ;
1964 }                                                1964 }
1965                                                  1965 
1966 // Returns B in independent units (MeV^-2) (a    1966 // Returns B in independent units (MeV^-2) (all internal calculations are in GeV) see ExT
1967 G4double G4ChipsNeutronElasticXS::GetSlope(G4    1967 G4double G4ChipsNeutronElasticXS::GetSlope(G4int tgZ, G4int tgN, G4int PDG)
1968 {                                                1968 {
1969   static const G4double GeVSQ=gigaelectronvol    1969   static const G4double GeVSQ=gigaelectronvolt*gigaelectronvolt;
1970                                                  1970 
1971   if(onlyCS) G4cout<<"Warning*G4ChipsNeutronE    1971   if(onlyCS) G4cout<<"Warning*G4ChipsNeutronElasticXS::GetSlope:onlyCS=true"<<G4endl;
1972   if(lastLP<-4.3) return 0.;          // S-wa    1972   if(lastLP<-4.3) return 0.;          // S-wave for p<14 MeV/c (kinE<.1MeV)
1973   if(PDG!=2112)                                  1973   if(PDG!=2112)
1974   {                                              1974   {
1975     // G4cout<<"*Error*G4ChipsNeutronElasticX    1975     // G4cout<<"*Error*G4ChipsNeutronElasticXS::GetSlope: PDG="<<PDG<<", Z="<<tgZ
1976     //       <<", N="<<tgN<<", while it is de    1976     //       <<", N="<<tgN<<", while it is defined only for PDG=2112"<<G4endl;
1977     // throw G4QException("G4ChipsNeutronElas    1977     // throw G4QException("G4ChipsNeutronElasticXS::GetSlope: only nA are implemented");
1978     G4ExceptionDescription ed;                   1978     G4ExceptionDescription ed;
1979     ed << "PDG = " << PDG << ", Z = " << tgZ     1979     ed << "PDG = " << PDG << ", Z = " << tgZ << ", N = " << tgN
1980        <<", while it is defined only for PDG=    1980        <<", while it is defined only for PDG=2112 (n) " << G4endl;
1981     G4Exception("G4ChipsNeutronElasticXS::Get    1981     G4Exception("G4ChipsNeutronElasticXS::GetSlope()", "HAD_CHPS_0000",
1982                 FatalException, ed);             1982                 FatalException, ed);
1983   }                                              1983   }
1984   if(theB1<0.) theB1=0.;                         1984   if(theB1<0.) theB1=0.;
1985   if(!(theB1>=-1.||theB1<=1.))G4cout<<"*NAN*G    1985   if(!(theB1>=-1.||theB1<=1.))G4cout<<"*NAN*G4QNeutElasticCrosS::Getslope:"<<theB1<<G4endl;
1986   return theB1/GeVSQ;                            1986   return theB1/GeVSQ;
1987 }                                                1987 }
1988                                                  1988 
1989 // Returns half max(Q2=-t) in independent uni    1989 // Returns half max(Q2=-t) in independent units (MeV^2)
1990 G4double G4ChipsNeutronElasticXS::GetHMaxT()     1990 G4double G4ChipsNeutronElasticXS::GetHMaxT()
1991 {                                                1991 {
1992   static const G4double HGeVSQ=gigaelectronvo    1992   static const G4double HGeVSQ=gigaelectronvolt*gigaelectronvolt/2.;
1993   return lastTM*HGeVSQ;                          1993   return lastTM*HGeVSQ;
1994 }                                                1994 }
1995                                                  1995 
1996 // lastLP is used, so calculating tables, one    1996 // lastLP is used, so calculating tables, one need to remember and then recover lastLP
1997 G4double G4ChipsNeutronElasticXS::GetTabValue    1997 G4double G4ChipsNeutronElasticXS::GetTabValues(G4double lp, G4int PDG, G4int tgZ,
1998                                                  1998                                                      G4int tgN)
1999 {                                                1999 {
2000   if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeut    2000   if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetTaV:PDG="<<PDG<<G4endl;
2001                                                  2001 
2002   //AR-24Apr2018 Switch to allow transuranic     2002   //AR-24Apr2018 Switch to allow transuranic elements
2003   const G4bool isHeavyElementAllowed = true;     2003   const G4bool isHeavyElementAllowed = true;
2004   if(tgZ<0 || ( !isHeavyElementAllowed && tgZ    2004   if(tgZ<0 || ( !isHeavyElementAllowed && tgZ>92))
2005   {                                              2005   {
2006     G4cout<<"*Warning*G4QNElasticCrS::GetTabV    2006     G4cout<<"*Warning*G4QNElasticCrS::GetTabValue: (1-92) No isotopes for Z="<<tgZ<<G4endl;
2007     return 0.;                                   2007     return 0.;
2008   }                                              2008   }
2009   G4int iZ=tgZ-1; // Z index                     2009   G4int iZ=tgZ-1; // Z index
2010   if(iZ<0)                                       2010   if(iZ<0)
2011   {                                              2011   {
2012     iZ=0;         // conversion of the neutro    2012     iZ=0;         // conversion of the neutron target to the proton target
2013     tgZ=1;                                       2013     tgZ=1;
2014     tgN=0;                                       2014     tgN=0;
2015   }                                              2015   }
2016   G4double p=std::exp(lp);              // mo    2016   G4double p=std::exp(lp);              // momentum
2017   G4double sp=std::sqrt(p);             // sq    2017   G4double sp=std::sqrt(p);             // sqrt(p)
2018   G4double p2=p*p;                               2018   G4double p2=p*p;            
2019   G4double p3=p2*p;                              2019   G4double p3=p2*p;
2020   G4double p4=p3*p;                              2020   G4double p4=p3*p;
2021   if ( tgZ == 1 && tgN == 0 )  // np             2021   if ( tgZ == 1 && tgN == 0 )  // np
2022   {                                              2022   {
2023     G4double ssp=std::sqrt(sp);           //     2023     G4double ssp=std::sqrt(sp);           // sqrt(sqrt(p))=p^.25
2024     G4double p2s=p2*sp;                          2024     G4double p2s=p2*sp;
2025     G4double dl1=lp-lastPAR[3];                  2025     G4double dl1=lp-lastPAR[3];
2026     theSS=lastPAR[27];                           2026     theSS=lastPAR[27];
2027     theS1=(lastPAR[9]+lastPAR[10]*dl1*dl1+las    2027     theS1=(lastPAR[9]+lastPAR[10]*dl1*dl1+lastPAR[11]/p)/(1.+lastPAR[12]/p4)
2028           +lastPAR[13]/(p4+lastPAR[14]);         2028           +lastPAR[13]/(p4+lastPAR[14]);
2029     theB1=(lastPAR[17]+lastPAR[18]/(p4*p4+las    2029     theB1=(lastPAR[17]+lastPAR[18]/(p4*p4+lastPAR[19]*p3))/(1.+lastPAR[20]/p4);
2030     theS2=(lastPAR[15]+lastPAR[16]/p4/p)/p3;     2030     theS2=(lastPAR[15]+lastPAR[16]/p4/p)/p3;
2031     theB2=lastPAR[22]/(p*sp+lastPAR[23]);        2031     theB2=lastPAR[22]/(p*sp+lastPAR[23]); 
2032     theS3=0.;                                    2032     theS3=0.;
2033     theB3=0.;                                    2033     theB3=0.; 
2034     theS4=0.;                                    2034     theS4=0.;
2035     theB4=0.;                                    2035     theB4=0.; 
2036     // Returns the total elastic pp cross-sec    2036     // Returns the total elastic pp cross-section (to avoid spoiling lastSIG)
2037     return lastPAR[0]/(p2s+lastPAR[1]*p+lastP    2037     return lastPAR[0]/(p2s+lastPAR[1]*p+lastPAR[2]/ssp)+lastPAR[4]/p
2038            +(lastPAR[5]+lastPAR[6]*dl1*dl1+la    2038            +(lastPAR[5]+lastPAR[6]*dl1*dl1+lastPAR[7]/p)/(1.+lastPAR[8]/p4);
2039                                                  2039 
2040   }                                              2040   }
2041   else                                           2041   else
2042   {                                              2042   {
2043     G4double p5=p4*p;                            2043     G4double p5=p4*p;
2044     G4double p6=p5*p;                            2044     G4double p6=p5*p;
2045     G4double p8=p6*p2;                           2045     G4double p8=p6*p2;
2046     G4double p10=p8*p2;                          2046     G4double p10=p8*p2;
2047     G4double p12=p10*p2;                         2047     G4double p12=p10*p2;
2048     G4double p16=p8*p8;                          2048     G4double p16=p8*p8;
2049     G4double dl=lp-5.;                           2049     G4double dl=lp-5.;
2050     G4double a=tgZ+tgN;                          2050     G4double a=tgZ+tgN;
2051     if(a<6.5)                                    2051     if(a<6.5)
2052     {                                            2052     {
2053     G4double pah=std::pow(p,a/2);                2053     G4double pah=std::pow(p,a/2);
2054     G4double pa=pah*pah;                         2054     G4double pa=pah*pah;
2055     G4double pa2=pa*pa;                          2055     G4double pa2=pa*pa;
2056                                                  2056 
2057       theS1=lastPAR[15]/(1.+lastPAR[16]*p4*pa    2057       theS1=lastPAR[15]/(1.+lastPAR[16]*p4*pa)+lastPAR[17]/(p4+lastPAR[18]*p4/pa2)+
2058             (lastPAR[19]*dl*dl+lastPAR[20])/(    2058             (lastPAR[19]*dl*dl+lastPAR[20])/(1.+lastPAR[21]/p2);
2059       theB1=(lastPAR[22]+lastPAR[23]*p2)/(p4+    2059       theB1=(lastPAR[22]+lastPAR[23]*p2)/(p4+lastPAR[24]/pah)+lastPAR[25];
2060       theSS=lastPAR[26]/(1.+lastPAR[27]/p2)+l    2060       theSS=lastPAR[26]/(1.+lastPAR[27]/p2)+lastPAR[28]/(p6/pa+lastPAR[29]/p16);
2061       theS2=lastPAR[30]/(pa/p2+lastPAR[31]/p4    2061       theS2=lastPAR[30]/(pa/p2+lastPAR[31]/p4)+lastPAR[32];
2062       theB2=lastPAR[33]*std::pow(p,lastPAR[34    2062       theB2=lastPAR[33]*std::pow(p,lastPAR[34])+lastPAR[35]/(p8+lastPAR[36]/p16);
2063       theS3=lastPAR[37]/(pa*p+lastPAR[38]/pa)    2063       theS3=lastPAR[37]/(pa*p+lastPAR[38]/pa)+lastPAR[39];
2064       theB3=lastPAR[40]/(p3+lastPAR[41]/p6)+l    2064       theB3=lastPAR[40]/(p3+lastPAR[41]/p6)+lastPAR[42]/(1.+lastPAR[43]/p2);
2065       theS4=p2*(pah*lastPAR[44]*std::exp(-pah    2065       theS4=p2*(pah*lastPAR[44]*std::exp(-pah*lastPAR[45])+
2066                 lastPAR[46]/(1.+lastPAR[47]*s    2066                 lastPAR[46]/(1.+lastPAR[47]*std::pow(p,lastPAR[48])));
2067       theB4=lastPAR[49]*pa/p2/(1.+pa*lastPAR[    2067       theB4=lastPAR[49]*pa/p2/(1.+pa*lastPAR[50]);
2068     }                                            2068     }
2069     else                                         2069     else
2070     {                                            2070     {
2071       theS1=lastPAR[15]/(1.+lastPAR[16]/p4)+l    2071       theS1=lastPAR[15]/(1.+lastPAR[16]/p4)+lastPAR[17]/(p4+lastPAR[18]/p2)+
2072             lastPAR[19]/(p5+lastPAR[20]/p16);    2072             lastPAR[19]/(p5+lastPAR[20]/p16);
2073       theB1=(lastPAR[21]/p8+lastPAR[25])/(p+l    2073       theB1=(lastPAR[21]/p8+lastPAR[25])/(p+lastPAR[22]/std::pow(p,lastPAR[26]))+
2074             lastPAR[23]/(1.+lastPAR[24]/p4);     2074             lastPAR[23]/(1.+lastPAR[24]/p4);
2075       theSS=lastPAR[27]/(p4/std::pow(p,lastPA    2075       theSS=lastPAR[27]/(p4/std::pow(p,lastPAR[29])+lastPAR[28]/p4);
2076       theS2=lastPAR[30]/p4/(std::pow(p,lastPA    2076       theS2=lastPAR[30]/p4/(std::pow(p,lastPAR[31])+lastPAR[32]/p12)+lastPAR[33];
2077       theB2=lastPAR[34]/std::pow(p,lastPAR[35    2077       theB2=lastPAR[34]/std::pow(p,lastPAR[35])+lastPAR[36]/std::pow(p,lastPAR[37]);
2078       theS3=lastPAR[38]/std::pow(p,lastPAR[41    2078       theS3=lastPAR[38]/std::pow(p,lastPAR[41])/(1.+lastPAR[42]/p12)+
2079             lastPAR[39]/(1.+lastPAR[40]/p6);     2079             lastPAR[39]/(1.+lastPAR[40]/p6);
2080       theB3=lastPAR[43]/p8+lastPAR[44]/p2+las    2080       theB3=lastPAR[43]/p8+lastPAR[44]/p2+lastPAR[45]/(1.+lastPAR[46]/p8);
2081       theS4=(lastPAR[47]/p4+lastPAR[52]/p)/(1    2081       theS4=(lastPAR[47]/p4+lastPAR[52]/p)/(1.+lastPAR[48]/p10)+
2082             (lastPAR[49]+lastPAR[50]*dl*dl)/(    2082             (lastPAR[49]+lastPAR[50]*dl*dl)/(1.+lastPAR[51]/p12);
2083       theB4=lastPAR[53]/(1.+lastPAR[54]/p)+la    2083       theB4=lastPAR[53]/(1.+lastPAR[54]/p)+lastPAR[55]*p4/(1.+lastPAR[56]*p5);
2084     }                                            2084     }
2085     // Returns the total elastic (n/p)A cross    2085     // Returns the total elastic (n/p)A cross-section (to avoid spoiling lastSIG)
2086     //         p1(p6)          p2(p7)            2086     //         p1(p6)          p2(p7)          p3(p4)       o4(p8)       (p9)p5
2087     return (lastPAR[0]*dl*dl+lastPAR[1])/(1.+    2087     return (lastPAR[0]*dl*dl+lastPAR[1])/(1.+lastPAR[2]/p+lastPAR[3]/p4)+lastPAR[5]/
2088        (p3+lastPAR[6]/p3)+lastPAR[7]/(p2+last    2088        (p3+lastPAR[6]/p3)+lastPAR[7]/(p2+lastPAR[4]/(p2+lastPAR[8])+lastPAR[9]/p)+
2089            lastPAR[10]/(p5+lastPAR[11]/p2)+la    2089            lastPAR[10]/(p5+lastPAR[11]/p2)+lastPAR[12]/p;
2090     //         p10             p11               2090     //         p10             p11             p12
2091   }                                              2091   }
2092   return 0.;                                     2092   return 0.;
2093 } // End of GetTableValues                       2093 } // End of GetTableValues
2094                                                  2094 
2095 // Returns max -t=Q2 (GeV^2) for the momentum    2095 // Returns max -t=Q2 (GeV^2) for the momentum pP(GeV) and the target nucleus (tgN,tgZ)
2096 G4double G4ChipsNeutronElasticXS::GetQ2max(G4    2096 G4double G4ChipsNeutronElasticXS::GetQ2max(G4int PDG, G4int tgZ, G4int tgN,
2097                                                  2097                                                  G4double pP)
2098 {                                                2098 {
2099                                                  2099 
2100   G4double pP2=pP*pP;                            2100   G4double pP2=pP*pP;                                 // squared momentum of the projectile
2101   if(tgZ==0 && tgN==1)                           2101   if(tgZ==0 && tgN==1)
2102   {                                              2102   {
2103     G4double tMid=std::sqrt(pP2+mNeut2)*mNeut    2103     G4double tMid=std::sqrt(pP2+mNeut2)*mNeut-mNeut2;  // CMS 90deg value of -t=Q2 (GeV^2)
2104     return tMid+tMid;                            2104     return tMid+tMid;
2105   }                                              2105   }
2106   else if(tgZ || tgN)                   // --    2106   else if(tgZ || tgN)                   // ---> nA
2107   {                                              2107   {
2108     G4double mt=mProt;                           2108     G4double mt=mProt;                                 // Target mass in GeV
2109     if(tgN||tgZ>1) mt=G4ParticleTable::GetPar    2109     if(tgN||tgZ>1) mt=G4ParticleTable::GetParticleTable()->GetIonTable()->GetIon(tgZ,tgZ+tgN,0)->GetPDGMass()*.001; // Target mass in GeV
2110     G4double dmt=mt+mt;                          2110     G4double dmt=mt+mt;
2111     G4double mds=dmt*std::sqrt(pP2+mNeut2)+mN    2111     G4double mds=dmt*std::sqrt(pP2+mNeut2)+mNeut2+mt*mt; // Mondelstam mds (in GeV^2)
2112     return dmt*dmt*pP2/mds;                      2112     return dmt*dmt*pP2/mds;
2113   }                                              2113   }
2114   else                                           2114   else
2115   {                                              2115   {
2116     // G4cout<<"*Error*G4ChipsNeutronElasticX    2116     // G4cout<<"*Error*G4ChipsNeutronElasticXS::GetQ2max:PDG="<<PDG<<", Z="<<tgZ<<", N="
2117     //       <<tgN<<", while it is defined on    2117     //       <<tgN<<", while it is defined only for n projectiles & Z_target>0"<<G4endl;
2118     // throw G4QException("G4ChipsNeutronElas    2118     // throw G4QException("G4ChipsNeutronElasticXS::GetQ2max: only nA implemented");
2119     G4ExceptionDescription ed;                   2119     G4ExceptionDescription ed;
2120     ed << "PDG = " << PDG << ", Z = " << tgZ     2120     ed << "PDG = " << PDG << ", Z = " << tgZ << ", N =" << tgN
2121        <<", while it is defined only for n pr    2121        <<", while it is defined only for n projectiles & Z_target>0" << G4endl;
2122     G4Exception("G4ChipsNeutronElasticXS::Get    2122     G4Exception("G4ChipsNeutronElasticXS::GetQ2max()", "HAD_CHPS_0000",
2123                 FatalException, ed);             2123                 FatalException, ed);
2124     return 0;                                    2124     return 0;
2125   }                                              2125   }
2126 }                                                2126 }
2127                                                  2127