41 #define SIMPLE_UOP(OPER) \
42 G4ErrorMatrixIter a=m.begin(); \
43 G4ErrorMatrixIter e=m.end(); \
44 for(;a!=e; a++) (*a) OPER t;
46 #define SIMPLE_BOP(OPER) \
47 G4ErrorMatrixIter a=m.begin(); \
48 G4ErrorMatrixConstIter b=mat2.m.begin(); \
49 G4ErrorMatrixIter e=m.end(); \
50 for(;a!=e; a++, b++) (*a) OPER (*b);
52 #define SIMPLE_TOP(OPER) \
53 G4ErrorMatrixConstIter a=mat1.m.begin(); \
54 G4ErrorMatrixConstIter b=mat2.m.begin(); \
55 G4ErrorMatrixIter t=mret.m.begin(); \
56 G4ErrorMatrixConstIter e=mat1.m.end(); \
57 for(;a!=e; a++, b++, t++) (*t) = (*a) OPER (*b);
61 #define CHK_DIM_2(r1,r2,c1,c2,fun) \
62 if (r1!=r2 || c1!=c2) { \
63 G4ErrorMatrix::error("Range error in Matrix function " #fun "(1)."); \
66 #define CHK_DIM_1(c1,r2,fun) \
68 G4ErrorMatrix::error("Range error in Matrix function " #fun "(2)."); \
74 :
m(p*q), nrow(p), ncol(q)
80 :
m(p*q), nrow(p), ncol(q)
97 for( ; a<
b; a+=(ncol+1)) *a = 1.0;
99 error(
"Invalid dimension in G4ErrorMatrix(G4int,G4int,1).");
104 error(
"G4ErrorMatrix: initialization must be either 0 or 1.");
117 :
m(mat1.size), nrow(mat1.nrow), ncol(mat1.ncol), size(mat1.size)
123 :
m(mat1.nrow*mat1.nrow), nrow(mat1.nrow), ncol(mat1.nrow)
139 if(j!=
k) *mkj = *sjk;
159 {
error(
"G4ErrorMatrix::sub: Index out of range"); }
180 {
error(
"G4ErrorMatrix::sub: Index out of range"); }
220 for(;a<
e; a++, b++) (*b) = -(*a);
282 for (
G4int j=0; j<m1cols; j++)
292 (*pt) += temp * (*pb);
333 if (&mat1 ==
this) {
return *
this; }
357 if(os.flags() & std::ios::fixed)
358 { width = os.precision()+3; }
360 { width = os.precision()+7; }
366 os << q(irow,icol) <<
" ";
380 for (; pme <
pl; pme++, pt+=
nrow)
382 if (pt >= ptl) { pt -= (
size-1); }
398 *(b++) = (*
f)(*(a++), ir, ic);
406 {
error(
"dfinv_matrix: G4ErrorMatrix is not NxN"); }
408 if (n==1) {
return 0; }
417 *m21 = -(*m22) * (*m11) * (*m21);
430 for (
G4int j=1;j<=im2;j++)
440 s31 += (*mkj) * (*(mik++));
441 s32 += (*(mjkp++)) * (*mkpi);
445 *mij = -(*mii) * (((*(mij-
n)))*( (*(mii-1)))+(s31));
451 *(mii-1) = -(*mii) * (*mimim) * (*(mii-1));
452 *(mimim+1) = -(*(mimim+1));
473 s33 += (*mikj) * (*(miik++));
485 s34 += *mikij * (*(miik++));
494 if (nxch==0)
return 0;
495 for (
G4int mq=1;mq<=nxch;mq++)
520 error(
"dfact_matrix: G4ErrorMatrix is not NxN");
537 G4int jrange = 0, jover = 1, junder = -1;
547 p = (std::fabs(*mjj));
550 for (
G4int i=j+1;i<=
n;i++)
552 q = (std::fabs(*(mij)));
581 ir[nxch] = (((j)<<12)+(
k));
595 t = (std::fabs(det));
599 if (jfail == jrange) jfail = junder;
604 if (jfail==jrange) jfail = jover;
621 for (
G4int i=1;i<j;i++)
623 s11 += (*mik) * (*(mji++));
624 s12 += (*mijp) * (*(mki++));
629 *(mjk++) = -s11 * (*mjj);
630 *(mkjp) = -(((*(mjj+1)))*((*(mkjp-1)))+(s12));
638 if (nxch%2==1) det = -det;
639 if (jfail !=jrange) det = 0.0;
647 {
error(
"G4ErrorMatrix::invert: G4ErrorMatrix is not NxN"); }
652 if (
ncol > max_array)
656 ir =
new G4int [max_array+1];
664 G4double c11,c12,c13,c21,c22,c23,c31,c32,c33;
666 c11 = (*(
m.begin()+4)) * (*(
m.begin()+8))
667 - (*(
m.begin()+5)) * (*(
m.begin()+7));
668 c12 = (*(
m.begin()+5)) * (*(
m.begin()+6))
669 - (*(
m.begin()+3)) * (*(
m.begin()+8));
670 c13 = (*(
m.begin()+3)) * (*(
m.begin()+7))
671 - (*(
m.begin()+4)) * (*(
m.begin()+6));
672 c21 = (*(
m.begin()+7)) * (*(
m.begin()+2))
673 - (*(
m.begin()+8)) * (*(
m.begin()+1));
674 c22 = (*(
m.begin()+8)) * (*
m.begin())
675 - (*(
m.begin()+6)) * (*(
m.begin()+2));
676 c23 = (*(
m.begin()+6)) * (*(
m.begin()+1))
677 - (*(
m.begin()+7)) * (*
m.begin());
678 c31 = (*(
m.begin()+1)) * (*(
m.begin()+5))
679 - (*(
m.begin()+2)) * (*(
m.begin()+4));
680 c32 = (*(
m.begin()+2)) * (*(
m.begin()+3))
681 - (*
m.begin()) * (*(
m.begin()+5));
682 c33 = (*
m.begin()) * (*(
m.begin()+4))
683 - (*(
m.begin()+1)) * (*(
m.begin()+3));
684 t1 = std::fabs(*
m.begin());
685 t2 = std::fabs(*(
m.begin()+3));
686 t3 = std::fabs(*(
m.begin()+6));
691 temp = *(
m.begin()+6);
692 det = c23*c12-c22*c13;
697 det = c22*c33-c23*c32;
702 temp = *(
m.begin()+6);
703 det = c23*c12-c22*c13;
707 temp = *(
m.begin()+3);
708 det = c13*c32-c12*c33;
731 det = (*
m.begin())*(*(
m.begin()+3)) - (*(
m.begin()+1))*(*(
m.begin()+2));
738 temp = ss*(*(
m.begin()+3));
739 *(
m.begin()+1) *= -ss;
740 *(
m.begin()+2) *= -ss;
741 *(
m.begin()+3) = ss*(*
m.begin());
746 if ((*(
m.begin()))==0)
751 *(
m.begin()) = 1.0/(*(
m.begin()));
780 {
error(
"G4ErrorMatrix::determinant: G4ErrorMatrix is not NxN"); }
781 if (
ncol > max_array)
785 ir =
new G4int [max_array+1];
808 G4Exception(
"G4ErrorMatrix::error()",
"GEANT4e-Error",
973 - m[
F01]*Det3_123_023
974 + m[
F02]*Det3_123_013
975 - m[
F03]*Det3_123_012;
986 m[
F00] = Det3_123_123 * oneOverDet;
987 m[
F01] = Det3_023_123 * mn1OverDet;
988 m[
F02] = Det3_013_123 * oneOverDet;
989 m[
F03] = Det3_012_123 * mn1OverDet;
991 m[
F10] = Det3_123_023 * mn1OverDet;
992 m[
F11] = Det3_023_023 * oneOverDet;
993 m[
F12] = Det3_013_023 * mn1OverDet;
994 m[
F13] = Det3_012_023 * oneOverDet;
996 m[
F20] = Det3_123_013 * oneOverDet;
997 m[
F21] = Det3_023_013 * mn1OverDet;
998 m[
F22] = Det3_013_013 * oneOverDet;
999 m[
F23] = Det3_012_013 * mn1OverDet;
1001 m[
F30] = Det3_123_012 * mn1OverDet;
1002 m[
F31] = Det3_023_012 * oneOverDet;
1003 m[
F32] = Det3_013_012 * mn1OverDet;
1004 m[
F33] = Det3_012_012 * oneOverDet;
1049 + m[
M12]*Det2_23_01;
1051 + m[
M13]*Det2_23_01;
1053 + m[
M14]*Det2_23_01;
1055 + m[
M13]*Det2_23_02;
1057 + m[
M14]*Det2_23_02;
1059 + m[
M14]*Det2_23_03;
1061 + m[
M13]*Det2_23_12;
1063 + m[
M14]*Det2_23_12;
1065 + m[
M14]*Det2_23_13;
1067 + m[
M14]*Det2_23_23;
1069 + m[
M12]*Det2_24_01;
1071 + m[
M13]*Det2_24_01;
1073 + m[
M14]*Det2_24_01;
1075 + m[
M13]*Det2_24_02;
1077 + m[
M14]*Det2_24_02;
1079 + m[
M14]*Det2_24_03;
1081 + m[
M13]*Det2_24_12;
1083 + m[
M14]*Det2_24_12;
1085 + m[
M14]*Det2_24_13;
1087 + m[
M14]*Det2_24_23;
1089 + m[
M12]*Det2_34_01;
1091 + m[
M13]*Det2_34_01;
1093 + m[
M14]*Det2_34_01;
1095 + m[
M13]*Det2_34_02;
1097 + m[
M14]*Det2_34_02;
1099 + m[
M14]*Det2_34_03;
1101 + m[
M13]*Det2_34_12;
1103 + m[
M14]*Det2_34_12;
1105 + m[
M14]*Det2_34_13;
1107 + m[
M14]*Det2_34_23;
1109 + m[
M22]*Det2_34_01;
1111 + m[
M23]*Det2_34_01;
1113 + m[
M24]*Det2_34_01;
1115 + m[
M23]*Det2_34_02;
1117 + m[
M24]*Det2_34_02;
1119 + m[
M24]*Det2_34_03;
1121 + m[
M23]*Det2_34_12;
1123 + m[
M24]*Det2_34_12;
1125 + m[
M24]*Det2_34_13;
1127 + m[
M24]*Det2_34_23;
1131 G4double Det4_0123_0123 = m[
M00]*Det3_123_123 - m[
M01]*Det3_123_023
1132 + m[
M02]*Det3_123_013 - m[
M03]*Det3_123_012;
1133 G4double Det4_0123_0124 = m[
M00]*Det3_123_124 - m[
M01]*Det3_123_024
1134 + m[
M02]*Det3_123_014 - m[
M04]*Det3_123_012;
1135 G4double Det4_0123_0134 = m[
M00]*Det3_123_134 - m[
M01]*Det3_123_034
1136 + m[
M03]*Det3_123_014 - m[
M04]*Det3_123_013;
1137 G4double Det4_0123_0234 = m[
M00]*Det3_123_234 - m[
M02]*Det3_123_034
1138 + m[
M03]*Det3_123_024 - m[
M04]*Det3_123_023;
1139 G4double Det4_0123_1234 = m[
M01]*Det3_123_234 - m[
M02]*Det3_123_134
1140 + m[
M03]*Det3_123_124 - m[
M04]*Det3_123_123;
1141 G4double Det4_0124_0123 = m[
M00]*Det3_124_123 - m[
M01]*Det3_124_023
1142 + m[
M02]*Det3_124_013 - m[
M03]*Det3_124_012;
1143 G4double Det4_0124_0124 = m[
M00]*Det3_124_124 - m[
M01]*Det3_124_024
1144 + m[
M02]*Det3_124_014 - m[
M04]*Det3_124_012;
1145 G4double Det4_0124_0134 = m[
M00]*Det3_124_134 - m[
M01]*Det3_124_034
1146 + m[
M03]*Det3_124_014 - m[
M04]*Det3_124_013;
1147 G4double Det4_0124_0234 = m[
M00]*Det3_124_234 - m[
M02]*Det3_124_034
1148 + m[
M03]*Det3_124_024 - m[
M04]*Det3_124_023;
1149 G4double Det4_0124_1234 = m[
M01]*Det3_124_234 - m[
M02]*Det3_124_134
1150 + m[
M03]*Det3_124_124 - m[
M04]*Det3_124_123;
1151 G4double Det4_0134_0123 = m[
M00]*Det3_134_123 - m[
M01]*Det3_134_023
1152 + m[
M02]*Det3_134_013 - m[
M03]*Det3_134_012;
1153 G4double Det4_0134_0124 = m[
M00]*Det3_134_124 - m[
M01]*Det3_134_024
1154 + m[
M02]*Det3_134_014 - m[
M04]*Det3_134_012;
1155 G4double Det4_0134_0134 = m[
M00]*Det3_134_134 - m[
M01]*Det3_134_034
1156 + m[
M03]*Det3_134_014 - m[
M04]*Det3_134_013;
1157 G4double Det4_0134_0234 = m[
M00]*Det3_134_234 - m[
M02]*Det3_134_034
1158 + m[
M03]*Det3_134_024 - m[
M04]*Det3_134_023;
1159 G4double Det4_0134_1234 = m[
M01]*Det3_134_234 - m[
M02]*Det3_134_134
1160 + m[
M03]*Det3_134_124 - m[
M04]*Det3_134_123;
1161 G4double Det4_0234_0123 = m[
M00]*Det3_234_123 - m[
M01]*Det3_234_023
1162 + m[
M02]*Det3_234_013 - m[
M03]*Det3_234_012;
1163 G4double Det4_0234_0124 = m[
M00]*Det3_234_124 - m[
M01]*Det3_234_024
1164 + m[
M02]*Det3_234_014 - m[
M04]*Det3_234_012;
1165 G4double Det4_0234_0134 = m[
M00]*Det3_234_134 - m[
M01]*Det3_234_034
1166 + m[
M03]*Det3_234_014 - m[
M04]*Det3_234_013;
1167 G4double Det4_0234_0234 = m[
M00]*Det3_234_234 - m[
M02]*Det3_234_034
1168 + m[
M03]*Det3_234_024 - m[
M04]*Det3_234_023;
1169 G4double Det4_0234_1234 = m[
M01]*Det3_234_234 - m[
M02]*Det3_234_134
1170 + m[
M03]*Det3_234_124 - m[
M04]*Det3_234_123;
1171 G4double Det4_1234_0123 = m[
M10]*Det3_234_123 - m[
M11]*Det3_234_023
1172 + m[
M12]*Det3_234_013 - m[
M13]*Det3_234_012;
1173 G4double Det4_1234_0124 = m[
M10]*Det3_234_124 - m[
M11]*Det3_234_024
1174 + m[
M12]*Det3_234_014 - m[
M14]*Det3_234_012;
1175 G4double Det4_1234_0134 = m[
M10]*Det3_234_134 - m[
M11]*Det3_234_034
1176 + m[
M13]*Det3_234_014 - m[
M14]*Det3_234_013;
1177 G4double Det4_1234_0234 = m[
M10]*Det3_234_234 - m[
M12]*Det3_234_034
1178 + m[
M13]*Det3_234_024 - m[
M14]*Det3_234_023;
1179 G4double Det4_1234_1234 = m[
M11]*Det3_234_234 - m[
M12]*Det3_234_134
1180 + m[
M13]*Det3_234_124 - m[
M14]*Det3_234_123;
1185 - m[
M01]*Det4_1234_0234
1186 + m[
M02]*Det4_1234_0134
1187 - m[
M03]*Det4_1234_0124
1188 + m[
M04]*Det4_1234_0123;
1197 G4double mn1OverDet = - oneOverDet;
1199 m[
M00] = Det4_1234_1234 * oneOverDet;
1200 m[
M01] = Det4_0234_1234 * mn1OverDet;
1201 m[
M02] = Det4_0134_1234 * oneOverDet;
1202 m[
M03] = Det4_0124_1234 * mn1OverDet;
1203 m[
M04] = Det4_0123_1234 * oneOverDet;
1205 m[
M10] = Det4_1234_0234 * mn1OverDet;
1206 m[
M11] = Det4_0234_0234 * oneOverDet;
1207 m[
M12] = Det4_0134_0234 * mn1OverDet;
1208 m[
M13] = Det4_0124_0234 * oneOverDet;
1209 m[
M14] = Det4_0123_0234 * mn1OverDet;
1211 m[
M20] = Det4_1234_0134 * oneOverDet;
1212 m[
M21] = Det4_0234_0134 * mn1OverDet;
1213 m[
M22] = Det4_0134_0134 * oneOverDet;
1214 m[
M23] = Det4_0124_0134 * mn1OverDet;
1215 m[
M24] = Det4_0123_0134 * oneOverDet;
1217 m[
M30] = Det4_1234_0124 * mn1OverDet;
1218 m[
M31] = Det4_0234_0124 * oneOverDet;
1219 m[
M32] = Det4_0134_0124 * mn1OverDet;
1220 m[
M33] = Det4_0124_0124 * oneOverDet;
1221 m[
M34] = Det4_0123_0124 * mn1OverDet;
1223 m[
M40] = Det4_1234_0123 * oneOverDet;
1224 m[
M41] = Det4_0234_0123 * mn1OverDet;
1225 m[
M42] = Det4_0134_0123 * oneOverDet;
1226 m[
M43] = Det4_0124_0123 * mn1OverDet;
1227 m[
M44] = Det4_0123_0123 * oneOverDet;
1287 + m[
A22]*Det2_34_01;
1289 + m[
A23]*Det2_34_01;
1291 + m[
A24]*Det2_34_01;
1293 + m[
A25]*Det2_34_01;
1295 + m[
A23]*Det2_34_02;
1297 + m[
A24]*Det2_34_02;
1299 + m[
A25]*Det2_34_02;
1301 + m[
A24]*Det2_34_03;
1303 + m[
A25]*Det2_34_03;
1305 + m[
A25]*Det2_34_04;
1307 + m[
A23]*Det2_34_12;
1309 + m[
A24]*Det2_34_12;
1311 + m[
A25]*Det2_34_12;
1313 + m[
A24]*Det2_34_13;
1315 + m[
A25]*Det2_34_13;
1317 + m[
A25]*Det2_34_14;
1319 + m[
A24]*Det2_34_23;
1321 + m[
A25]*Det2_34_23;
1323 + m[
A25]*Det2_34_24;
1325 + m[
A25]*Det2_34_34;
1327 + m[
A22]*Det2_35_01;
1329 + m[
A23]*Det2_35_01;
1331 + m[
A24]*Det2_35_01;
1333 + m[
A25]*Det2_35_01;
1335 + m[
A23]*Det2_35_02;
1337 + m[
A24]*Det2_35_02;
1339 + m[
A25]*Det2_35_02;
1341 + m[
A24]*Det2_35_03;
1343 + m[
A25]*Det2_35_03;
1345 + m[
A25]*Det2_35_04;
1347 + m[
A23]*Det2_35_12;
1349 + m[
A24]*Det2_35_12;
1351 + m[
A25]*Det2_35_12;
1353 + m[
A24]*Det2_35_13;
1355 + m[
A25]*Det2_35_13;
1357 + m[
A25]*Det2_35_14;
1359 + m[
A24]*Det2_35_23;
1361 + m[
A25]*Det2_35_23;
1363 + m[
A25]*Det2_35_24;
1365 + m[
A25]*Det2_35_34;
1367 + m[
A22]*Det2_45_01;
1369 + m[
A23]*Det2_45_01;
1371 + m[
A24]*Det2_45_01;
1373 + m[
A25]*Det2_45_01;
1375 + m[
A23]*Det2_45_02;
1377 + m[
A24]*Det2_45_02;
1379 + m[
A25]*Det2_45_02;
1381 + m[
A24]*Det2_45_03;
1383 + m[
A25]*Det2_45_03;
1385 + m[
A25]*Det2_45_04;
1387 + m[
A23]*Det2_45_12;
1389 + m[
A24]*Det2_45_12;
1391 + m[
A25]*Det2_45_12;
1393 + m[
A24]*Det2_45_13;
1395 + m[
A25]*Det2_45_13;
1397 + m[
A25]*Det2_45_14;
1399 + m[
A24]*Det2_45_23;
1401 + m[
A25]*Det2_45_23;
1403 + m[
A25]*Det2_45_24;
1405 + m[
A25]*Det2_45_34;
1407 + m[
A32]*Det2_45_01;
1409 + m[
A33]*Det2_45_01;
1411 + m[
A34]*Det2_45_01;
1413 + m[
A35]*Det2_45_01;
1415 + m[
A33]*Det2_45_02;
1417 + m[
A34]*Det2_45_02;
1419 + m[
A35]*Det2_45_02;
1421 + m[
A34]*Det2_45_03;
1423 + m[
A35]*Det2_45_03;
1425 + m[
A35]*Det2_45_04;
1427 + m[
A33]*Det2_45_12;
1429 + m[
A34]*Det2_45_12;
1431 + m[
A35]*Det2_45_12;
1433 + m[
A34]*Det2_45_13;
1435 + m[
A35]*Det2_45_13;
1437 + m[
A35]*Det2_45_14;
1439 + m[
A34]*Det2_45_23;
1441 + m[
A35]*Det2_45_23;
1443 + m[
A35]*Det2_45_24;
1445 + m[
A35]*Det2_45_34;
1449 G4double Det4_1234_0123 = m[
A10]*Det3_234_123 - m[
A11]*Det3_234_023
1450 + m[
A12]*Det3_234_013 - m[
A13]*Det3_234_012;
1451 G4double Det4_1234_0124 = m[
A10]*Det3_234_124 - m[
A11]*Det3_234_024
1452 + m[
A12]*Det3_234_014 - m[
A14]*Det3_234_012;
1453 G4double Det4_1234_0125 = m[
A10]*Det3_234_125 - m[
A11]*Det3_234_025
1454 + m[
A12]*Det3_234_015 - m[
A15]*Det3_234_012;
1455 G4double Det4_1234_0134 = m[
A10]*Det3_234_134 - m[
A11]*Det3_234_034
1456 + m[
A13]*Det3_234_014 - m[
A14]*Det3_234_013;
1457 G4double Det4_1234_0135 = m[
A10]*Det3_234_135 - m[
A11]*Det3_234_035
1458 + m[
A13]*Det3_234_015 - m[
A15]*Det3_234_013;
1459 G4double Det4_1234_0145 = m[
A10]*Det3_234_145 - m[
A11]*Det3_234_045
1460 + m[
A14]*Det3_234_015 - m[
A15]*Det3_234_014;
1461 G4double Det4_1234_0234 = m[
A10]*Det3_234_234 - m[
A12]*Det3_234_034
1462 + m[
A13]*Det3_234_024 - m[
A14]*Det3_234_023;
1463 G4double Det4_1234_0235 = m[
A10]*Det3_234_235 - m[
A12]*Det3_234_035
1464 + m[
A13]*Det3_234_025 - m[
A15]*Det3_234_023;
1465 G4double Det4_1234_0245 = m[
A10]*Det3_234_245 - m[
A12]*Det3_234_045
1466 + m[
A14]*Det3_234_025 - m[
A15]*Det3_234_024;
1467 G4double Det4_1234_0345 = m[
A10]*Det3_234_345 - m[
A13]*Det3_234_045
1468 + m[
A14]*Det3_234_035 - m[
A15]*Det3_234_034;
1469 G4double Det4_1234_1234 = m[
A11]*Det3_234_234 - m[
A12]*Det3_234_134
1470 + m[
A13]*Det3_234_124 - m[
A14]*Det3_234_123;
1471 G4double Det4_1234_1235 = m[
A11]*Det3_234_235 - m[
A12]*Det3_234_135
1472 + m[
A13]*Det3_234_125 - m[
A15]*Det3_234_123;
1473 G4double Det4_1234_1245 = m[
A11]*Det3_234_245 - m[
A12]*Det3_234_145
1474 + m[
A14]*Det3_234_125 - m[
A15]*Det3_234_124;
1475 G4double Det4_1234_1345 = m[
A11]*Det3_234_345 - m[
A13]*Det3_234_145
1476 + m[
A14]*Det3_234_135 - m[
A15]*Det3_234_134;
1477 G4double Det4_1234_2345 = m[
A12]*Det3_234_345 - m[
A13]*Det3_234_245
1478 + m[
A14]*Det3_234_235 - m[
A15]*Det3_234_234;
1479 G4double Det4_1235_0123 = m[
A10]*Det3_235_123 - m[
A11]*Det3_235_023
1480 + m[
A12]*Det3_235_013 - m[
A13]*Det3_235_012;
1481 G4double Det4_1235_0124 = m[
A10]*Det3_235_124 - m[
A11]*Det3_235_024
1482 + m[
A12]*Det3_235_014 - m[
A14]*Det3_235_012;
1483 G4double Det4_1235_0125 = m[
A10]*Det3_235_125 - m[
A11]*Det3_235_025
1484 + m[
A12]*Det3_235_015 - m[
A15]*Det3_235_012;
1485 G4double Det4_1235_0134 = m[
A10]*Det3_235_134 - m[
A11]*Det3_235_034
1486 + m[
A13]*Det3_235_014 - m[
A14]*Det3_235_013;
1487 G4double Det4_1235_0135 = m[
A10]*Det3_235_135 - m[
A11]*Det3_235_035
1488 + m[
A13]*Det3_235_015 - m[
A15]*Det3_235_013;
1489 G4double Det4_1235_0145 = m[
A10]*Det3_235_145 - m[
A11]*Det3_235_045
1490 + m[
A14]*Det3_235_015 - m[
A15]*Det3_235_014;
1491 G4double Det4_1235_0234 = m[
A10]*Det3_235_234 - m[
A12]*Det3_235_034
1492 + m[
A13]*Det3_235_024 - m[
A14]*Det3_235_023;
1493 G4double Det4_1235_0235 = m[
A10]*Det3_235_235 - m[
A12]*Det3_235_035
1494 + m[
A13]*Det3_235_025 - m[
A15]*Det3_235_023;
1495 G4double Det4_1235_0245 = m[
A10]*Det3_235_245 - m[
A12]*Det3_235_045
1496 + m[
A14]*Det3_235_025 - m[
A15]*Det3_235_024;
1497 G4double Det4_1235_0345 = m[
A10]*Det3_235_345 - m[
A13]*Det3_235_045
1498 + m[
A14]*Det3_235_035 - m[
A15]*Det3_235_034;
1499 G4double Det4_1235_1234 = m[
A11]*Det3_235_234 - m[
A12]*Det3_235_134
1500 + m[
A13]*Det3_235_124 - m[
A14]*Det3_235_123;
1501 G4double Det4_1235_1235 = m[
A11]*Det3_235_235 - m[
A12]*Det3_235_135
1502 + m[
A13]*Det3_235_125 - m[
A15]*Det3_235_123;
1503 G4double Det4_1235_1245 = m[
A11]*Det3_235_245 - m[
A12]*Det3_235_145
1504 + m[
A14]*Det3_235_125 - m[
A15]*Det3_235_124;
1505 G4double Det4_1235_1345 = m[
A11]*Det3_235_345 - m[
A13]*Det3_235_145
1506 + m[
A14]*Det3_235_135 - m[
A15]*Det3_235_134;
1507 G4double Det4_1235_2345 = m[
A12]*Det3_235_345 - m[
A13]*Det3_235_245
1508 + m[
A14]*Det3_235_235 - m[
A15]*Det3_235_234;
1509 G4double Det4_1245_0123 = m[
A10]*Det3_245_123 - m[
A11]*Det3_245_023
1510 + m[
A12]*Det3_245_013 - m[
A13]*Det3_245_012;
1511 G4double Det4_1245_0124 = m[
A10]*Det3_245_124 - m[
A11]*Det3_245_024
1512 + m[
A12]*Det3_245_014 - m[
A14]*Det3_245_012;
1513 G4double Det4_1245_0125 = m[
A10]*Det3_245_125 - m[
A11]*Det3_245_025
1514 + m[
A12]*Det3_245_015 - m[
A15]*Det3_245_012;
1515 G4double Det4_1245_0134 = m[
A10]*Det3_245_134 - m[
A11]*Det3_245_034
1516 + m[
A13]*Det3_245_014 - m[
A14]*Det3_245_013;
1517 G4double Det4_1245_0135 = m[
A10]*Det3_245_135 - m[
A11]*Det3_245_035
1518 + m[
A13]*Det3_245_015 - m[
A15]*Det3_245_013;
1519 G4double Det4_1245_0145 = m[
A10]*Det3_245_145 - m[
A11]*Det3_245_045
1520 + m[
A14]*Det3_245_015 - m[
A15]*Det3_245_014;
1521 G4double Det4_1245_0234 = m[
A10]*Det3_245_234 - m[
A12]*Det3_245_034
1522 + m[
A13]*Det3_245_024 - m[
A14]*Det3_245_023;
1523 G4double Det4_1245_0235 = m[
A10]*Det3_245_235 - m[
A12]*Det3_245_035
1524 + m[
A13]*Det3_245_025 - m[
A15]*Det3_245_023;
1525 G4double Det4_1245_0245 = m[
A10]*Det3_245_245 - m[
A12]*Det3_245_045
1526 + m[
A14]*Det3_245_025 - m[
A15]*Det3_245_024;
1527 G4double Det4_1245_0345 = m[
A10]*Det3_245_345 - m[
A13]*Det3_245_045
1528 + m[
A14]*Det3_245_035 - m[
A15]*Det3_245_034;
1529 G4double Det4_1245_1234 = m[
A11]*Det3_245_234 - m[
A12]*Det3_245_134
1530 + m[
A13]*Det3_245_124 - m[
A14]*Det3_245_123;
1531 G4double Det4_1245_1235 = m[
A11]*Det3_245_235 - m[
A12]*Det3_245_135
1532 + m[
A13]*Det3_245_125 - m[
A15]*Det3_245_123;
1533 G4double Det4_1245_1245 = m[
A11]*Det3_245_245 - m[
A12]*Det3_245_145
1534 + m[
A14]*Det3_245_125 - m[
A15]*Det3_245_124;
1535 G4double Det4_1245_1345 = m[
A11]*Det3_245_345 - m[
A13]*Det3_245_145
1536 + m[
A14]*Det3_245_135 - m[
A15]*Det3_245_134;
1537 G4double Det4_1245_2345 = m[
A12]*Det3_245_345 - m[
A13]*Det3_245_245
1538 + m[
A14]*Det3_245_235 - m[
A15]*Det3_245_234;
1539 G4double Det4_1345_0123 = m[
A10]*Det3_345_123 - m[
A11]*Det3_345_023
1540 + m[
A12]*Det3_345_013 - m[
A13]*Det3_345_012;
1541 G4double Det4_1345_0124 = m[
A10]*Det3_345_124 - m[
A11]*Det3_345_024
1542 + m[
A12]*Det3_345_014 - m[
A14]*Det3_345_012;
1543 G4double Det4_1345_0125 = m[
A10]*Det3_345_125 - m[
A11]*Det3_345_025
1544 + m[
A12]*Det3_345_015 - m[
A15]*Det3_345_012;
1545 G4double Det4_1345_0134 = m[
A10]*Det3_345_134 - m[
A11]*Det3_345_034
1546 + m[
A13]*Det3_345_014 - m[
A14]*Det3_345_013;
1547 G4double Det4_1345_0135 = m[
A10]*Det3_345_135 - m[
A11]*Det3_345_035
1548 + m[
A13]*Det3_345_015 - m[
A15]*Det3_345_013;
1549 G4double Det4_1345_0145 = m[
A10]*Det3_345_145 - m[
A11]*Det3_345_045
1550 + m[
A14]*Det3_345_015 - m[
A15]*Det3_345_014;
1551 G4double Det4_1345_0234 = m[
A10]*Det3_345_234 - m[
A12]*Det3_345_034
1552 + m[
A13]*Det3_345_024 - m[
A14]*Det3_345_023;
1553 G4double Det4_1345_0235 = m[
A10]*Det3_345_235 - m[
A12]*Det3_345_035
1554 + m[
A13]*Det3_345_025 - m[
A15]*Det3_345_023;
1555 G4double Det4_1345_0245 = m[
A10]*Det3_345_245 - m[
A12]*Det3_345_045
1556 + m[
A14]*Det3_345_025 - m[
A15]*Det3_345_024;
1557 G4double Det4_1345_0345 = m[
A10]*Det3_345_345 - m[
A13]*Det3_345_045
1558 + m[
A14]*Det3_345_035 - m[
A15]*Det3_345_034;
1559 G4double Det4_1345_1234 = m[
A11]*Det3_345_234 - m[
A12]*Det3_345_134
1560 + m[
A13]*Det3_345_124 - m[
A14]*Det3_345_123;
1561 G4double Det4_1345_1235 = m[
A11]*Det3_345_235 - m[
A12]*Det3_345_135
1562 + m[
A13]*Det3_345_125 - m[
A15]*Det3_345_123;
1563 G4double Det4_1345_1245 = m[
A11]*Det3_345_245 - m[
A12]*Det3_345_145
1564 + m[
A14]*Det3_345_125 - m[
A15]*Det3_345_124;
1565 G4double Det4_1345_1345 = m[
A11]*Det3_345_345 - m[
A13]*Det3_345_145
1566 + m[
A14]*Det3_345_135 - m[
A15]*Det3_345_134;
1567 G4double Det4_1345_2345 = m[
A12]*Det3_345_345 - m[
A13]*Det3_345_245
1568 + m[
A14]*Det3_345_235 - m[
A15]*Det3_345_234;
1569 G4double Det4_2345_0123 = m[
A20]*Det3_345_123 - m[
A21]*Det3_345_023
1570 + m[
A22]*Det3_345_013 - m[
A23]*Det3_345_012;
1571 G4double Det4_2345_0124 = m[
A20]*Det3_345_124 - m[
A21]*Det3_345_024
1572 + m[
A22]*Det3_345_014 - m[
A24]*Det3_345_012;
1573 G4double Det4_2345_0125 = m[
A20]*Det3_345_125 - m[
A21]*Det3_345_025
1574 + m[
A22]*Det3_345_015 - m[
A25]*Det3_345_012;
1575 G4double Det4_2345_0134 = m[
A20]*Det3_345_134 - m[
A21]*Det3_345_034
1576 + m[
A23]*Det3_345_014 - m[
A24]*Det3_345_013;
1577 G4double Det4_2345_0135 = m[
A20]*Det3_345_135 - m[
A21]*Det3_345_035
1578 + m[
A23]*Det3_345_015 - m[
A25]*Det3_345_013;
1579 G4double Det4_2345_0145 = m[
A20]*Det3_345_145 - m[
A21]*Det3_345_045
1580 + m[
A24]*Det3_345_015 - m[
A25]*Det3_345_014;
1581 G4double Det4_2345_0234 = m[
A20]*Det3_345_234 - m[
A22]*Det3_345_034
1582 + m[
A23]*Det3_345_024 - m[
A24]*Det3_345_023;
1583 G4double Det4_2345_0235 = m[
A20]*Det3_345_235 - m[
A22]*Det3_345_035
1584 + m[
A23]*Det3_345_025 - m[
A25]*Det3_345_023;
1585 G4double Det4_2345_0245 = m[
A20]*Det3_345_245 - m[
A22]*Det3_345_045
1586 + m[
A24]*Det3_345_025 - m[
A25]*Det3_345_024;
1587 G4double Det4_2345_0345 = m[
A20]*Det3_345_345 - m[
A23]*Det3_345_045
1588 + m[
A24]*Det3_345_035 - m[
A25]*Det3_345_034;
1589 G4double Det4_2345_1234 = m[
A21]*Det3_345_234 - m[
A22]*Det3_345_134
1590 + m[
A23]*Det3_345_124 - m[
A24]*Det3_345_123;
1591 G4double Det4_2345_1235 = m[
A21]*Det3_345_235 - m[
A22]*Det3_345_135
1592 + m[
A23]*Det3_345_125 - m[
A25]*Det3_345_123;
1593 G4double Det4_2345_1245 = m[
A21]*Det3_345_245 - m[
A22]*Det3_345_145
1594 + m[
A24]*Det3_345_125 - m[
A25]*Det3_345_124;
1595 G4double Det4_2345_1345 = m[
A21]*Det3_345_345 - m[
A23]*Det3_345_145
1596 + m[
A24]*Det3_345_135 - m[
A25]*Det3_345_134;
1597 G4double Det4_2345_2345 = m[
A22]*Det3_345_345 - m[
A23]*Det3_345_245
1598 + m[
A24]*Det3_345_235 - m[
A25]*Det3_345_234;
1602 G4double Det5_01234_01234 = m[
A00]*Det4_1234_1234 - m[
A01]*Det4_1234_0234
1603 + m[
A02]*Det4_1234_0134 - m[
A03]*Det4_1234_0124 + m[
A04]*Det4_1234_0123;
1604 G4double Det5_01234_01235 = m[
A00]*Det4_1234_1235 - m[
A01]*Det4_1234_0235
1605 + m[
A02]*Det4_1234_0135 - m[
A03]*Det4_1234_0125 + m[
A05]*Det4_1234_0123;
1606 G4double Det5_01234_01245 = m[
A00]*Det4_1234_1245 - m[
A01]*Det4_1234_0245
1607 + m[
A02]*Det4_1234_0145 - m[
A04]*Det4_1234_0125 + m[
A05]*Det4_1234_0124;
1608 G4double Det5_01234_01345 = m[
A00]*Det4_1234_1345 - m[
A01]*Det4_1234_0345
1609 + m[
A03]*Det4_1234_0145 - m[
A04]*Det4_1234_0135 + m[
A05]*Det4_1234_0134;
1610 G4double Det5_01234_02345 = m[
A00]*Det4_1234_2345 - m[
A02]*Det4_1234_0345
1611 + m[
A03]*Det4_1234_0245 - m[
A04]*Det4_1234_0235 + m[
A05]*Det4_1234_0234;
1612 G4double Det5_01234_12345 = m[
A01]*Det4_1234_2345 - m[
A02]*Det4_1234_1345
1613 + m[
A03]*Det4_1234_1245 - m[
A04]*Det4_1234_1235 + m[
A05]*Det4_1234_1234;
1614 G4double Det5_01235_01234 = m[
A00]*Det4_1235_1234 - m[
A01]*Det4_1235_0234
1615 + m[
A02]*Det4_1235_0134 - m[
A03]*Det4_1235_0124 + m[
A04]*Det4_1235_0123;
1616 G4double Det5_01235_01235 = m[
A00]*Det4_1235_1235 - m[
A01]*Det4_1235_0235
1617 + m[
A02]*Det4_1235_0135 - m[
A03]*Det4_1235_0125 + m[
A05]*Det4_1235_0123;
1618 G4double Det5_01235_01245 = m[
A00]*Det4_1235_1245 - m[
A01]*Det4_1235_0245
1619 + m[
A02]*Det4_1235_0145 - m[
A04]*Det4_1235_0125 + m[
A05]*Det4_1235_0124;
1620 G4double Det5_01235_01345 = m[
A00]*Det4_1235_1345 - m[
A01]*Det4_1235_0345
1621 + m[
A03]*Det4_1235_0145 - m[
A04]*Det4_1235_0135 + m[
A05]*Det4_1235_0134;
1622 G4double Det5_01235_02345 = m[
A00]*Det4_1235_2345 - m[
A02]*Det4_1235_0345
1623 + m[
A03]*Det4_1235_0245 - m[
A04]*Det4_1235_0235 + m[
A05]*Det4_1235_0234;
1624 G4double Det5_01235_12345 = m[
A01]*Det4_1235_2345 - m[
A02]*Det4_1235_1345
1625 + m[
A03]*Det4_1235_1245 - m[
A04]*Det4_1235_1235 + m[
A05]*Det4_1235_1234;
1626 G4double Det5_01245_01234 = m[
A00]*Det4_1245_1234 - m[
A01]*Det4_1245_0234
1627 + m[
A02]*Det4_1245_0134 - m[
A03]*Det4_1245_0124 + m[
A04]*Det4_1245_0123;
1628 G4double Det5_01245_01235 = m[
A00]*Det4_1245_1235 - m[
A01]*Det4_1245_0235
1629 + m[
A02]*Det4_1245_0135 - m[
A03]*Det4_1245_0125 + m[
A05]*Det4_1245_0123;
1630 G4double Det5_01245_01245 = m[
A00]*Det4_1245_1245 - m[
A01]*Det4_1245_0245
1631 + m[
A02]*Det4_1245_0145 - m[
A04]*Det4_1245_0125 + m[
A05]*Det4_1245_0124;
1632 G4double Det5_01245_01345 = m[
A00]*Det4_1245_1345 - m[
A01]*Det4_1245_0345
1633 + m[
A03]*Det4_1245_0145 - m[
A04]*Det4_1245_0135 + m[
A05]*Det4_1245_0134;
1634 G4double Det5_01245_02345 = m[
A00]*Det4_1245_2345 - m[
A02]*Det4_1245_0345
1635 + m[
A03]*Det4_1245_0245 - m[
A04]*Det4_1245_0235 + m[
A05]*Det4_1245_0234;
1636 G4double Det5_01245_12345 = m[
A01]*Det4_1245_2345 - m[
A02]*Det4_1245_1345
1637 + m[
A03]*Det4_1245_1245 - m[
A04]*Det4_1245_1235 + m[
A05]*Det4_1245_1234;
1638 G4double Det5_01345_01234 = m[
A00]*Det4_1345_1234 - m[
A01]*Det4_1345_0234
1639 + m[
A02]*Det4_1345_0134 - m[
A03]*Det4_1345_0124 + m[
A04]*Det4_1345_0123;
1640 G4double Det5_01345_01235 = m[
A00]*Det4_1345_1235 - m[
A01]*Det4_1345_0235
1641 + m[
A02]*Det4_1345_0135 - m[
A03]*Det4_1345_0125 + m[
A05]*Det4_1345_0123;
1642 G4double Det5_01345_01245 = m[
A00]*Det4_1345_1245 - m[
A01]*Det4_1345_0245
1643 + m[
A02]*Det4_1345_0145 - m[
A04]*Det4_1345_0125 + m[
A05]*Det4_1345_0124;
1644 G4double Det5_01345_01345 = m[
A00]*Det4_1345_1345 - m[
A01]*Det4_1345_0345
1645 + m[
A03]*Det4_1345_0145 - m[
A04]*Det4_1345_0135 + m[
A05]*Det4_1345_0134;
1646 G4double Det5_01345_02345 = m[
A00]*Det4_1345_2345 - m[
A02]*Det4_1345_0345
1647 + m[
A03]*Det4_1345_0245 - m[
A04]*Det4_1345_0235 + m[
A05]*Det4_1345_0234;
1648 G4double Det5_01345_12345 = m[
A01]*Det4_1345_2345 - m[
A02]*Det4_1345_1345
1649 + m[
A03]*Det4_1345_1245 - m[
A04]*Det4_1345_1235 + m[
A05]*Det4_1345_1234;
1650 G4double Det5_02345_01234 = m[
A00]*Det4_2345_1234 - m[
A01]*Det4_2345_0234
1651 + m[
A02]*Det4_2345_0134 - m[
A03]*Det4_2345_0124 + m[
A04]*Det4_2345_0123;
1652 G4double Det5_02345_01235 = m[
A00]*Det4_2345_1235 - m[
A01]*Det4_2345_0235
1653 + m[
A02]*Det4_2345_0135 - m[
A03]*Det4_2345_0125 + m[
A05]*Det4_2345_0123;
1654 G4double Det5_02345_01245 = m[
A00]*Det4_2345_1245 - m[
A01]*Det4_2345_0245
1655 + m[
A02]*Det4_2345_0145 - m[
A04]*Det4_2345_0125 + m[
A05]*Det4_2345_0124;
1656 G4double Det5_02345_01345 = m[
A00]*Det4_2345_1345 - m[
A01]*Det4_2345_0345
1657 + m[
A03]*Det4_2345_0145 - m[
A04]*Det4_2345_0135 + m[
A05]*Det4_2345_0134;
1658 G4double Det5_02345_02345 = m[
A00]*Det4_2345_2345 - m[
A02]*Det4_2345_0345
1659 + m[
A03]*Det4_2345_0245 - m[
A04]*Det4_2345_0235 + m[
A05]*Det4_2345_0234;
1660 G4double Det5_02345_12345 = m[
A01]*Det4_2345_2345 - m[
A02]*Det4_2345_1345
1661 + m[
A03]*Det4_2345_1245 - m[
A04]*Det4_2345_1235 + m[
A05]*Det4_2345_1234;
1662 G4double Det5_12345_01234 = m[
A10]*Det4_2345_1234 - m[
A11]*Det4_2345_0234
1663 + m[
A12]*Det4_2345_0134 - m[
A13]*Det4_2345_0124 + m[
A14]*Det4_2345_0123;
1664 G4double Det5_12345_01235 = m[
A10]*Det4_2345_1235 - m[
A11]*Det4_2345_0235
1665 + m[
A12]*Det4_2345_0135 - m[
A13]*Det4_2345_0125 + m[
A15]*Det4_2345_0123;
1666 G4double Det5_12345_01245 = m[
A10]*Det4_2345_1245 - m[
A11]*Det4_2345_0245
1667 + m[
A12]*Det4_2345_0145 - m[
A14]*Det4_2345_0125 + m[
A15]*Det4_2345_0124;
1668 G4double Det5_12345_01345 = m[
A10]*Det4_2345_1345 - m[
A11]*Det4_2345_0345
1669 + m[
A13]*Det4_2345_0145 - m[
A14]*Det4_2345_0135 + m[
A15]*Det4_2345_0134;
1670 G4double Det5_12345_02345 = m[
A10]*Det4_2345_2345 - m[
A12]*Det4_2345_0345
1671 + m[
A13]*Det4_2345_0245 - m[
A14]*Det4_2345_0235 + m[
A15]*Det4_2345_0234;
1672 G4double Det5_12345_12345 = m[
A11]*Det4_2345_2345 - m[
A12]*Det4_2345_1345
1673 + m[
A13]*Det4_2345_1245 - m[
A14]*Det4_2345_1235 + m[
A15]*Det4_2345_1234;
1678 - m[
A01]*Det5_12345_02345
1679 + m[
A02]*Det5_12345_01345
1680 - m[
A03]*Det5_12345_01245
1681 + m[
A04]*Det5_12345_01235
1682 - m[
A05]*Det5_12345_01234;
1691 G4double mn1OverDet = - oneOverDet;
1693 m[
A00] = Det5_12345_12345*oneOverDet;
1694 m[
A01] = Det5_02345_12345*mn1OverDet;
1695 m[
A02] = Det5_01345_12345*oneOverDet;
1696 m[
A03] = Det5_01245_12345*mn1OverDet;
1697 m[
A04] = Det5_01235_12345*oneOverDet;
1698 m[
A05] = Det5_01234_12345*mn1OverDet;
1700 m[
A10] = Det5_12345_02345*mn1OverDet;
1701 m[
A11] = Det5_02345_02345*oneOverDet;
1702 m[
A12] = Det5_01345_02345*mn1OverDet;
1703 m[
A13] = Det5_01245_02345*oneOverDet;
1704 m[
A14] = Det5_01235_02345*mn1OverDet;
1705 m[
A15] = Det5_01234_02345*oneOverDet;
1707 m[
A20] = Det5_12345_01345*oneOverDet;
1708 m[
A21] = Det5_02345_01345*mn1OverDet;
1709 m[
A22] = Det5_01345_01345*oneOverDet;
1710 m[
A23] = Det5_01245_01345*mn1OverDet;
1711 m[
A24] = Det5_01235_01345*oneOverDet;
1712 m[
A25] = Det5_01234_01345*mn1OverDet;
1714 m[
A30] = Det5_12345_01245*mn1OverDet;
1715 m[
A31] = Det5_02345_01245*oneOverDet;
1716 m[
A32] = Det5_01345_01245*mn1OverDet;
1717 m[
A33] = Det5_01245_01245*oneOverDet;
1718 m[
A34] = Det5_01235_01245*mn1OverDet;
1719 m[
A35] = Det5_01234_01245*oneOverDet;
1721 m[
A40] = Det5_12345_01235*oneOverDet;
1722 m[
A41] = Det5_02345_01235*mn1OverDet;
1723 m[
A42] = Det5_01345_01235*oneOverDet;
1724 m[
A43] = Det5_01245_01235*mn1OverDet;
1725 m[
A44] = Det5_01235_01235*oneOverDet;
1726 m[
A45] = Det5_01234_01235*mn1OverDet;
1728 m[
A50] = Det5_12345_01234*mn1OverDet;
1729 m[
A51] = Det5_02345_01234*oneOverDet;
1730 m[
A52] = Det5_01345_01234*mn1OverDet;
1731 m[
A53] = Det5_01245_01234*oneOverDet;
1732 m[
A54] = Det5_01235_01234*mn1OverDet;
1733 m[
A55] = Det5_01234_01234*oneOverDet;