source: trunk/source/processes/electromagnetic/utils/src/G4EmCorrections.cc@ 1317

Last change on this file since 1317 was 1315, checked in by garnier, 15 years ago

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

File size: 61.5 KB
Line 
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// $Id: G4EmCorrections.cc,v 1.58 2010/06/04 09:28:46 vnivanch Exp $
27// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
28//
29// -------------------------------------------------------------------
30//
31// GEANT4 Class
32//
33// File name: G4EmCorrections
34//
35// Author: Vladimir Ivanchenko
36//
37// Creation date: 13.01.2005
38//
39// Modifications:
40// 05.05.2005 V.Ivanchenko Fix misprint in Mott term
41// 26.11.2005 V.Ivanchenko Fix effective charge for heavy ions using original paper
42// 28.04.2006 V.Ivanchenko General cleanup, add finite size corrections
43// 13.05.2006 V.Ivanchenko Add corrections for ion stopping
44// 08.05.2007 V.Ivanchenko Use G4IonTable for ion mass instead of NistTable to avoid
45// division by zero
46// 29.02.2008 V.Ivanchenko use expantions for log and power function
47// 21.04.2008 Updated computations for ions (V.Ivanchenko)
48// 20.05.2008 Removed Finite Size correction (V.Ivanchenko)
49//
50//
51// Class Description:
52//
53// This class provides calculation of EM corrections to ionisation
54//
55
56// -------------------------------------------------------------------
57//
58
59#include "G4EmCorrections.hh"
60#include "Randomize.hh"
61#include "G4ParticleTable.hh"
62#include "G4IonTable.hh"
63#include "G4VEmModel.hh"
64#include "G4Proton.hh"
65#include "G4GenericIon.hh"
66#include "G4LPhysicsFreeVector.hh"
67#include "G4PhysicsLogVector.hh"
68#include "G4ProductionCutsTable.hh"
69#include "G4MaterialCutsCouple.hh"
70#include "G4AtomicShells.hh"
71
72//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
73
74G4EmCorrections::G4EmCorrections()
75{
76 particle = 0;
77 curParticle= 0;
78 material = 0;
79 curMaterial= 0;
80 curVector = 0;
81 kinEnergy = 0.0;
82 ionLEModel = 0;
83 ionHEModel = 0;
84 nIons = 0;
85 verbose = 1;
86 ncouples = 0;
87 massFactor = 1.0;
88 eth = 2.0*MeV;
89 nbinCorr = 20;
90 eCorrMin = 25.*keV;
91 eCorrMax = 250.*MeV;
92 nist = G4NistManager::Instance();
93 ionTable = G4ParticleTable::GetParticleTable()->GetIonTable();
94 Initialise();
95}
96
97//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
98
99G4EmCorrections::~G4EmCorrections()
100{
101 for(G4int i=0; i<nIons; i++) {delete stopData[i];}
102}
103
104//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
105
106G4double G4EmCorrections::HighOrderCorrections(const G4ParticleDefinition* p,
107 const G4Material* mat,
108 G4double e, G4double)
109{
110// . Z^3 Barkas effect in the stopping power of matter for charged particles
111// J.C Ashley and R.H.Ritchie
112// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397
113// and ICRU49 report
114// valid for kineticEnergy < 0.5 MeV
115// Other corrections from S.P.Ahlen Rev. Mod. Phys., Vol 52, No1, 1980
116
117 SetupKinematics(p, mat, e);
118 if(tau <= 0.0) return 0.0;
119
120 G4double Barkas = BarkasCorrection (p, mat, e);
121 G4double Bloch = BlochCorrection (p, mat, e);
122 G4double Mott = MottCorrection (p, mat, e);
123
124 G4double sum = (2.0*(Barkas + Bloch) + Mott);
125
126 if(verbose > 1) {
127 G4cout << "EmCorrections: E(MeV)= " << e/MeV << " Barkas= " << Barkas
128 << " Bloch= " << Bloch << " Mott= " << Mott
129 << " Sum= " << sum << " q2= " << q2 << G4endl;
130 }
131 sum *= material->GetElectronDensity() * q2 * twopi_mc2_rcl2 /beta2;
132 return sum;
133}
134
135//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
136
137G4double G4EmCorrections::IonBarkasCorrection(const G4ParticleDefinition* p,
138 const G4Material* mat,
139 G4double e)
140{
141// . Z^3 Barkas effect in the stopping power of matter for charged particles
142// J.C Ashley and R.H.Ritchie
143// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397
144// and ICRU49 report
145// valid for kineticEnergy < 0.5 MeV
146
147 SetupKinematics(p, mat, e);
148 G4double res = 0.0;
149 if(tau > 0.0)
150 res = 2.0*BarkasCorrection(p, mat, e)*
151 material->GetElectronDensity() * q2 * twopi_mc2_rcl2 /beta2;
152 return res;
153}
154
155//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
156
157G4double G4EmCorrections::ComputeIonCorrections(const G4ParticleDefinition* p,
158 const G4Material* mat,
159 G4double e)
160{
161// . Z^3 Barkas effect in the stopping power of matter for charged particles
162// J.C Ashley and R.H.Ritchie
163// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397
164// and ICRU49 report
165// valid for kineticEnergy < 0.5 MeV
166// Other corrections from S.P.Ahlen Rev. Mod. Phys., Vol 52, No1, 1980
167 SetupKinematics(p, mat, e);
168 if(tau <= 0.0) { return 0.0; }
169
170 G4double Barkas = BarkasCorrection (p, mat, e);
171 G4double Bloch = BlochCorrection (p, mat, e);
172 G4double Mott = MottCorrection (p, mat, e);
173
174 G4double sum = 2.0*(Barkas*(charge - 1.0)/charge + Bloch) + Mott;
175
176 if(verbose > 1) {
177 G4cout << "EmCorrections: E(MeV)= " << e/MeV << " Barkas= " << Barkas
178 << " Bloch= " << Bloch << " Mott= " << Mott
179 << " Sum= " << sum << G4endl;
180 }
181 sum *= material->GetElectronDensity() * q2 * twopi_mc2_rcl2 /beta2;
182
183 if(verbose > 1) { G4cout << " Sum= " << sum << G4endl; }
184 return sum;
185}
186
187//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
188
189G4double G4EmCorrections::IonHighOrderCorrections(const G4ParticleDefinition* p,
190 const G4MaterialCutsCouple* couple,
191 G4double e)
192{
193// . Z^3 Barkas effect in the stopping power of matter for charged particles
194// J.C Ashley and R.H.Ritchie
195// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397
196// and ICRU49 report
197// valid for kineticEnergy < 0.5 MeV
198// Other corrections from S.P.Ahlen Rev. Mod. Phys., Vol 52, No1, 1980
199
200 G4double sum = 0.0;
201
202 if(ionHEModel) {
203 G4int Z = G4int(p->GetPDGCharge()/eplus + 0.5);
204 if(Z >= 100) Z = 99;
205 else if(Z < 1) Z = 1;
206
207 // fill vector
208 if(thcorr[Z].size() == 0) {
209 thcorr[Z].resize(ncouples);
210 G4double ethscaled = eth*p->GetPDGMass()/proton_mass_c2;
211
212 for(size_t i=0; i<ncouples; i++) {
213 (thcorr[Z])[i] = ethscaled*ComputeIonCorrections(p, currmat[i], ethscaled);
214 //G4cout << i << ". ethscaled= " << ethscaled
215 //<< " corr= " << (thcorr[Z])[i]/ethscaled << G4endl;
216 }
217 }
218 G4double rest = (thcorr[Z])[couple->GetIndex()];
219
220 sum = ComputeIonCorrections(p,couple->GetMaterial(),e) - rest/e;
221
222 if(verbose > 1) { G4cout << " Sum= " << sum << " dSum= " << rest/e << G4endl; }
223 }
224 return sum;
225}
226
227//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
228
229G4double G4EmCorrections::Bethe(const G4ParticleDefinition* p,
230 const G4Material* mat,
231 G4double e)
232{
233 SetupKinematics(p, mat, e);
234 G4double eexc = material->GetIonisation()->GetMeanExcitationEnergy();
235 G4double eexc2 = eexc*eexc;
236 G4double dedx = 0.5*std::log(2.0*electron_mass_c2*bg2*tmax/eexc2)-beta2;
237 return dedx;
238}
239
240//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
241
242G4double G4EmCorrections::SpinCorrection(const G4ParticleDefinition* p,
243 const G4Material* mat,
244 G4double e)
245{
246 SetupKinematics(p, mat, e);
247 G4double dedx = 0.5*tmax/(kinEnergy + mass);
248 return 0.5*dedx*dedx;
249}
250
251//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
252
253G4double G4EmCorrections:: KShellCorrection(const G4ParticleDefinition* p,
254 const G4Material* mat,
255 G4double e)
256{
257 SetupKinematics(p, mat, e);
258 G4double term = 0.0;
259 for (G4int i = 0; i<numberOfElements; i++) {
260
261 G4double Z = (*theElementVector)[i]->GetZ();
262 G4int iz = G4int(Z);
263 G4double f = 1.0;
264 G4double Z2= (Z-0.3)*(Z-0.3);
265 if(1 == iz) {
266 f = 0.5;
267 Z2 = 1.0;
268 }
269 G4double e0= 13.6*eV*Z2;
270 term += f*atomDensity[i]*KShell(G4AtomicShells::GetBindingEnergy(iz,0)/e0,ba2/Z2)/Z;
271 }
272
273 term /= material->GetTotNbOfAtomsPerVolume();
274
275 return term;
276}
277
278//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
279
280G4double G4EmCorrections:: LShellCorrection(const G4ParticleDefinition* p,
281 const G4Material* mat,
282 G4double e)
283{
284 SetupKinematics(p, mat, e);
285 G4double term = 0.0;
286 for (G4int i = 0; i<numberOfElements; i++) {
287
288 G4double Z = (*theElementVector)[i]->GetZ();
289 G4int iz = G4int(Z);
290 if(2 < iz) {
291 G4double Zeff = Z - ZD[10];
292 if(iz < 10) Zeff = Z - ZD[iz];
293 G4double Z2= Zeff*Zeff;
294 G4double e0= 13.6*eV*Z2*0.25;
295 G4double f = 0.125;
296 G4int nmax = std::min(4,G4AtomicShells::GetNumberOfShells(iz));
297 for(G4int j=1; j<nmax; j++) {
298 G4double ne = G4double(G4AtomicShells::GetNumberOfElectrons(iz,j));
299 G4double e1 = G4AtomicShells::GetBindingEnergy(iz,j);
300 // G4cout << "LShell: j= " << j << " ne= " << ne << " e(eV)= " << e/eV
301 // << " e0(eV)= " << e0/eV << G4endl;
302 term += f*ne*atomDensity[i]*LShell(e1/e0,ba2/Z2)/Z;
303 }
304 }
305 }
306
307 term /= material->GetTotNbOfAtomsPerVolume();
308
309 return term;
310}
311
312//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
313
314G4double G4EmCorrections::KShell(G4double tet, G4double eta)
315{
316 G4double corr = 0.0;
317
318 G4double x = tet;
319 if(tet < TheK[0]) x = TheK[0];
320 G4int itet = Index(x, TheK, nK);
321
322 // assimptotic case
323 if(eta >= Eta[nEtaK-1]) {
324 corr = (Value(x, TheK[itet], TheK[itet+1], UK[itet], UK[itet+1]) +
325 Value(x, TheK[itet], TheK[itet+1], VK[itet], VK[itet+1])/eta +
326 Value(x, TheK[itet], TheK[itet+1], ZK[itet], ZK[itet+1])/(eta*eta))/eta;
327 } else {
328 G4double y = eta;
329 if(eta < Eta[0]) y = Eta[0];
330 G4int ieta = Index(y, Eta, nEtaK);
331 corr = Value2(x, y, TheK[itet], TheK[itet+1], Eta[ieta], Eta[ieta+1],
332 CK[itet][ieta], CK[itet+1][ieta],
333 CK[itet][ieta+1], CK[itet+1][ieta+1]);
334 //G4cout << " x= " <<x<<" y= "<<y<<" tet= " <<TheK[itet]
335 //<<" "<< TheK[itet+1]<<" eta= "<< Eta[ieta]<<" "<< Eta[ieta+1]
336 // <<" CK= " << CK[itet][ieta]<<" "<< CK[itet+1][ieta]
337 //<<" "<< CK[itet][ieta+1]<<" "<< CK[itet+1][ieta+1]<<G4endl;
338 }
339 //G4cout << "Kshell: tet= " << tet << " eta= " << eta << " C= " << corr
340 //<< " itet,ieta= " << itet <<G4endl;
341 return corr;
342}
343
344//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
345
346G4double G4EmCorrections::LShell(G4double tet, G4double eta)
347{
348 G4double corr = 0.0;
349
350 G4double x = tet;
351 if(tet < TheL[0]) x = TheL[0];
352 G4int itet = Index(x, TheL, nL);
353
354 // assimptotic case
355 if(eta >= Eta[nEtaL-1]) {
356 corr = (Value(x, TheL[itet], TheL[itet+1], UL[itet], UL[itet+1])
357 + Value(x, TheL[itet], TheL[itet+1], VL[itet], VL[itet+1])/eta
358 )/eta;
359 } else {
360 G4double y = eta;
361 if(eta < Eta[0]) y = Eta[0];
362 G4int ieta = Index(y, Eta, nEtaL);
363 corr = Value2(x, y, TheL[itet], TheL[itet+1], Eta[ieta], Eta[ieta+1],
364 CL[itet][ieta], CL[itet+1][ieta], CL[itet][ieta+1], CL[itet+1][ieta+1]);
365 //G4cout << " x= " <<x<<" y= "<<y<<" tet= " <<TheL[itet]
366 //<<" "<< TheL[itet+1]<<" eta= "<< Eta[ieta]<<" "<< Eta[ieta+1]
367 // <<" CL= " << CL[itet][ieta]<<" "<< CL[itet+1][ieta]
368 //<<" "<< CL[itet][ieta+1]<<" "<< CL[itet+1][ieta+1]<<G4endl;
369 }
370 // G4cout << "Lshell: tet= " << tet << " eta= " << eta << " C= " << corr << " itet= " << itet <<G4endl;
371 return corr;
372}
373
374//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
375
376G4double G4EmCorrections::ShellCorrectionSTD(const G4ParticleDefinition* p,
377 const G4Material* mat,
378 G4double e)
379{
380 SetupKinematics(p, mat, e);
381 G4double taulim= 8.0*MeV/mass;
382 G4double bg2lim= taulim * (taulim+2.0);
383
384 G4double* shellCorrectionVector =
385 material->GetIonisation()->GetShellCorrectionVector();
386 G4double sh = 0.0;
387 G4double x = 1.0;
388 G4double taul = material->GetIonisation()->GetTaul();
389
390 if ( bg2 >= bg2lim ) {
391 for (G4int k=0; k<3; k++) {
392 x *= bg2 ;
393 sh += shellCorrectionVector[k]/x;
394 }
395
396 } else {
397 for (G4int k=0; k<3; k++) {
398 x *= bg2lim ;
399 sh += shellCorrectionVector[k]/x;
400 }
401 sh *= std::log(tau/taul)/std::log(taulim/taul);
402 }
403 sh *= 0.5;
404 return sh;
405}
406
407
408//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
409
410G4double G4EmCorrections::ShellCorrection(const G4ParticleDefinition* p,
411 const G4Material* mat,
412 G4double e)
413{
414 SetupKinematics(p, mat, e);
415
416 G4double term = 0.0;
417
418 for (G4int i = 0; i<numberOfElements; i++) {
419
420 G4double res = 0.0;
421 G4double Z = (*theElementVector)[i]->GetZ();
422 G4int iz = G4int(Z);
423 G4double Z2= (Z-0.3)*(Z-0.3);
424 G4double f = 1.0;
425 if(1 == iz) {
426 f = 0.5;
427 Z2 = 1.0;
428 }
429 G4double e0= 13.6*eV*Z2;
430 res += f*KShell(G4AtomicShells::GetBindingEnergy(iz,0)/e0,ba2/Z2);
431 if(2 < iz) {
432 G4double Zeff = Z - ZD[10];
433 if(iz < 10) Zeff = Z - ZD[iz];
434 Z2= Zeff*Zeff;
435 e0= 13.6*eV*Z2*0.25;
436 f = 0.125;
437 G4double eta = ba2/Z2;
438 G4int ntot = G4AtomicShells::GetNumberOfShells(iz);
439 G4int nmax = std::min(4, ntot);
440 G4double norm = 0.0;
441 G4double eshell = 0.0;
442 for(G4int j=1; j<nmax; ++j) {
443 G4double e1 = G4AtomicShells::GetBindingEnergy(iz,j);
444 G4int ne = G4AtomicShells::GetNumberOfElectrons(iz,j);
445 norm += ne;
446 eshell += e1*ne;
447 res += f*ne*LShell(e1/e0,eta);
448 }
449 if(ntot > nmax) {
450 eshell /= norm;
451 G4double eeff = eshell*eta;
452 for(G4int k=nmax; k<ntot; ++k) {
453 G4int ne = G4AtomicShells::GetNumberOfElectrons(iz,k);
454 G4double e1 = G4AtomicShells::GetBindingEnergy(iz,k);
455 res += f*ne*LShell(e1/e0,eeff/e1);
456 //res += f*ne*LShell(e1/eshell,eeff/e1);
457 }
458 }
459 /*
460 if(28 >= iz) {
461 res += f*(Z - 10.)*LShell(eshell,HM[iz-11]*eta);
462 } else if(32 >= iz) {
463 res += f*18.0*LShell(eshell,HM[iz-11]*eta);
464 } else if(60 >= iz) {
465 res += f*18.0*LShell(eshell,HM[iz-11]*eta);
466 res += f*(Z - 28.)*LShell(eshell,HN[iz-33]*eta);
467 } else {
468 res += f*18.0*LShell(eshell,HM[50]*eta);
469 res += f*32.0*LShell(eshell,HN[30]*eta);
470 res += f*(Z - 60.)*LShell(eshell,150.*eta);
471 }
472 */
473 }
474 //term += atomDensity[i]*(res/Z + MSH[iz]/(ba2*ba2));
475 term += res*atomDensity[i]/Z;
476 }
477
478 term /= material->GetTotNbOfAtomsPerVolume();
479 //if(charge < 0.0) { term = -term; }
480 return term;
481}
482
483//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
484
485G4double G4EmCorrections::DensityCorrection(const G4ParticleDefinition* p,
486 const G4Material* mat,
487 G4double e)
488{
489 SetupKinematics(p, mat, e);
490
491 G4double cden = material->GetIonisation()->GetCdensity();
492 G4double mden = material->GetIonisation()->GetMdensity();
493 G4double aden = material->GetIonisation()->GetAdensity();
494 G4double x0den = material->GetIonisation()->GetX0density();
495 G4double x1den = material->GetIonisation()->GetX1density();
496
497 G4double twoln10 = 2.0*std::log(10.0);
498 G4double dedx = 0.0;
499
500 // density correction
501 G4double x = std::log(bg2)/twoln10;
502 if ( x >= x0den ) {
503 dedx = twoln10*x - cden ;
504 if ( x < x1den ) dedx += aden*std::pow((x1den-x),mden) ;
505 }
506
507 return dedx;
508}
509
510//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
511
512G4double G4EmCorrections::BarkasCorrection(const G4ParticleDefinition* p,
513 const G4Material* mat,
514 G4double e)
515{
516// . Z^3 Barkas effect in the stopping power of matter for charged particles
517// J.C Ashley and R.H.Ritchie
518// Physical review B Vol.5 No.7 1 April 1972 pp. 2393-2397
519// valid for kineticEnergy > 0.5 MeV
520
521 SetupKinematics(p, mat, e);
522 G4double BarkasTerm = 0.0;
523
524 for (G4int i = 0; i<numberOfElements; i++) {
525
526 G4double Z = (*theElementVector)[i]->GetZ();
527 G4int iz = G4int(Z);
528
529 G4double X = ba2 / Z;
530 G4double b = 1.3;
531 if(1 == iz) {
532 if(material->GetName() == "G4_lH2") b = 0.6;
533 else b = 1.8;
534 }
535 else if(2 == iz) b = 0.6;
536 else if(10 >= iz) b = 1.8;
537 else if(17 >= iz) b = 1.4;
538 else if(18 == iz) b = 1.8;
539 else if(25 >= iz) b = 1.4;
540 else if(50 >= iz) b = 1.35;
541
542 G4double W = b/std::sqrt(X);
543
544 G4double val;
545 if(W <= engBarkas[0]) val = corBarkas[0];
546 else if(W >= engBarkas[46]) val = corBarkas[46]*engBarkas[46]/W;
547 else {
548 G4int iw = Index(W, engBarkas, 47);
549 val = Value(W, engBarkas[iw], engBarkas[iw+1],
550 corBarkas[iw], corBarkas[iw+1]);
551 }
552 // G4cout << "i= " << i << " b= " << b << " W= " << W
553 // << " Z= " << Z << " X= " << X << " val= " << val<< G4endl;
554 BarkasTerm += val*atomDensity[i] / (std::sqrt(Z*X)*X);
555 }
556
557 BarkasTerm *= 1.29*charge/material->GetTotNbOfAtomsPerVolume();
558
559 // temporary protection
560 if(charge < -7.0 ) { BarkasTerm *= (-7.0/charge); }
561
562 return BarkasTerm;
563}
564
565//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
566
567G4double G4EmCorrections::BlochCorrection(const G4ParticleDefinition* p,
568 const G4Material* mat,
569 G4double e)
570{
571 SetupKinematics(p, mat, e);
572
573 G4double y2 = q2/ba2;
574
575 G4double term = 1.0/(1.0 + y2);
576 G4double del;
577 G4double j = 1.0;
578 do {
579 j += 1.0;
580 del = 1.0/(j* (j*j + y2));
581 term += del;
582 } while (del > 0.01*term);
583
584 G4double res = -y2*term;
585 // temporary protection
586 if(q2 > 49. && res < -0.2) { res = -0.2; }
587
588 return res;
589}
590
591//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
592
593G4double G4EmCorrections::MottCorrection(const G4ParticleDefinition* p,
594 const G4Material* mat,
595 G4double e)
596{
597 SetupKinematics(p, mat, e);
598 G4double mterm = CLHEP::pi*fine_structure_const*beta*charge;
599 return mterm;
600}
601
602//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
603
604G4double G4EmCorrections::NuclearDEDX(const G4ParticleDefinition* p,
605 const G4Material* mat,
606 G4double e,
607 G4bool fluct)
608{
609 G4double nloss = 0.0;
610 if(e <= 0.0) return nloss;
611 SetupKinematics(p, mat, e);
612
613 lossFlucFlag = fluct;
614
615 // Projectile nucleus
616 G4double z1 = std::abs(particle->GetPDGCharge()/eplus);
617 G4double m1 = mass/amu_c2;
618
619 // loop for the elements in the material
620 for (G4int iel=0; iel<numberOfElements; iel++) {
621 const G4Element* element = (*theElementVector)[iel] ;
622 G4double z2 = element->GetZ();
623 G4double m2 = element->GetA()*mole/g ;
624 nloss += (NuclearStoppingPower(kinEnergy, z1, z2, m1, m2))
625 * atomDensity[iel] ;
626 }
627 nloss *= theZieglerFactor;
628 return nloss;
629}
630
631//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
632
633G4double G4EmCorrections::NuclearStoppingPower(G4double kineticEnergy,
634 G4double z1, G4double z2,
635 G4double m1, G4double m2)
636{
637 G4double energy = kineticEnergy/keV ; // energy in keV
638 G4double nloss = 0.0;
639
640 G4double rm;
641 if(z1 > 1.5) rm = (m1 + m2) * ( Z23[G4int(z1)] + Z23[G4int(z2)] ) ;
642 else rm = (m1 + m2) * nist->GetZ13(G4int(z2));
643
644 G4double er = 32.536 * m2 * energy / ( z1 * z2 * rm ) ; // reduced energy
645
646 if (er >= ed[0]) nloss = a[0];
647 else {
648 // the table is inverse in energy
649 for (G4int i=102; i>=0; i--)
650 {
651 if (er <= ed[i]) {
652 nloss = (a[i] - a[i+1])*(er - ed[i+1])/(ed[i] - ed[i+1]) + a[i+1];
653 break;
654 }
655 }
656 }
657
658 // Stragling
659 if(lossFlucFlag) {
660 // G4double sig = 4.0 * m1 * m2 / ((m1 + m2)*(m1 + m2)*
661 // (4.0 + 0.197*std::pow(er,-1.6991)+6.584*std::pow(er,-1.0494))) ;
662 G4double sig = 4.0 * m1 * m2 / ((m1 + m2)*(m1 + m2)*
663 (4.0 + 0.197/(er*er) + 6.584/er));
664
665 nloss *= G4RandGauss::shoot(1.0,sig) ;
666 }
667
668 nloss *= 8.462 * z1 * z2 * m1 / rm ; // Return to [ev/(10^15 atoms/cm^2]
669
670 if ( nloss < 0.0) nloss = 0.0 ;
671
672 return nloss;
673}
674
675//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
676
677G4double G4EmCorrections::EffectiveChargeCorrection(const G4ParticleDefinition* p,
678 const G4Material* mat,
679 G4double ekin)
680{
681 G4double factor = 1.0;
682 if(p->GetPDGCharge() <= 2.5*eplus || nIons <= 0) return factor;
683 /*
684 if(verbose > 1) {
685 G4cout << "EffectiveChargeCorrection: " << p->GetParticleName()
686 << " in " << mat->GetName()
687 << " ekin(MeV)= " << ekin/MeV << G4endl;
688 }
689 */
690 if(p != curParticle || mat != curMaterial) {
691 curParticle = p;
692 curMaterial = mat;
693 curVector = 0;
694 currentZ = p->GetAtomicNumber();
695 if(verbose > 1) {
696 G4cout << "G4EmCorrections::EffectiveChargeCorrection: Zion= "
697 << currentZ << " Aion= " << p->GetPDGMass()/amu_c2 << G4endl;
698 }
699 massFactor = proton_mass_c2/p->GetPDGMass();
700 idx = -1;
701
702 for(G4int i=0; i<nIons; i++) {
703 if(materialList[i] == mat && currentZ == Zion[i]) {
704 idx = i;
705 break;
706 }
707 }
708 // G4cout << " idx= " << idx << " dz= " << G4endl;
709 if(idx >= 0) {
710 if(!ionList[idx]) BuildCorrectionVector();
711 if(ionList[idx]) curVector = stopData[idx];
712 } else { return factor; }
713 }
714 if(curVector) {
715 factor = curVector->Value(ekin*massFactor);
716 if(verbose > 1) {
717 G4cout << "E= " << ekin << " factor= " << factor << " massfactor= "
718 << massFactor << G4endl;
719 }
720 }
721 return factor;
722}
723
724//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
725
726void G4EmCorrections::AddStoppingData(G4int Z, G4int A,
727 const G4String& mname,
728 G4PhysicsVector* dVector)
729{
730 G4int i = 0;
731 for(; i<nIons; i++) {
732 if(Z == Zion[i] && A == Aion[i] && mname == materialName[i]) break;
733 }
734 if(i == nIons) {
735 Zion.push_back(Z);
736 Aion.push_back(A);
737 materialName.push_back(mname);
738 materialList.push_back(0);
739 ionList.push_back(0);
740 stopData.push_back(dVector);
741 nIons++;
742 if(verbose>1) {
743 G4cout << "AddStoppingData Z= " << Z << " A= " << A << " " << mname
744 << " idx= " << i << G4endl;
745 }
746 }
747}
748
749//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
750
751void G4EmCorrections::BuildCorrectionVector()
752{
753 if(!ionLEModel || !ionHEModel) {
754 return;
755 }
756
757 const G4ParticleDefinition* ion = curParticle;
758 G4int Z = Zion[idx];
759 if(currentZ != Z) {
760 ion = G4ParticleTable::GetParticleTable()->FindIon(Z, Aion[idx], 0, Z);
761 }
762 //G4cout << "BuildCorrectionVector: idx= " << idx << " Z= " << Z
763 // << " curZ= " << currentZ << G4endl;
764
765 // G4double A = nist->GetAtomicMassAmu(Z);
766 G4double A = G4double(ion->GetBaryonNumber());
767 G4PhysicsVector* v = stopData[idx];
768
769 const G4ParticleDefinition* p = G4GenericIon::GenericIon();
770 G4double massRatio = proton_mass_c2/ion->GetPDGMass();
771
772 if(verbose>1) {
773 G4cout << "BuildCorrectionVector: Stopping for "
774 << curParticle->GetParticleName() << " in "
775 << materialName[idx] << " Ion Z= " << Z << " A= " << A
776 << " massRatio= " << massRatio << G4endl;
777 }
778
779 G4PhysicsLogVector* vv =
780 new G4PhysicsLogVector(eCorrMin,eCorrMax,nbinCorr);
781 vv->SetSpline(true);
782 G4double e, eion, dedx, dedx1;
783 G4double eth0 = v->Energy(0);
784 G4double escal = eth/massRatio;
785 G4double qe =
786 effCharge.EffectiveChargeSquareRatio(ion, curMaterial, escal);
787 G4double dedxt =
788 ionLEModel->ComputeDEDXPerVolume(curMaterial, p, eth, eth)*qe;
789 G4double dedx1t =
790 ionHEModel->ComputeDEDXPerVolume(curMaterial, p, eth, eth)*qe
791 + ComputeIonCorrections(curParticle, curMaterial, escal);
792 G4double rest = escal*(dedxt - dedx1t);
793 //G4cout << "Escal(MeV)= "<<escal<<" dedxt0= " <<dedxt
794 // << " dedxt1= " << dedx1t << G4endl;
795
796 for(G4int i=0; i<=nbinCorr; i++) {
797 e = vv->Energy(i);
798 escal = e/massRatio;
799 eion = escal/A;
800 if(eion <= eth0) {
801 dedx = v->Value(eth0)*std::sqrt(eion/eth0);
802 } else {
803 dedx = v->Value(eion);
804 }
805 qe = effCharge.EffectiveChargeSquareRatio(curParticle,curMaterial,escal);
806 if(e <= eth) {
807 dedx1 = ionLEModel->ComputeDEDXPerVolume(curMaterial, p, e, e)*qe;
808 } else {
809 dedx1 = ionHEModel->ComputeDEDXPerVolume(curMaterial, p, e, e)*qe +
810 ComputeIonCorrections(curParticle, curMaterial, escal) + rest/escal;
811 }
812 vv->PutValue(i, dedx/dedx1);
813 if(verbose>1) {
814 G4cout << " E(meV)= " << e/MeV << " Correction= " << dedx/dedx1
815 << " " << dedx << " " << dedx1
816 << " massF= " << massFactor << G4endl;
817 }
818 }
819 delete v;
820 ionList[idx] = ion;
821 stopData[idx] = vv;
822 if(verbose>1) { G4cout << "End data set " << G4endl; }
823}
824
825//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
826
827void G4EmCorrections::InitialiseForNewRun()
828{
829 G4ProductionCutsTable* tb = G4ProductionCutsTable::GetProductionCutsTable();
830 ncouples = tb->GetTableSize();
831 if(currmat.size() != ncouples) {
832 currmat.resize(ncouples);
833 size_t i;
834 for(i=0; i<100; i++) {thcorr[i].clear();}
835 for(i=0; i<ncouples; i++) {
836 currmat[i] = tb->GetMaterialCutsCouple(i)->GetMaterial();
837 G4String nam = currmat[i]->GetName();
838 for(G4int j=0; j<nIons; j++) {
839 if(nam == materialName[j]) { materialList[j] = currmat[i]; }
840 }
841 }
842 }
843}
844
845//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
846
847void G4EmCorrections::Initialise()
848{
849// . Z^3 Barkas effect in the stopping power of matter for charged particles
850// J.C Ashley and R.H.Ritchie
851// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397
852 G4int i, j;
853 const G4double fTable[47][2] = {
854 { 0.02, 21.5},
855 { 0.03, 20.0},
856 { 0.04, 18.0},
857 { 0.05, 15.6},
858 { 0.06, 15.0},
859 { 0.07, 14.0},
860 { 0.08, 13.5},
861 { 0.09, 13.},
862 { 0.1, 12.2},
863 { 0.2, 9.25},
864 { 0.3, 7.0},
865 { 0.4, 6.0},
866 { 0.5, 4.5},
867 { 0.6, 3.5},
868 { 0.7, 3.0},
869 { 0.8, 2.5},
870 { 0.9, 2.0},
871 { 1.0, 1.7},
872 { 1.2, 1.2},
873 { 1.3, 1.0},
874 { 1.4, 0.86},
875 { 1.5, 0.7},
876 { 1.6, 0.61},
877 { 1.7, 0.52},
878 { 1.8, 0.5},
879 { 1.9, 0.43},
880 { 2.0, 0.42},
881 { 2.1, 0.3},
882 { 2.4, 0.2},
883 { 3.0, 0.13},
884 { 3.08, 0.1},
885 { 3.1, 0.09},
886 { 3.3, 0.08},
887 { 3.5, 0.07},
888 { 3.8, 0.06},
889 { 4.0, 0.051},
890 { 4.1, 0.04},
891 { 4.8, 0.03},
892 { 5.0, 0.024},
893 { 5.1, 0.02},
894 { 6.0, 0.013},
895 { 6.5, 0.01},
896 { 7.0, 0.009},
897 { 7.1, 0.008},
898 { 8.0, 0.006},
899 { 9.0, 0.0032},
900 { 10.0, 0.0025} };
901
902 for(i=0; i<47; i++) {
903 engBarkas[i] = fTable[i][0];
904 corBarkas[i] = fTable[i][1];
905 }
906
907 const G4double nuca[104][2] = {
908 { 1.0E+8, 5.831E-8},
909 { 8.0E+7, 7.288E-8},
910 { 6.0E+7, 9.719E-8},
911 { 5.0E+7, 1.166E-7},
912 { 4.0E+7, 1.457E-7},
913 { 3.0E+7, 1.942E-7},
914 { 2.0E+7, 2.916E-7},
915 { 1.5E+7, 3.887E-7},
916
917 { 1.0E+7, 5.833E-7},
918 { 8.0E+6, 7.287E-7},
919 { 6.0E+6, 9.712E-7},
920 { 5.0E+6, 1.166E-6},
921 { 4.0E+6, 1.457E-6},
922 { 3.0E+6, 1.941E-6},
923 { 2.0E+6, 2.911E-6},
924 { 1.5E+6, 3.878E-6},
925
926 { 1.0E+6, 5.810E-6},
927 { 8.0E+5, 7.262E-6},
928 { 6.0E+5, 9.663E-6},
929 { 5.0E+5, 1.157E-5},
930 { 4.0E+5, 1.442E-5},
931 { 3.0E+5, 1.913E-5},
932 { 2.0E+5, 2.845E-5},
933 { 1.5E+5, 3.762E-5},
934
935 { 1.0E+5, 5.554E-5},
936 { 8.0E+4, 6.866E-5},
937 { 6.0E+4, 9.020E-5},
938 { 5.0E+4, 1.070E-4},
939 { 4.0E+4, 1.319E-4},
940 { 3.0E+4, 1.722E-4},
941 { 2.0E+4, 2.499E-4},
942 { 1.5E+4, 3.248E-4},
943
944 { 1.0E+4, 4.688E-4},
945 { 8.0E+3, 5.729E-4},
946 { 6.0E+3, 7.411E-4},
947 { 5.0E+3, 8.718E-4},
948 { 4.0E+3, 1.063E-3},
949 { 3.0E+3, 1.370E-3},
950 { 2.0E+3, 1.955E-3},
951 { 1.5E+3, 2.511E-3},
952
953 { 1.0E+3, 3.563E-3},
954 { 8.0E+2, 4.314E-3},
955 { 6.0E+2, 5.511E-3},
956 { 5.0E+2, 6.430E-3},
957 { 4.0E+2, 7.756E-3},
958 { 3.0E+2, 9.855E-3},
959 { 2.0E+2, 1.375E-2},
960 { 1.5E+2, 1.736E-2},
961
962 { 1.0E+2, 2.395E-2},
963 { 8.0E+1, 2.850E-2},
964 { 6.0E+1, 3.552E-2},
965 { 5.0E+1, 4.073E-2},
966 { 4.0E+1, 4.802E-2},
967 { 3.0E+1, 5.904E-2},
968 { 1.5E+1, 9.426E-2},
969
970 { 1.0E+1, 1.210E-1},
971 { 8.0E+0, 1.377E-1},
972 { 6.0E+0, 1.611E-1},
973 { 5.0E+0, 1.768E-1},
974 { 4.0E+0, 1.968E-1},
975 { 3.0E+0, 2.235E-1},
976 { 2.0E+0, 2.613E-1},
977 { 1.5E+0, 2.871E-1},
978
979 { 1.0E+0, 3.199E-1},
980 { 8.0E-1, 3.354E-1},
981 { 6.0E-1, 3.523E-1},
982 { 5.0E-1, 3.609E-1},
983 { 4.0E-1, 3.693E-1},
984 { 3.0E-1, 3.766E-1},
985 { 2.0E-1, 3.803E-1},
986 { 1.5E-1, 3.788E-1},
987
988 { 1.0E-1, 3.711E-1},
989 { 8.0E-2, 3.644E-1},
990 { 6.0E-2, 3.530E-1},
991 { 5.0E-2, 3.444E-1},
992 { 4.0E-2, 3.323E-1},
993 { 3.0E-2, 3.144E-1},
994 { 2.0E-2, 2.854E-1},
995 { 1.5E-2, 2.629E-1},
996
997 { 1.0E-2, 2.298E-1},
998 { 8.0E-3, 2.115E-1},
999 { 6.0E-3, 1.883E-1},
1000 { 5.0E-3, 1.741E-1},
1001 { 4.0E-3, 1.574E-1},
1002 { 3.0E-3, 1.372E-1},
1003 { 2.0E-3, 1.116E-1},
1004 { 1.5E-3, 9.559E-2},
1005
1006 { 1.0E-3, 7.601E-2},
1007 { 8.0E-4, 6.668E-2},
1008 { 6.0E-4, 5.605E-2},
1009 { 5.0E-4, 5.008E-2},
1010 { 4.0E-4, 4.352E-2},
1011 { 3.0E-4, 3.617E-2},
1012 { 2.0E-4, 2.768E-2},
1013 { 1.5E-4, 2.279E-2},
1014
1015 { 1.0E-4, 1.723E-2},
1016 { 8.0E-5, 1.473E-2},
1017 { 6.0E-5, 1.200E-2},
1018 { 5.0E-5, 1.052E-2},
1019 { 4.0E-5, 8.950E-3},
1020 { 3.0E-5, 7.246E-3},
1021 { 2.0E-5, 5.358E-3},
1022 { 1.5E-5, 4.313E-3},
1023 { 0.0, 3.166E-3}
1024 };
1025
1026 for(i=0; i<104; i++) {
1027 ed[i] = nuca[i][0];
1028 a[i] = nuca[i][1];
1029 }
1030
1031 // Constants
1032 theZieglerFactor = eV*cm2*1.0e-15 ;
1033 alpha2 = fine_structure_const*fine_structure_const;
1034 lossFlucFlag = true;
1035
1036 // G.S. Khandelwal Nucl. Phys. A116(1968)97 - 111.
1037 // "Shell corrections for K- and L- electrons
1038 nK = 20;
1039 nL = 26;
1040 nEtaK = 29;
1041 nEtaL = 28;
1042
1043 const G4double d[11] = {0., 0., 0., 1.72, 2.09, 2.48, 2.82, 3.16, 3.53, 3.84, 4.15};
1044 const G4double thek[20] = {0.64, 0.65, 0.66, 0.68, 0.70, 0.72, 0.74, 0.75, 0.76, 0.78,
1045 0.80, 0.82, 0.84, 0.85, 0.86, 0.88, 0.90, 0.92, 0.94, 0.95};
1046 const G4double sk[20] = {1.9477, 1.9232, 1.8996, 1.8550, 1.8137,
1047 1.7754, 1.7396, 1.7223, 1.7063, 1.6752,
1048 1.6461, 1.6189, 1.5933, 1.5811, 1.5693,
1049 1.5467, 1.5254, 1.5053, 1.4863, 1.4772};
1050 const G4double tk[20] = {2.5222, 2.5125, 2.5026, 2.4821, 2.4608,
1051 2.4388, 2.4163, 2.4044, 2.3933, 2.3701,
1052 2.3466, 2.3229, 2.2992, 2.2872, 2.2753,
1053 2.2515, 2.2277, 2.2040, 2.1804, 2.1686};
1054 const G4double uk[20] = {1.9999, 2.0134, 2.0258, 2.0478, 2.0662,
1055 2.0817, 2.0945, 2.0999, 2.1049, 2.1132,
1056 2.1197, 2.1246, 2.1280, 2.1292, 2.1301,
1057 2.1310, 2.1310, 2.1300, 2.1283, 2.1271};
1058 const G4double vk[20] = {8.3410, 8.3373, 8.3340, 8.3287, 8.3247,
1059 8.3219, 8.3201, 8.3194, 8.3191, 8.3188,
1060 8.3191, 8.3199, 8.3211, 8.3218, 8.3226,
1061 8.3244, 8.3264, 8.3285, 8.3308, 8.3320};
1062
1063 for(i=0; i<11; i++) { ZD[i] = d[i];}
1064
1065 for(i=0; i<nK; i++) {
1066 TheK[i] = thek[i];
1067 SK[i] = sk[i];
1068 TK[i] = tk[i];
1069 UK[i] = uk[i];
1070 VK[i] = vk[i];
1071 }
1072
1073 const G4double thel[26] = {0.24, 0.26, 0.28, 0.30, 0.32, 0.34, 0.35, 0.36, 0.38, 0.40,
1074 0.42, 0.44, 0.45, 0.46, 0.48, 0.50, 0.52, 0.54, 0.55, 0.56,
1075 0.58, 0.60, 0.62, 0.64, 0.65, 0.66};
1076 const G4double sl[26] = {15.3343, 13.9389, 12.7909, 11.8343, 11.0283,
1077 10.3424, 10.0371, 9.7537, 9.2443, 8.8005,
1078 8.4114, 8.0683, 7.9117, 7.7641, 7.4931,
1079 7.2506, 7.0327, 6.8362, 6.7452, 6.6584,
1080 6.4969, 6.3498, 6.2154, 6.0923, 6.0345, 5.9792};
1081 const G4double tl[26] = {35.0669, 33.4344, 32.0073, 30.7466, 29.6226,
1082 28.6128, 28.4149, 27.6991, 26.8674, 26.1061,
1083 25.4058, 24.7587, 24.4531, 24.1583, 23.5992,
1084 23.0771, 22.5880, 22.1285, 21.9090, 21.6958,
1085 21.2872, 20.9006, 20.5341, 20.1859, 20.0183, 19.8546};
1086 const G4double ul[26] = {0.1215, 0.5265, 0.8411, 1.0878, 1.2828,
1087 1.4379, 1.5032, 1.5617, 1.6608, 1.7401,
1088 1.8036, 1.8543, 1.8756, 1.8945, 1.9262,
1089 1.9508, 1.9696, 1.9836, 1.9890, 1.9935,
1090 2.0001, 2.0039, 2.0053, 2.0049, 2.0040, 2.0028};
1091 for(i=0; i<nL; i++) {
1092 TheL[i] = thel[i];
1093 SL[i] = sl[i];
1094 TL[i] = tl[i];
1095 UL[i] = ul[i];
1096 }
1097
1098 const G4double eta[29] = {0.005, 0.007, 0.01, 0.015, 0.02,
1099 0.03, 0.04, 0.05, 0.06, 0.08,
1100 0.1, 0.15, 0.2, 0.3, 0.4,
1101 0.5, 0.6, 0.7, 0.8, 1.0,
1102 1.2, 1.4, 1.5, 1.7, 2.0, 3.0, 5.0, 7.0, 10.};
1103
1104 const G4double bk1[29][11] = {
1105 {0.005, 1.34782E-8, 1.46132E-8, 1.72179E-8, 2.03521E-8, 2.41370E-8, 2.87247E-8, 3.13778E-8, 3.43072E-8, 4.11274E-8, 4.94946E-8},
1106 {0.007, 6.87555E-8, 7.44373E-8, 8.74397E-8, 1.03022E-7, 1.21760E-7, 1.44370E-7, 1.57398E-7, 1.71747E-7, 2.05023E-7, 2.45620E-7},
1107 {0.01, 3.78413E-7, 4.08831E-7, 4.78154E-7, 5.60760E-7, 6.59478E-7, 7.77847E-7, 8.45709E-7, 9.20187E-7, 1.09192E-6, 1.29981E-6},
1108 {0.015, 2.53200E-6, 2.72664E-6, 3.16738E-6, 3.68791E-6, 4.30423E-6, 5.03578E-6, 5.45200E-6, 5.90633E-6, 6.94501E-6, 8.18757E-6},
1109 {0.02, 9.43891E-6, 1.01339E-5, 1.16984E-5, 1.35313E-5, 1.56829E-5, 1.82138E-5, 1.96439E-5, 2.11973E-5, 2.47216E-5, 2.88935E-5},
1110 {0.03, 5.67088E-5, 6.05576E-5, 6.91311E-5, 7.90324E-5, 9.04832E-5, 1.03744E-4, 1.11147E-4, 1.19122E-4, 1.36980E-4, 1.57744E-4},
1111 {0.04, 1.91576E-4, 2.03626E-4, 2.30230E-4, 2.60584E-4, 2.95248E-4, 3.34870E-4, 3.56771E-4, 3.80200E-4, 4.32104E-4, 4.91584E-4},
1112 {0.05, 4.74226E-4, 5.02006E-4, 5.62872E-4, 6.31597E-4, 7.09244E-4, 7.97023E-4, 8.45134E-4, 8.96410E-4, 1.00867E-3, 1.13590E-3},
1113 {0.06, 9.67285E-4, 1.02029E-3, 1.13566E-3, 1.26476E-3, 1.46928E-3, 1.57113E-3, 1.65921E-3, 1.75244E-3, 1.95562E-3, 2.18336E-3},
1114 {0.08, 2.81537E-3, 2.95200E-3, 3.24599E-3, 3.57027E-3, 3.92793E-3, 4.32246E-3, 4.53473E-3, 4.75768E-3, 5.23785E-3, 5.76765E-3},
1115 {0.1, 6.14216E-3, 6.40864E-3, 6.97750E-3, 7.59781E-3, 8.27424E-3, 9.01187E-3, 9.40534E-3, 9.81623E-3, 1.06934E-2, 1.16498E-2},
1116 {0.15, 2.23096E-2, 2.30790E-2, 2.46978E-2, 2.64300E-2, 2.82832E-2, 3.02661E-2, 3.13090E-2, 3.23878E-2, 3.46580E-2, 3.70873E-2},
1117 {0.2, 5.04022E-2, 5.18492E-2, 5.48682E-2, 5.80617E-2, 6.14403E-2, 6.50152E-2, 6.68798E-2, 6.87981E-2, 7.28020E-2, 7.70407E-2},
1118 {0.3, 1.38018E-1, 1.41026E-1, 1.47244E-1, 1.53743E-1, 1.60536E-1, 1.67641E-1, 1.71315E-1, 1.75074E-1, 1.82852E-1, 1.90997E-1},
1119 {0.4, 2.56001E-1, 2.60576E-1, 2.69992E-1, 2.79776E-1, 2.89946E-1, 3.00525E-1, 3.05974E-1, 3.11533E-1, 3.22994E-1, 3.34935E-1},
1120 {0.5, 3.92181E-1, 3.98213E-1, 4.10597E-1, 4.23427E-1, 4.36726E-1, 4.50519E-1, 4.57610E-1, 4.64834E-1, 4.79700E-1, 4.95148E-1},
1121 {0.6, 5.37913E-1, 5.45268E-1, 5.60350E-1, 5.75948E-1, 5.92092E-1, 6.08811E-1, 6.17396E-1, 6.26136E-1, 6.44104E-1, 6.62752E-1},
1122 {0.7, 6.87470E-1, 6.96021E-1, 7.13543E-1, 7.31650E-1, 7.50373E-1, 7.69748E-1, 7.79591E-1, 7.89811E-1, 8.10602E-1, 8.32167E-1},
1123 {0.8, 8.37159E-1, 8.46790E-1, 8.66525E-1, 8.86910E-1, 9.07979E-1, 9.29772E-1, 9.40953E-1, 9.52331E-1, 9.75701E-1, 9.99934E-1},
1124 {1.0, 1.12850, 1.14002, 1.16362, 1.18799, 1.21317, 1.23921, 1.25257, 1.26616, 1.29408, 1.32303},
1125 {1.2, 1.40232, 1.41545, 1.44232, 1.47007, 1.49875, 1.52842, 1.54364, 1.55913, 1.59095, 1.62396},
1126 {1.4, 1.65584, 1.67034, 1.70004, 1.73072, 1.76244, 1.79526, 1.81210, 1.82925, 1.86448, 1.90104},
1127 {1.5, 1.77496, 1.79009, 1.82107, 1.85307, 1.88617, 1.92042, 1.93800, 1.95590, 1.99269, 2.03087},
1128 {1.7, 1.99863, 2.01490, 2.04822, 2.08265, 2.11827, 2.15555, 2.17409, 2.19337, 2.23302, 2.27419},
1129 {2.0, 2.29325, 2.31100, 2.34738, 2.38501, 2.42395, 2.46429, 2.48401, 2.50612, 2.54955, 2.59468},
1130 {3.0, 3.08887, 3.11036, 3.15445, 3.20013, 3.24748, 3.29664, 3.32192, 3.34770, 3.40081, 3.45611},
1131 {5.0, 4.07599, 4.10219, 4.15606, 4.21199, 4.27010, 4.33056, 4.36172, 4.39353, 4.45918, 4.52772},
1132 {7.0, 4.69647, 4.72577, 4.78608, 4.84877, 4.91402, 4.98200, 5.01707, 5.05290, 5.12695, 5.20436},
1133 {10.0, 5.32590, 5.35848, 5.42560, 5.49547, 5.56830, 5.64429, 5.68353, 5.72366, 5.80666, 5.89359}
1134 };
1135
1136 const G4double bk2[29][11] = {
1137 {0.005, 5.98040E-8, 7.25636E-8, 8.00602E-8, 8.84294E-8, 1.08253E-7, 1.33148E-7, 1.64573E-7, 2.04459E-7, 2.28346E-7, 2.55370E-7},
1138 {0.007, 2.95345E-7, 3.56497E-7, 3.92247E-7, 4.32017E-7, 5.25688E-7, 6.42391E-7, 7.88464E-7, 9.72171E-7, 1.08140E-6, 1.20435E-6},
1139 {0.01, 1.55232E-6, 1.86011E-6, 2.03881E-6, 2.23662E-6, 2.69889E-6, 3.26860E-6, 3.26860E-6, 4.84882E-6, 5.36428E-6, 5.94048E-6},
1140 {0.015, 9.67802E-6, 1.14707E-5, 1.25008E-5, 1.36329E-5, 1.62480E-5, 1.94200E-5, 2.32783E-5, 2.79850E-5, 3.07181E-5, 3.37432E-5},
1141 {0.02, 3.38425E-5, 3.97259E-5, 4.30763E-5, 4.67351E-5, 5.51033E-5, 6.51154E-5, 7.71154E-5, 9.15431E-5, 9.98212E-5, 1.08909E-4},
1142 {0.03, 1.81920E-4, 2.10106E-4, 2.25918E-4, 2.43007E-4, 2.81460E-4, 3.26458E-4, 3.79175E-4, 4.41006E-4, 4.75845E-4, 5.13606E-4},
1143 {0.04, 5.59802E-4, 6.38103E-4, 6.81511E-4, 7.28042E-4, 8.31425E-4, 9.50341E-4, 1.08721E-3, 1.24485E-3, 1.33245E-3, 1.42650E-3},
1144 {0.05, 1.28002E-3, 1.44336E-3, 1.53305E-3, 1.62855E-3, 1.83861E-3, 2.07396E-3, 2.34750E-3, 2.65469E-3, 2.82358E-3, 3.00358E-3},
1145 {0.06, 2.42872E-3, 2.72510E-3, 2.88111E-3, 3.04636E-3, 3.40681E-3, 3.81132E-3, 4.26536E-3, 4.77507E-3, 5.05294E-3, 5.34739E-3},
1146 {0.08, 6.35222E-3, 6.99730E-3, 7.34446E-3, 7.70916E-3, 8.49478E-3, 9.36187E-3, 1.03189E-2, 1.13754E-2, 1.19441E-2, 1.25417E-2},
1147 {0.1, 1.26929E-2, 1.38803E-2, 1.44371E-2, 1.50707E-2, 1.64235E-2, 1.78989E-2, 1.95083E-2, 2.12640E-2, 2.22009E-2, 2.31795E-2},
1148 {0.15, 3.96872E-2, 4.24699E-2, 4.39340E-2, 4.54488E-2, 4.86383E-2, 5.20542E-2, 5.57135E-2, 5.96350E-2, 6.17003E-2, 6.38389E-2},
1149 {0.2, 8.15290E-2, 8.62830E-2, 8.87650E-2, 9.13200E-2, 9.66589E-2, 1.02320E-1, 1.08326E-1, 1.14701E-1, 1.18035E-1, 1.21472E-1},
1150 {0.3, 1.99528E-1, 2.08471E-1, 2.13103E-1, 2.17848E-1, 2.27689E-1, 2.38022E-1, 2.48882E-1, 2.60304E-1, 2.66239E-1, 2.72329E-1},
1151 {0.4, 3.47383E-1, 3.60369E-1, 3.67073E-1, 3.73925E-1, 3.88089E-1, 4.02900E-1, 4.18404E-1, 4.34647E-1, 4.43063E-1, 4.51685E-1},
1152 {0.5, 5.11214E-1, 5.27935E-1, 5.36554E-1, 5.45354E-1, 5.63515E-1, 5.82470E-1, 6.02273E-1, 6.22986E-1, 6.33705E-1, 6.44677E-1},
1153 {0.6, 6.82122E-1, 7.02260E-1, 7.12631E-1, 7.23214E-1, 7.45041E-1, 7.67800E-1, 7.91559E-1, 8.16391E-1, 8.29235E-1, 8.42380E-1},
1154 {0.7, 8.54544E-1, 8.77814E-1, 8.89791E-1, 9.02008E-1, 9.27198E-1, 9.53454E-1, 9.80856E-1, 1.00949, 1.02430, 1.03945},
1155 {0.8, 1.02508, 1.05121, 1.06466, 1.07838, 1.10667, 1.13615, 1.16692, 1.19907, 1.21570, 1.23272},
1156 {1.0, 1.35307, 1.38429, 1.40036, 1.41676, 1.45057, 1.48582, 1.52263, 1.56111, 1.58102, 1.60140},
1157 {1.2, 1.65823, 1.69385, 1.71220, 1.73092, 1.76954, 1.80983, 1.85192, 1.89596, 1.91876, 1.94211},
1158 {1.4, 1.93902, 1.97852, 1.99887, 2.01964, 2.06251, 2.10727, 2.15406, 2.20304, 2.22842, 2.25442},
1159 {1.5, 2.07055, 2.11182, 2.13309, 2.15480, 2.19963, 2.24644, 2.29539, 2.34666, 2.37323, 2.40045},
1160 {1.7, 2.31700, 2.36154, 2.38451, 2.40798, 2.45641, 2.50703, 2.56000, 2.61552, 2.64430, 2.67381},
1161 {2.0, 2.64162, 2.69053, 2.71576, 2.74154, 2.79481, 2.85052, 2.90887, 2.97009, 3.00185, 3.03442},
1162 {3.0, 3.51376, 3.57394, 3.60503, 3.63684, 3.70268, 3.77170, 3.84418, 3.92040, 3.96003, 4.00073},
1163 {5.0, 4.59935, 4.67433, 4.71316, 4.75293, 4.83543, 4.92217, 5.01353, 5.10992, 5.16014, 5.21181},
1164 {7.0, 5.28542, 5.37040, 5.41445, 5.45962, 5.55344, 5.65226, 5.79496, 5.90517, 5.96269, 6.02191},
1165 {10.0, 5.98474, 6.08046, 6.13015, 6.18112, 6.28715, 6.39903, 6.51728, 6.64249, 6.70792, 6.77535}
1166 };
1167
1168 const G4double bls1[28][10] = {
1169 {0.005, 2.4111E-4, 2.5612E-4, 2.7202E-4, 3.0658E-4, 3.4511E-4, 3.8795E-4, 4.3542E-4, 4.6100E-4, 4.8786E-4},
1170 {0.007, 6.3947E-4, 6.7058E-4, 7.0295E-4, 7.7167E-4, 8.4592E-4, 9.2605E-4, 1.0125E-3, 1.0583E-3, 1.1058E-3},
1171 {0.01, 1.5469E-3, 1.6036E-3, 1.6622E-3, 1.7856E-3, 1.9181E-3, 2.1615E-3, 2.3178E-3, 2.4019E-3, 2.4904E-3},
1172 {0.015, 3.7221E-3, 3.8404E-3, 3.9650E-3, 4.2354E-3, 4.5396E-3, 4.8853E-3, 5.2820E-3, 5.5031E-3, 5.7414E-3},
1173 {0.02, 6.9449E-3, 7.1910E-3, 7.4535E-3, 8.0336E-3, 8.6984E-3, 9.4638E-3, 1.0348E-2, 1.0841E-2, 1.1372E-2},
1174 {0.03, 1.7411E-2, 1.8180E-2, 1.8997E-2, 2.0784E-2, 2.2797E-2, 2.5066E-2, 2.7622E-2, 2.9020E-2, 3.0503E-2},
1175 {0.04, 3.8474E-2, 4.0056E-2, 4.1718E-2, 4.5300E-2, 4.9254E-2, 5.3619E-2, 5.8436E-2, 6.1028E-2, 6.3752E-2},
1176 {0.05, 6.7371E-2, 6.9928E-2, 7.2596E-2, 7.8282E-2, 8.4470E-2, 9.1206E-2, 9.8538E-2, 1.0244E-1, 1.0652E-1},
1177 {0.06, 1.0418E-1, 1.0778E-1, 1.1152E-1, 1.1943E-1, 1.2796E-1, 1.3715E-1, 1.4706E-1, 1.5231E-1, 1.5776E-1},
1178 {0.08, 1.9647E-1, 2.0217E-1, 2.0805E-1, 2.2038E-1, 2.3351E-1, 2.4751E-1, 2.6244E-1, 2.7027E-1, 2.7837E-1},
1179 {0.1, 3.0594E-1, 3.1361E-1, 3.2150E-1, 3.3796E-1, 3.5537E-1, 3.7381E-1, 3.9336E-1, 4.0357E-1, 4.1410E-1},
1180 {0.15, 6.1411E-1, 6.2597E-1, 6.3811E-1, 6.6330E-1, 6.8974E-1, 7.1753E-1, 7.4678E-1, 7.6199E-1, 7.7761E-1},
1181 {0.2, 9.3100E-1, 9.5614E-1, 9.7162E-1, 1.0037, 1.0372, 1.0723, 1.1092, 1.1284, 1.1480},
1182 {0.3, 1.5172, 1.5372, 1.5576, 1.5998, 1.6438, 1.6899, 1.7382, 1.7632, 1.7889},
1183 {0.4, 2.0173, 2.0408, 2.0647, 2.1142, 2.1659, 2.2199, 2.2765, 2.3059, 2.3360},
1184 {0.5, 2.3932, 2.4193, 2.4460, 2.5011, 2.5587, 2.6190, 2.6821, 2.7148, 2.7484},
1185 {0.6, 2.7091, 2.7374, 2.7663, 2.8260, 2.8884, 2.9538, 3.0222, 3.0577, 3.0941},
1186 {0.7, 2.9742, 3.0044, 3.0352, 3.0988, 3.1652, 3.2349, 3.3079, 3.3457, 3.3845},
1187 {0.8, 3.2222, 3.2539, 3.2863, 3.3532, 3.4232, 3.4965, 3.5734, 3.6133, 3.6542},
1188 {1.0, 3.6690, 3.7033, 3.7384, 3.8108, 3.8866, 3.9661, 4.0495, 4.0928, 4.1371},
1189 {1.2, 3.9819, 4.0183, 4.0555, 4.1324, 4.2130, 4.2974, 4.3861, 4.4321, 4.4794},
1190 {1.4, 4.2745, 4.3127, 4.3517, 4.4324, 4.5170, 4.6056, 4.6988, 4.7471, 4.7968},
1191 {1.5, 4.4047, 4.4436, 4.4834, 4.5658, 4.6521, 4.7426, 4.8378, 4.8872, 4.9379},
1192 {1.7, 4.6383, 4.6787, 4.7200, 4.8054, 4.8949, 4.9888, 5.0876, 5.1388, 5.1915},
1193 {2.0, 4.9369, 4.9791, 5.0223, 5.1116, 5.2053, 5.3036, 5.4070, 5.4607, 5.5159},
1194 {3.0, 5.6514, 5.6981, 5.7459, 5.8450, 5.9489, 6.0581, 6.1730, 6.2328, 6.2943},
1195 {5.0, 6.4665, 6.5189, 6.5724, 6.6835, 6.8003, 6.9231, 7.0525, 7.1199, 7.1892},
1196 {7.0, 6.8634, 6.9194, 6.9767, 7.0957, 7.2208, 7.3526, 7.4915, 7.5639, 7.6384}
1197 };
1198
1199
1200 const G4double bls2[28][10] = {
1201 {0.005, 5.4561E-4, 6.0905E-4, 6.7863E-4, 7.5494E-4, 7.9587E-4, 8.3883E-4, 9.3160E-4, 1.0352E-3, 1.1529E-3},
1202 {0.007, 1.2068E-3, 1.3170E-3, 1.4377E-3, 1.5719E-3, 1.6451E-3, 1.7231E-3, 1.8969E-3, 2.1009E-3, 2.3459E-3},
1203 {0.01, 2.6832E-3, 2.9017E-3, 3.1534E-3, 3.4479E-3, 3.6149E-3, 3.7976E-3, 4.2187E-3, 4.7320E-3, 5.3636E-3},
1204 {0.015, 6.2775E-3, 6.9077E-3, 7.6525E-3, 8.5370E-2, 9.0407E-3, 9.5910E-3, 1.0850E-2, 1.2358E-2, 1.4165E-2},
1205 {0.02, 1.2561E-2, 1.3943E-2, 1.5553E-2, 1.7327E-2, 1.8478E-2, 1.9612E-2, 2.2160E-2, 2.5130E-2, 2.8594E-2},
1206 {0.03, 3.3750E-2, 3.7470E-2, 4.1528E-2, 4.6170E-2, 4.8708E-2, 5.1401E-2, 5.7297E-2, 6.3943E-2, 7.1441E-2},
1207 {0.04, 6.9619E-2, 7.6098E-2, 8.3249E-2, 9.1150E-2, 9.5406E-2, 9.9881E-2, 1.0954E-1, 1.2023E-1, 1.3208E-1},
1208 {0.05, 1.1522E-1, 1.2470E-1, 1.3504E-1, 1.4632E-1, 1.5234E-1, 1.5864E-1, 1.7211E-1, 1.8686E-1, 2.0304E-1},
1209 {0.06, 1.6931E-1, 1.8179E-1, 1.9530E-1, 2.0991E-1, 2.1767E-1, 2.2576E-1, 2.4295E-1, 2.6165E-1, 2.8201E-1},
1210 {0.08, 2.9540E-1, 3.1361E-1, 3.3312E-1, 3.5403E-1, 3.6506E-1, 3.7650E-1, 4.0067E-1, 4.2673E-1, 4.5488E-1},
1211 {0.1, 4.3613E-1, 4.5956E-1, 4.852E-1, 5.1115E-1, 5.2514E-1, 5.3961E-1, 5.7008E-1, 6.0277E-1, 6.3793E-1},
1212 {0.15, 8.1014E-1, 8.4453E-1, 8.8093E-1, 9.1954E-1, 9.3973E-1, 9.6056E-1, 1.0043, 1.0509, 1.1008},
1213 {0.2, 1.1888, 1.2319, 1.2774, 1.3255, 1.3506, 1.3765, 1.4308, 1.4886, 1.5504},
1214 {0.3, 1.8422, 1.8983, 1.9575, 2.0201, 2.0528, 2.0864, 2.1569, 2.2319, 2.3120},
1215 {0.4, 2.3984, 2.4642, 2.5336, 2.6070, 2.6452, 2.6847, 2.7674, 2.8554, 2.9494},
1216 {0.5, 2.8181, 2.8915, 2.9690, 3.0509, 3.0937, 3.1378, 3.2301, 3.3285, 3.4337},
1217 {0.6, 3.1698, 3.2494, 3.3336, 3.4226, 3.4691, 3.5171, 3.6175, 3.7246, 3.8391},
1218 {0.7, 3.4652, 3.5502, 3.6400, 3.7351, 3.7848, 3.8360, 3.9433, 4.0578, 4.1804},
1219 {0.8, 3.7392, 3.8289, 3.9236, 4.0239, 4.0764, 4.1304, 4.2438, 4.3648, 4.4944},
1220 {1.0, 4.2295, 4.3269, 4.4299, 4.5391, 4.5962, 4.6551, 4.7786, 4.9106, 5.0520},
1221 {1.2, 4.5777, 4.6814, 4.7912, 4.9076, 4.9685, 5.0314, 5.1633, 5.3043, 5.4555},
1222 {1.4, 4.9001, 5.0092, 5.1247, 5.2473, 5.3114, 5.3776, 5.5166, 5.6653, 5.8249},
1223 {1.5, 5.0434, 5.1550, 5.2731, 5.3984, 5.4640, 5.5317, 5.6739, 5.8260, 5.9893},
1224 {1.7, 5.3011, 5.4170, 5.5398, 5.6701, 5.7373, 5.8088, 5.9568, 6.1152, 6.2853},
1225 {2.0, 5.6308, 5.7523, 5.8811, 6.0174, 6.0896, 6.1636, 6.3192, 6.4857, 6.6647},
1226 {3.0, 6.4224, 6.5580, 6.7019, 6.8549, 6.9351, 7.0180, 7.1925, 7.3795, 7.5808},
1227 {5.0, 7.3338, 7.4872, 7.6500, 7.8235, 7.9146, 8.0087, 8.2071, 8.4200, 8.6496},
1228 {7.0, 7.7938, 7.9588, 8.1342, 8.3211, 8.4193, 8.5209, 8.7350, 8.9651, 9.2133}
1229 };
1230
1231 const G4double bls3[28][9] = {
1232 {0.005, 1.2895E-3, 1.3670E-3, 1.4524E-3, 1.6524E-3, 1.9078E-3, 2.2414E-3, 2.6889E-3, 3.3006E-3},
1233 {0.007, 2.6467E-3, 2.8242E-3, 3.0238E-3, 3.5045E-3, 4.1260E-3, 4.9376E-3, 6.0050E-3, 7.4152E-3},
1234 {0.01, 6.1472E-3, 6.6086E-3, 7.1246E-3, 8.3491E-3, 9.8871E-3, 1.1822E-2, 1.4261E-2, 1.7335E-2},
1235 {0.015, 1.63316E-2, 1.7572E-2, 1.8932E-2, 2.2053E-2, 2.5803E-2, 3.0308E-2, 3.5728E-2, 4.2258E-2},
1236 {0.02, 3.2634E-2, 3.4900E-2, 3.7348E-2, 4.2850E-2, 4.9278E-2, 5.6798E-2, 6.5610E-2, 7.5963E-2},
1237 {0.03, 7.9907E-2, 8.4544E-2, 8.9486E-2, 1.0032E-1, 1.1260E-1, 1.2656E-1, 1.4248E-1, 1.6071E-1},
1238 {0.04, 1.4523E-1, 1.5237E-1, 1.5985E-1, 1.7614E-1, 1.9434E-1, 2.1473E-1, 2.3766E-1, 2.6357E-1},
1239 {0.05, 2.2082E-1, 2.3036E-1, 2.4038E-1, 2.6199E-1, 2.8590E-1, 3.1248E-1, 3.4212E-1, 3.7536E-1},
1240 {0.06, 3.0423E-1, 3.1611E-1, 3.2854E-1, 3.5522E-1, 3.8459E-1, 4.1704E-1, 4.5306E-1, 4.9326E-1},
1241 {0.08, 4.8536E-1, 5.0156E-1, 5.1846E-1, 5.5453E-1, 5.9397E-1, 6.3728E-1, 6.8507E-1, 7.3810E-1},
1242 {0.1, 6.7586E-1, 6.9596E-1, 7.1688E-1, 7.6141E-1, 8.0992E-1, 8.6301E-1, 9.2142E-1, 9.8604E-1},
1243 {0.15, 1.1544, 1.1828, 1.2122, 1.2746, 1.3424, 1.4163, 1.4974, 1.5868},
1244 {0.2, 1.6167, 1.6517, 1.6880, 1.7650, 1.8484, 1.9394, 2.0390, 2.1489},
1245 {0.3, 2.3979, 2.4432, 2.4902, 2.5899, 2.6980, 2.8159, 2.9451, 3.0876},
1246 {0.4, 3.0502, 3.1034, 3.1586, 3.2758, 3.4030, 3.5416, 3.6938, 3.8620},
1247 {0.5, 3.5466, 3.6062, 3.6681, 3.7994, 3.9421, 4.0978, 4.2688, 4.4580},
1248 {0.6, 3.9620, 4.0270, 4.0945, 4.2378, 4.3935, 4.5636, 4.7506, 4.9576},
1249 {0.7, 4.3020, 4.3715, 4.4438, 4.5974, 4.7644, 4.9470, 5.1478, 5.3703},
1250 {0.8, 4.6336, 4.7072, 4.7837, 4.9463, 5.1233, 5.3169, 5.5300, 5.7661},
1251 {1.0, 5.2041, 5.2845, 5.3682, 5.5462, 5.7400, 5.9523, 6.1863, 6.4458},
1252 {1.2, 5.6182, 5.7044, 5.7940, 5.9848, 6.1927, 6.4206, 6.6719, 6.9510},
1253 {1.4, 5.9967, 6.0876, 6.1823, 6.3839, 6.6038, 6.8451, 7.1113, 7.4071},
1254 {1.5, 6.1652, 6.2583, 6.3553, 6.5618, 6.7871, 7.0344, 7.3073, 7.6107},
1255 {1.7, 6.4686, 6.5657, 6.6668, 6.8823, 7.1175, 7.3757, 7.6609, 7.9782},
1256 {2.0, 6.8577, 6.9600, 7.0666, 7.2937, 7.5418, 7.8143, 8.1156, 8.4510},
1257 {3.0, 7.7981, 7.9134, 8.0336, 8.2901, 8.5708, 8.8796, 9.2214, 9.6027},
1258 {5.0, 8.8978, 9.0297, 9.1673, 9.4612, 9.7834, 10.1384, 10.5323, 10.9722},
1259 {7.0, 9.4819, 9.6248, 9.7739, 10.0926, 10.4423, 10.8282, 11.2565, 11.7356}
1260 };
1261
1262 const G4double bll1[28][10] = {
1263 {0.005, 3.6324E-5, 4.0609E-5, 4.5430E-5, 5.6969E-5, 7.1625E-5, 9.0279E-5, 1.1407E-4, 1.2834E-4, 1.4447E-4},
1264 {0.007, 1.8110E-4, 2.0001E-4, 2.2099E-4, 2.7006E-4, 3.3049E-4, 4.0498E-4, 4.9688E-4, 5.5061E-4, 6.1032E-4},
1265 {0.01, 8.6524E-4, 9.4223E-4, 1.0262E-3, 1.2178E-3, 1.4459E-3, 1.7174E-3, 2.0405E-3, 2.2245E-3, 2.4252E-3},
1266 {0.015, 4.2293E-3, 4.5314E-3, 4.8551E-3, 5.5731E-3, 6.3968E-3, 7.3414E-3, 8.4242E-3, 9.0236E-3, 9.6652E-3},
1267 {0.02, 1.1485E-2, 1.2172E-2, 1.2900E-2, 1.4486E-2, 1.6264E-2, 1.8256E-2, 2.0487E-2, 2.1702E-2, 2.2989E-2},
1268 {0.03, 3.9471E-2, 4.1270E-2, 4.3149E-2, 4.7163E-2, 5.1543E-2, 5.6423E-2, 6.1540E-2, 6.4326E-2, 6.7237E-2},
1269 {0.04, 8.4454E-2, 8.7599E-2, 9.0860E-2, 9.7747E-2, 1.0516E-1, 1.1313E-1, 1.2171E-1, 1.2625E-1, 1.3096E-1},
1270 {0.05, 1.4339E-1, 1.4795E-1, 1.5266E-1, 1.6253E-1, 1.7306E-1, 1.8430E-1, 1.9630E-1, 2.0261E-1, 2.0924E-1},
1271 {0.06, 2.1304E-1, 2.1899E-1, 2.2512E-1, 2.3794E-1, 2.5153E-1, 2.6596E-1, 2.8130E-1, 2.8934E-1, 2.9763E-1},
1272 {0.08, 3.7382E-1, 3.8241E-1, 3.9122E-1, 4.0955E-1, 4.2888E-1, 4.4928E-1, 4.7086E-1, 4.8212E-1, 4.9371E-1},
1273 {0.1, 5.5056E-1, 5.6151E-1, 5.7273E-1, 5.9601E-1, 6.2049E-1, 6.4627E-1, 6.7346E-1, 6.8762E-1, 7.0218E-1},
1274 {0.15, 1.0066, 1.0224, 1.0386, 1.0721, 1.1073, 1.1443, 1.1832, 1.2035, 1.2243},
1275 {0.2, 1.4376, 1.4572, 1.4773, 1.5188, 1.5624, 1.6083, 1.6566, 1.6817, 1.7076},
1276 {0.3, 2.1712, 2.1964, 2.2223, 2.2758, 2.3322, 2.3915, 2.4542, 2.4869, 2.5205},
1277 {0.4, 2.7500, 2.7793, 2.8094, 2.8719, 2.9377, 3.0072, 3.0807, 3.1192, 3.1587},
1278 {0.5, 3.2033, 3.2359, 3.2693, 3.3389, 3.4122, 3.4898, 3.5721, 3.6151, 3.6595},
1279 {0.6, 3.6038, 3.6391, 3.6753, 3.7506, 3.8303, 3.9146, 4.0042, 4.0511, 4.0995},
1280 {0.7, 3.9106, 3.9482, 3.9867, 4.0670, 4.1520, 4.2421, 4.3380, 4.3882, 4.4401},
1281 {0.8, 4.1790, 4.2185, 4.2590, 4.3437, 4.4333, 4.5285, 4.6298, 4.6830, 4.7380},
1282 {1.0, 4.6344, 4.6772, 4.7212, 4.8131, 4.9106, 5.0144, 5.1250, 5.1831, 5.2432},
1283 {1.2, 4.9787, 5.0242, 5.0711, 5.1689, 5.2729, 5.3837, 5.5050, 5.5642, 5.6287},
1284 {1.4, 5.2688, 5.3166, 5.3658, 5.4687, 5.5782, 5.6950, 5.8198, 5.8855, 5.9554},
1285 {1.5, 5.3966, 5.4454, 5.4957, 5.6009, 5.7128, 5.8323, 5.9601, 6.0274, 6.0972},
1286 {1.7, 5.6255, 5.6762, 5.7284, 5.8377, 5.9541, 6.0785, 6.2116, 6.2818, 6.3546},
1287 {2.0, 5.9170, 5.9701, 6.0248, 6.1395, 6.2618, 6.3925, 6.5327, 6.6066, 6.6833},
1288 {3.0, 6.6210, 6.6801, 6.7411, 6.8692, 7.0062, 7.1529, 7.3107, 7.3941, 7.4807},
1289 {5.0, 7.4620, 7.5288, 7.5977, 7.7428, 7.8982, 8.0653, 8.2454, 8.3409, 8.4402},
1290 {7.0, 7.7362, 7.8079, 7.8821, 8.0383, 8.2061, 8.3866, 8.5816, 8.6850, 8.7927}
1291 };
1292
1293 const G4double bll2[28][10] = {
1294 {0.005, 1.8339E-4, 2.3330E-4, 2.9738E-4, 3.7977E-4, 4.2945E-4, 4.8582E-4, 6.2244E-4, 7.9858E-4, 1.0258E-3},
1295 {0.007, 7.5042E-4, 9.2355E-4, 1.1375E-3, 1.4021E-3, 1.5570E-3, 1.7292E-3, 2.1335E-3, 2.6335E-3, 3.2515E-3},
1296 {0.01, 2.8829E-3, 3.4275E-3, 4.0758E-3, 4.8457E-3, 5.2839E-3, 5.7617E-3, 6.8504E-3, 8.1442E-3, 9.6816E-3},
1297 {0.015, 1.1087E-2, 1.2716E-2, 1.4581E-2, 1.6717E-2, 1.7898E-2, 1.9163E-2, 2.1964E-2, 2.5173E-2, 2.8851E-2},
1298 {0.02, 2.5786E-2, 2.8922E-2, 3.2435E-2, 3.6371E-2, 3.8514E-2, 4.0784E-2, 4.5733E-2, 5.1288E-2, 5.7531E-2},
1299 {0.03, 7.3461E-2, 8.0264E-2, 8.7705E-2, 9.5852E-2, 1.0021E-1, 1.0478E-1, 1.1458E-1, 1.2535E-1, 1.3721E-1},
1300 {0.04, 1.4094E-1, 1.5172E-1, 1.6336E-1, 1.7596E-1, 1.8265E-1, 1.8962E-1, 2.0445E-1, 2.2058E-1, 2.3818E-1},
1301 {0.05, 2.2289E-1, 2.3762E-1, 2.5344E-1, 2.7045E-1, 2.7944E-1, 2.8877E-1, 3.0855E-1, 3.2995E-1, 3.5318E-1},
1302 {0.06, 3.1503E-1, 3.3361E-1, 3.5346E-1, 3.7473E-1, 3.8594E-1, 3.9756E-1, 4.2212E-1, 4.4861E-1, 4.7727E-1},
1303 {0.08, 5.1793E-1, 5.4368E-1, 5.7109E-1, 6.0032E-1, 6.1569E-1, 6.3159E-1, 6.6512E-1, 7.0119E-1, 7.4012E-1},
1304 {0.1, 7.3258E-1, 7.6481E-1, 7.9907E-1, 8.3556E-1, 8.5472E-1, 8.7454E-1, 9.1630E-1, 9.6119E-1, 1.0096},
1305 {0.15, 1.2677, 1.3137, 1.3626, 1.4147, 1.4421, 1.4703, 1.5300, 1.5942, 1.6636},
1306 {0.2, 1.7615, 1.8188, 1.8797, 1.9446, 1.9788, 2.0142, 2.0889, 2.1694, 2.2567},
1307 {0.3, 2.5909, 2.6658, 2.7457, 2.8312, 2.8762, 2.9231, 3.0222, 3.1295, 3.2463},
1308 {0.4, 3.2417, 3.3302, 3.4249, 3.5266, 3.5803, 3.6361, 3.7546, 3.8835, 4.0242},
1309 {0.5, 3.7527, 3.8523, 3.9591, 4.0741, 4.1350, 4.1983, 4.3330, 4.4799, 4.6408},
1310 {0.6, 4.2013, 4.3103, 4.4274, 4.5537, 4.6206, 4.6904, 4.8390, 5.0013, 5.1796},
1311 {0.7, 4.5493, 4.6664, 4.7925, 4.9286, 5.0009, 5.0762, 5.2370, 5.4129, 5.6066},
1312 {0.8, 4.8537, 4.9780, 5.1119, 5.2568, 5.3338, 5.4141, 5.5857, 5.7738, 5.9811},
1313 {1.0, 5.3701, 5.5066, 5.6540, 5.8138, 5.8989, 5.9878, 6.1780, 6.3870, 6.6179},
1314 {1.2, 5.7648, 5.9114, 6.0701, 6.2424, 6.3343, 6.4303, 6.6361, 6.8626, 7.1137},
1315 {1.4, 6.0976, 6.2530, 6.4214, 6.6044, 6.7021, 6.8043, 7.0237, 7.2655, 7.5338},
1316 {1.5, 6.2447, 6.4041, 6.5768, 6.7647, 6.8650, 6.9700, 7.1954, 7.4442, 7.7203},
1317 {1.7, 6.5087, 6.6752, 6.8558, 7.0526, 7.1578, 7.2679, 7.5045, 7.7660, 8.0565},
1318 {2.0, 6.8458, 7.0218, 7.2129, 7.4213, 7.5328, 7.6496, 7.9010, 8.1791, 8.4886},
1319 {3.0, 7.6647, 7.8644, 8.0819, 8.3189, 8.4475, 8.5814, 8.8702, 9.1908, 9.5488},
1320 {5.0, 8.6515, 8.8816, 9.1330, 9.4090, 9.5572, 9.7132, 10.0504, 10.4259, 10.8466},
1321 {7.0, 9.0221, 9.2724, 9.5464, 9.8477, 10.0099, 10.1805, 10.5499, 10.9622, 11.4250}
1322 };
1323
1324 const G4double bll3[28][9] = {
1325 {0.005, 1.3190E-3, 1.4961E-3, 1.6974E-3, 2.1858E-3, 2.8163E-3, 3.6302E-3, 4.6814E-3, 6.0395E-3},
1326 {0.007, 4.0158E-3, 4.4623E-3, 4.9592E-3, 6.1257E-3, 7.5675E-3, 9.3502E-3, 1.1556E-2, 1.4290E-2},
1327 {0.01, 1.1509E-2, 1.2548E-2, 1.3681E-2, 1.6263E-2, 1.9336E-2, 2.2999E-2, 2.7370E-2, 3.2603E-2},
1328 {0.015, 3.3070E-2, 3.5408E-2, 3.7914E-2, 4.3483E-2, 4.9898E-2, 5.7304E-2, 6.5884E-2, 7.5861E-2},
1329 {0.02, 6.4555E-2, 6.8394E-2, 7.2472E-2, 8.1413E-2, 9.1539E-2, 1.0304E-1, 1.1617E-1, 1.3121E-1},
1330 {0.03, 1.5030E-1, 1.5101E-1, 1.5844E-1, 1.7451E-1, 1.9244E-1, 2.1244E-1, 2.3496E-1, 2.6044E-1},
1331 {0.04, 2.5743E-1, 2.6774E-1, 2.7855E-1, 3.0180E-1, 3.2751E-1, 3.5608E-1, 3.8803E-1, 4.2401E-1},
1332 {0.05, 3.7846E-1, 3.9195E-1, 4.0607E-1, 4.3635E-1, 4.6973E-1, 5.0672E-1, 5.4798E-1, 5.9436E-1},
1333 {0.06, 5.0839E-1, 5.2497E-1, 5.4230E-1, 5.7943E-1, 6.2028E-1, 6.6549E-1, 7.1589E-1, 7.7252E-1},
1334 {0.08, 7.8230E-1, 8.0474E-1, 8.2818E-1, 8.7836E-1, 9.3355E-1, 9.9462E-1, 1.0627, 1.1394},
1335 {0.1, 1.0621, 1.0900, 1.1192, 1.1816, 1.2503, 1.3265, 1.4116, 1.5076},
1336 {0.15, 1.7389, 1.7790, 1.8210, 1.9112, 2.0108, 2.1217, 2.2462, 2.3876},
1337 {0.2, 2.3516, 2.4024, 2.4556, 2.5701, 2.6971, 2.8391, 2.9994, 3.1822},
1338 {0.3, 3.3741, 3.4427, 3.5148, 3.6706, 3.8445, 4.0404, 4.2631, 4.5193},
1339 {0.4, 4.1788, 4.2620, 4.3496, 4.5398, 4.7530, 4.9944, 5.2703, 5.5895},
1340 {0.5, 4.8180, 4.9137, 5.0146, 5.2341, 5.4811, 5.7618, 6.0840, 6.4583},
1341 {0.6, 5.3765, 5.4830, 5.5954, 5.8406, 6.1173, 6.4326, 6.7958, 7.2191},
1342 {0.7, 5.8208, 5.9369, 6.0596, 6.3275, 6.6306, 6.9769, 7.3767, 7.8440},
1343 {0.8, 6.2109, 6.3355, 6.4674, 6.7558, 7.0827, 7.4570, 7.8900, 8.3972},
1344 {1.0, 6.8747, 7.0142, 7.1621, 7.4861, 7.8546, 8.2778, 8.7690, 9.3464},
1345 {1.2, 7.3933, 7.5454, 7.7068, 8.0612, 8.4652, 8.9302, 9.4713, 10.1090},
1346 {1.4, 7.8331, 7.9967, 8.1694, 8.5502, 8.9851, 9.4866, 10.0713, 10.7619},
1347 {1.5, 8.0286, 8.1967, 8.3753, 8.7681, 9.2181, 9.7352, 10.3399, 11.0546},
1348 {1.7, 8.3813, 8.5585, 8.7469, 9.1618, 9.6367, 10.1856, 10.8270, 11.5863},
1349 {2.0, 8.8352, 9.0245, 9.2260, 9.6701, 10.1793, 10.7688, 11.4590, 12.2775},
1350 {3.0, 9.9511, 10.1714, 10.4062, 10.9254, 11.5229, 12.2172, 13.0332, 14.0048},
1351 {5.0, 11.3211, 11.5818, 11.8601, 12.4771, 13.1898, 14.0213, 15.0024, 16.1752},
1352 {7.0, 11.9480, 12.2357, 12.5432, 13.2260, 14.0164, 14.9404, 16.0330, 17.3420}
1353 };
1354
1355
1356 G4double b, bs;
1357 for(i=0; i<nEtaK; i++) {
1358
1359 G4double et = eta[i];
1360 G4double loget = std::log(et);
1361 Eta[i] = et;
1362 // G4cout << "### eta[" << i << "]= " << et << " KShell: tet= " << TheK[0]<<" - " <<TheK[nK-1]<< G4endl;
1363
1364 for(j=0; j<nK; j++) {
1365
1366 if(j < 10) b = bk2[i][10-j];
1367 else b = bk1[i][20-j];
1368
1369 CK[j][i] = SK[j]*loget + TK[j] - b;
1370 //G4cout << " " << CK[j][i];
1371 if(i == nEtaK-1) ZK[j] = et*(et*et*CK[j][i] - et*UK[j] - VK[j]);
1372 }
1373 //G4cout << G4endl;
1374 if(i < nEtaL) {
1375 //G4cout << " LShell:" <<G4endl;
1376 for(j=0; j<nL; j++) {
1377
1378 if(j < 8) {
1379 bs = bls3[i][8-j];
1380 b = bll3[i][8-j];
1381 } else if(j < 17) {
1382 bs = bls2[i][17-j];
1383 b = bll2[i][17-j];
1384 } else {
1385 bs = bls1[i][26-j];
1386 b = bll1[i][26-j];
1387 }
1388 G4double c = SL[j]*loget + TL[j];
1389 CL[j][i] = c - bs - 3.0*b;
1390 //G4cout << " " << CL[j][i];
1391 if(i == nEtaL-1) VL[j] = et*(et*CL[j][i] - UL[j]);
1392 }
1393 //G4cout << G4endl;
1394 }
1395 }
1396 const G4double hm[53] = {
1397 12.0, 12.0, 12.0, 12.0, 11.9, 11.7, 11.5, 11.2, 10.8, 10.4,
1398 10.0, 9.51, 8.97, 8.52, 8.03, 7.46, 6.95, 6.53, 6.18, 5.87,
1399 5.61, 5.39, 5.19, 5.01, 4.86, 4.72, 4.62, 4.53, 4.44, 4.38,
1400 4.32, 4.26, 4.20, 4.15, 4.1, 4.04, 4.00, 3.95, 3.93, 3.91,
1401 3.90, 3.89, 3.89, 3.88, 3.88, 3.88, 3.88, 3.88, 3.89, 3.89,
1402 3.90, 3.92, 3.93 };
1403 const G4double hn[31] = {
1404 75.5, 61.9, 52.2, 45.1, 39.6, 35.4, 31.9, 29.1, 27.2, 25.8,
1405 24.5, 23.6, 22.7, 22.0, 21.4, 20.9, 20.5, 20.2, 19.9, 19.7,
1406 19.5, 19.3, 19.2, 19.1, 18.4, 18.8, 18.7, 18.6, 18.5, 18.4,
1407 18.2
1408 };
1409 for(i=0; i<53; ++i) {HM[i] = hm[i];}
1410 for(i=0; i<31; ++i) {HN[i] = hn[i];}
1411
1412 const G4double mm[93] = {
1413 0.0,
1414 /*
1415 -0.0001577, 5.396e-05, 0.0004194, -0.0001969, -0.0003447, -0.0001904, 9.612e-05, 4.16e-05, 0.0001899, 0.0001322,
1416 0.0001485, 4.698e-05, -7.726e-05, -6.448e-05, 3.269e-05, -0.0001293, 0.0001483, -8.559e-05, 4.018e-05, 6.239e-05,
1417 4.447e-05, 2.212e-05, -5.568e-06, 3.782e-05, 4.398e-05, 8.942e-05, 0.0002202, 0.0001357, 0.0001195, 0.0001812,
1418 0.0002365, 4.508e-05, 0.0001629, 7.75e-05, 0.0001886, 0.0001601, 0.00015, 5.679e-05, 5.956e-06, -7.309e-05,
1419 -0.0001144, -8.585e-05, -0.0001051, -8.209e-05, -5.871e-05, -3.744e-05, -6.707e-05, -9.199e-06, 1.181e-05, 2.252e-05,
1420 1.051e-05, 7.63e-05, 1.71e-05, 1.705e-05, 1.561e-05, 8.987e-06, 4.957e-06, -1.473e-05, -1.902e-05, -1.491e-05,
1421 -9.891e-08, 2.584e-05, 3.696e-05, 8.651e-06, -3.601e-06, 1.647e-05, 4.536e-05, 9.954e-05, 8.922e-05, 0.0001026,
1422 4.094e-05, 3.788e-05, 1.578e-05, 2.731e-05, -6.035e-05, -9.112e-05, -8.846e-05, -0.0001361, -0.0001959, -0.0001883,
1423 -0.0002854, -0.0004129, -0.0004611, -0.0005523, -0.0005869, -0.0005008, -0.000659, -0.0007045, -0.0007322, -0.0008374,
1424 -0.0008731, -0.0009327,
1425
1426 -0.0003427, -4.685e-05, 0.0007304, -0.0003158, -0.0004104, -0.001133, -0.0007987, -0.0001528, 8.976e-05, 8.63e-05,
1427 1.764e-05, -0.000136, -0.0002895, -0.0002618, -0.0002878, -0.0003813, 1.417e-05, -0.0004216, -0.0003859, -0.0001028,
1428 -0.0001617, -0.0002141, -0.0002178, 5.59e-05, 9.964e-07, 7.528e-05, 0.0002261, 4.241e-05, 0.0005255, 0.0002139,
1429 -5.821e-05, -2.661e-05, 0.0001039, 3.359e-05, 0.0004229, -0.0004872, 0.0001374, -2.79e-05, -1.319e-05, -0.0001077,
1430 -0.0001923, -0.0001189, -0.0001091, -8.486e-05, 7.506e-05, 0.0001053, 0.0004596, 0.000177, 4.805e-05, 3.97e-05,
1431 0.0004008, 0.0002194, 0.0001639, 0.0003285, 0.000219, 0.0001339, 6.323e-05, 2.013e-05, 2.568e-05, 4.346e-05,
1432 8.455e-05, 8.785e-05, 0.0001393, 9.907e-05, 0.0001003, 0.0001508, 0.0002189, 0.0003885, 0.0003603, 0.0003839,
1433 0.0003321, 0.0002207, 0.0001627, 0.0002282, 0.0002177, 0.0002156, 0.0002855, 0.0002361, 0.0007735, 0.0001157,
1434 -0.0001214, -0.0002944, -0.0003193, -0.0004025, -0.0002436, -7.573e-05, -0.0003741, -0.0003678, -0.0004839, -0.0003934,
1435 -0.0005817, -0.000726,
1436
1437 -118, 40.37, 313.8, -147.3, -257.9, -142.4, 71.91, 31.12, 142.1, 98.92,
1438 112.3, 41.36, -47.15, -17.84, 46.46, -66.91, 141.3, -19.96, 84.66, 110.2,
1439 113.2, 108.7, 92.89, 127.3, 139.3, 187, 288.5, 233.4, 225.3, 284.6,
1440 344.5, 246.2, 359.7, 324.1, 455, 457.1, 481, 459.8, 447.9, 407.5,
1441 399.7, 457.7, 470.4, 511.8, 545.9, 581, 574.1, 638.6, 685.6, 719.6,
1442 740.8, 817.2, 808.3, 839.7, 866.2, 873.2, 879.3, 886.3, 902, 912.7,
1443 927.7, 942.1, 967.1, 962.2, 961.8, 993.4, 1006, 1060, 1046, 1061,
1444 1036, 1060, 1062, 1084, 1048, 1063, 1098, 1093, 1089, 1117,
1445 1085, 1044, 1033, 1027, 1051, 1150, 1064, 1078, 1090, 1140,
1446 1119, 1097,
1447*/
1448
1449 -511.3, -69.91, 1090, -471.2, -612.4, -1690, -1192, -228, 133.9, 128.8,
1450 28.71, -190.6, -408.7, -326.6, -378.5, -507.3, 93.63, -531, -459.2, -21.83,
1451 -74.93, -121.7, -122.8, 285.2, 217.4, 366.3, 598.7, 341.8, 1078, 634.2,
1452 280.5, 430.7, 663.5, 596.4, 1307, 6.814, 992.6, 887, 967.6, 868,
1453 775.9, 1034, 1050, 1204, 1458, 1541, 2186, 1806, 1676, 1718,
1454 2416, 2204, 2197, 2496, 2371, 2370, 2330, 2318, 2379, 2434,
1455 2513, 2533, 2650, 2650, 2684, 2788, 2868, 3157, 3150, 3196,
1456 3162, 3055, 3008, 3133, 3176, 3212, 3356, 3324, 4170, 3320,
1457 3109, 2941, 2973, 2858, 3088, 3447, 3134, 3121, 3086, 3199,
1458 3115, 2979,
1459
1460 };
1461
1462 const G4double ntau[93] = {
1463 0.0,
1464 -251.1, 512.8, 1724, 649, 658.8, 594.1, 946.6, 969.2, 1154, 997.8,
1465 939.3, 775.5, 619.9, 848.3, 973.4, 1035, 1252, 698.8, 1043, 1080,
1466 957, 885.6, 772.1, 847.1, 799.7, 901.7, 1042, 880.8, 857.7, 968,
1467 850.4, 482.8, 781.4, 685, 1093, 847.4, 824.4, 751.5, 638, 489.2,
1468 266.5, 371, 319.2, 356.6, 424.9, 405, 390.8, 610.6, 404.3, 444.6,
1469 439, 579, 466.4, 520.5, 551.1, 441.6, 328.8, 264.3, 260.9, 274,
1470 264.8, 235.1, 290, 196, 178.2, 248.4, 224.3, 268.2, 239.5, 253.9,
1471 219.2, 172.7, 169.5, 199, 53.35, 65.78, 120.2, 77.13, 32.76, 45.53,
1472 -148, -331.4, -386.4, -430.8, -361.1, -108.3, -382.4, -400.1, -458.4, -430.8,
1473 -536.9, -627.6,
1474 };
1475
1476 for(i=0; i<93; i++) {
1477 MSH[i] = mm[i];
1478 TAU[i] = ntau[i];
1479 }
1480 const G4double coseb[14] = {0.0,0.05,0.1,0.15,0.2,0.3,0.4,0.5,0.6,0.8,
1481 1.0,1.2,1.5,2.0};
1482 const G4double cosxi[14] = {1.0000, 0.9905, 0.9631, 0.9208, 0.8680,
1483 0.7478, 0.6303, 0.5290, 0.4471, 0.3323,
1484 0.2610, 0.2145, 0.1696, 0.1261};
1485 for(i=0; i<14; i++) {
1486 COSEB[i] = coseb[i];
1487 COSXI[i] = cosxi[i];
1488 }
1489
1490 for(i=1; i<100; i++) {
1491 Z23[i] = std::pow(G4double(i),0.23);
1492 }
1493}
1494
1495//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
1496
Note: See TracBrowser for help on using the repository browser.