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