66 extern "C" {
void dlsqpm_ (
int*,
double*,
double*,
int*,
double*,
double*,
int*);}
80 for (
G4int ig=0; ig<maxigp; ig++) {
81 for (
G4int j=0; j<10; j++) {
118 for (
G4int i=0; i<maxArrayp; i++) {
120 lnib[i] = std::log(ib[i]);
121 if (bsite[i] < 1.0E-10) lnbsite[i] = -23.02585093;
122 else lnbsite[i] = std::log(bsite[i]);
124 if (bsite[i] >= limit1) pt1 = i;
126 else if (pt2 == -1) {
127 if (bsite[i] >= limit2) pt2 = i;
129 else if (pt3 == -1) {
130 if (bsite[i] >= limit3) pt3 = i;
132 else if (pt4 == -1) {
133 if (bsite[i] >= limit4) pt4 = i;
141 G4int deltan = pt2 - pt1;
146 dlsqpm_ (&deltan,&lnbsite[pt1],&lnib[pt1],&m,&a1[0],&sd,&ifail);
154 dlsqpm_ (&deltan,&lnbsite[1],&lnib[1],&m,&a1[0],&sd,&ifail);
163 if (std::abs(m2-m1) > 1.0E-10) {
164 p[4] = exp(-(c2-c1)/(m2-m1));
177 for (
G4int ig = 120; ig < 1000; ig++) {
181 for (
G4int i = pt2; i<pt3; i++) {
183 G4double B = p[2] * std::pow(f,p[3]) / std::pow((1.0-std::pow(f,GAMMA)),EXPON);
184 G4double epsilon = std::abs((ib[i]-B)/ib[i]);
185 if (epsilon > DELTA) DELTA = epsilon;
199 for (
G4int i = pt3; i<pt4; i++) {
200 phi[i] = -std::log(1.0 - bsite[i]);
206 dlsqpm_ (&deltan,&phi[pt3],&ib[pt3],&m,&a2[0],&sd,&ifail);
227 ig =
G4int(2.0*std::log10(ppn)) - 2;
230 else if (ig > 23) ig = 23;
233 if (f <= paramn[ig][4]) {
234 v = paramn[ig][0] * std::pow(f,paramn[ig][1]);
236 else if (f <= limit3) {
237 v = paramn[ig][2] * std::pow(f,paramn[ig][3]) /
238 std::pow((1.0 - std::pow(f,paramn[ig][5])),paramn[ig][3]/paramn[ig][5]);
245 paramn[ig][9]*std::pow(l,3.0);
262 ig =
G4int(2.0*std::log10(ppn)) - 2;
265 else if (ig > 23) ig = 23;
268 if (f <= paramm[ig][4]) {
269 v = paramm[ig][0] * std::pow(f,paramm[ig][1]);
271 else if (f <= limit3) {
272 v = paramm[ig][2] * std::pow(f,paramm[ig][3]) /
273 std::pow((1.0 - std::pow(f,paramm[ig][5])),paramm[ig][3]/paramm[ig][5]);
280 paramn[ig][9]*std::pow(l,3.0);