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