779 Double_t pi = 3.14159265358979323846;
804 for (j = 0; j < numy; j++) {
805 for (i = 0; i < numx; i++) {
806 working_vector[i] = working_matrix[i][j];
810 for (i = 1; i <= numx; i++) {
811 working_vector[2 * numx - i] = working_vector[i - 1];
814 for (i = 0; i < numx; i++) {
816 working_vector[i] /
TMath::Cos(pi * i / (2 * numx));
818 working_vector[0] = working_vector[0] /
TMath::Sqrt(2.);
821 for (i = 1; i <= numx; i++) {
822 working_vector[2 * numx - i] = -working_vector[i - 1];
825 for (i = 1; i < numx; i++) {
826 working_vector[i - 1] =
827 working_vector[i] /
TMath::Sin(pi * i / (2 * numx));
829 working_vector[numx - 1] =
839 for (i = 0; i < numx; i++) {
840 working_matrix[i][j] = working_vector[i];
842 working_matrix[i][j + numy] = working_vector[i + numx];
845 working_matrix[i][j + numy] = working_vector[i + 2 * numx];
848 for (i = 0; i < numx; i++) {
849 for (j = 0; j < numy; j++) {
850 working_vector[j] = working_matrix[i][j];
852 working_vector[j + numy] = working_matrix[i][j + numy];
855 working_vector[j + 2 * numy] = working_matrix[i][j + numy];
859 for (j = 1; j <= numy; j++) {
860 working_vector[2 * numy - j] = working_vector[j - 1];
863 for (j = 0; j < numy; j++) {
865 working_vector[j] /
TMath::Cos(pi * j / (2 * numy));
866 working_vector[j + 2 * numy] = 0;
868 working_vector[0] = working_vector[0] /
TMath::Sqrt(2.);
871 for (j = 1; j <= numy; j++) {
872 working_vector[2 * numy - j] = -working_vector[j - 1];
875 for (j = 1; j < numy; j++) {
876 working_vector[j - 1] =
877 working_vector[j] /
TMath::Sin(pi * j / (2 * numy));
878 working_vector[j + numy] = 0;
880 working_vector[numy - 1] =
882 working_vector[numy] = 0;
891 for (j = 0; j < numy; j++) {
892 working_matrix[i][j] = working_vector[j];
894 working_matrix[i][j + numy] = working_vector[j + numy];
897 working_matrix[i][j + numy] = working_vector[j + 2 * numy];
903 for (i = 0; i < numx; i++) {
904 for (j = 0; j < numy; j++) {
905 working_vector[j] = working_matrix[i][j];
907 working_vector[j + numy] = working_matrix[i][j + numy];
910 working_vector[j + 2 * numy] = working_matrix[i][j + numy];
914 working_vector[0] = working_vector[0] *
TMath::Sqrt(2.);
915 for (j = 0; j < numy; j++) {
916 working_vector[j + 2 * numy] =
917 working_vector[j] *
TMath::Sin(pi * j / (2 * numy));
919 working_vector[j] *
TMath::Cos(pi * j / (2 * numy));
921 for (j = 1; j < numy; j++) {
922 working_vector[2 * numy - j] = working_vector[j];
923 working_vector[2 * numy - j + 2 * numy] =
924 -working_vector[j + 2 * numy];
926 working_vector[numy] = 0;
927 working_vector[numy + 2 * numy] = 0;
931 working_vector[numy] =
933 for (j = numy - 1; j > 0; j--) {
934 working_vector[j + 2 * numy] =
938 working_vector[j - 1] *
TMath::Sin(pi * j / (2 * numy));
940 for (j = 1; j < numy; j++) {
941 working_vector[2 * numy - j] = working_vector[j];
942 working_vector[2 * numy - j + 2 * numy] =
943 -working_vector[j + 2 * numy];
945 working_vector[0] = 0;
946 working_vector[0 + 2 * numy] = 0;
947 working_vector[numy + 2 * numy] = 0;
957 for (j = 0; j < numy; j++) {
958 working_matrix[i][j] = working_vector[j];
960 working_matrix[i][j + numy] = working_vector[j + numy];
963 working_matrix[i][j + numy] = working_vector[j + 2 * numy];
966 for (j = 0; j < numy; j++) {
967 for (i = 0; i < numx; i++) {
968 working_vector[i] = working_matrix[i][j];
970 working_vector[i + numx] = working_matrix[i][j + numy];
973 working_vector[i + 2 * numx] = working_matrix[i][j + numy];
977 working_vector[0] = working_vector[0] *
TMath::Sqrt(2.);
978 for (i = 0; i < numx; i++) {
979 working_vector[i + 2 * numx] =
980 working_vector[i] *
TMath::Sin(pi * i / (2 * numx));
982 working_vector[i] *
TMath::Cos(pi * i / (2 * numx));
984 for (i = 1; i < numx; i++) {
985 working_vector[2 * numx - i] = working_vector[i];
986 working_vector[2 * numx - i + 2 * numx] =
987 -working_vector[i + 2 * numx];
989 working_vector[numx] = 0;
990 working_vector[numx + 2 * numx] = 0;
994 working_vector[numx] =
996 for (i = numx - 1; i > 0; i--) {
997 working_vector[i + 2 * numx] =
1001 working_vector[i - 1] *
TMath::Sin(pi * i / (2 * numx));
1003 for (i = 1; i < numx; i++) {
1004 working_vector[2 * numx - i] = working_vector[i];
1005 working_vector[2 * numx - i + 2 * numx] =
1006 -working_vector[i + 2 * numx];
1008 working_vector[0] = 0;
1009 working_vector[0 + 2 * numx] = 0;
1010 working_vector[numx + 2 * numx] = 0;
1020 for (i = 0; i < numx; i++) {
1021 working_matrix[i][j] = working_vector[i];
1043 Int_t i, j, jstup, kstup,
l,
m;
1047 for (j = 0; j < numy; j++) {
1049 jstup = numx / kstup;
1050 for (i = 0; i < numx; i++) {
1051 val = working_matrix[i][j];
1056 kstup = 2 * kstup * jstup;
1057 working_vector[kstup + i % jstup] = val;
1058 working_vector[kstup + 2 * jstup - 1 - i % jstup] = val;
1065 kstup = 2 * kstup * jstup;
1066 working_vector[kstup + i % jstup] = val;
1067 working_vector[kstup + 2 * jstup - 1 - i % jstup] = -val;
1071 working_vector[i] = val;
1077 GeneralExe(working_vector, 0, numx, degree, type);
1078 for (i = 0; i < jstup; i++)
1085 for (i = 0; i <
l; i++)
1087 GeneralExe(working_vector, 0, 2 * numx, degree, type);
1088 for (i = 0; i < numx; i++) {
1090 kstup = 2 * kstup * jstup;
1093 b = working_vector[kstup + i % jstup];
1099 working_vector[i] =
a;
1100 working_vector[i + 4 * numx] = 0;
1107 for (i = 0; i <
l; i++)
1109 GeneralExe(working_vector, 0, 2 * numx, degree, type);
1110 for (i = 0; i < numx; i++) {
1112 kstup = 2 * kstup * jstup;
1115 b = working_vector[jstup + kstup + i % jstup];
1121 working_vector[jstup + kstup / 2 - i % jstup - 1] =
a;
1122 working_vector[i + 4 * numx] = 0;
1131 jstup = numx / kstup;
1132 for (i = 0,
l = 0; i < numx; i++,
l = (
l + kstup) % numx) {
1133 working_vector[numx + i] = working_vector[
l + i / jstup];
1137 working_vector[numx + i + 2 * numx] =
1138 working_vector[
l + i / jstup + 2 * numx];
1141 working_vector[numx + i + 4 * numx] =
1142 working_vector[
l + i / jstup + 4 * numx];
1144 for (i = 0; i < numx; i++) {
1145 working_vector[i] = working_vector[numx + i];
1149 working_vector[i + 2 * numx] =
1150 working_vector[numx + i + 2 * numx];
1153 working_vector[i + 4 * numx] =
1154 working_vector[numx + i + 4 * numx];
1156 for (i = 0; i < numx; i++) {
1157 working_matrix[i][j] = working_vector[i];
1161 working_matrix[i][j + numy] = working_vector[i + 2 * numx];
1164 working_matrix[i][j + numy] = working_vector[i + 4 * numx];
1167 for (i = 0; i < numx; i++) {
1169 jstup = numy / kstup;
1170 for (j = 0; j < numy; j++) {
1171 valx = working_matrix[i][j];
1172 valz = working_matrix[i][j + numy];
1177 kstup = 2 * kstup * jstup;
1178 working_vector[kstup + j % jstup] = valx;
1179 working_vector[kstup + 2 * jstup - 1 - j % jstup] = valx;
1180 working_vector[kstup + j % jstup + 4 * numy] = valz;
1181 working_vector[kstup + 2 * jstup - 1 - j % jstup +
1189 kstup = 2 * kstup * jstup;
1190 working_vector[kstup + j % jstup] = valx;
1191 working_vector[kstup + 2 * jstup - 1 - j % jstup] = -valx;
1192 working_vector[kstup + j % jstup + 4 * numy] = valz;
1193 working_vector[kstup + 2 * jstup - 1 - j % jstup +
1198 working_vector[j] = valx;
1199 working_vector[j + 2 * numy] = valz;
1206 GeneralExe(working_vector, 1, numy, degree, type);
1207 for (j = 0; j < jstup; j++)
1214 for (j = 0; j <
l; j++)
1216 GeneralExe(working_vector, 1, 2 * numy, degree, type);
1217 for (j = 0; j < numy; j++) {
1219 kstup = 2 * kstup * jstup;
1222 b = working_vector[kstup + j % jstup];
1228 working_vector[j] =
a;
1229 working_vector[j + 4 * numy] = 0;
1236 for (j = 0; j <
l; j++)
1238 GeneralExe(working_vector, 1, 2 * numy, degree, type);
1239 for (j = 0; j < numy; j++) {
1241 kstup = 2 * kstup * jstup;
1244 b = working_vector[jstup + kstup + j % jstup];
1250 working_vector[jstup + kstup / 2 - j % jstup - 1] =
a;
1251 working_vector[j + 4 * numy] = 0;
1260 jstup = numy / kstup;
1261 for (j = 0,
l = 0; j < numy; j++,
l = (
l + kstup) % numy) {
1262 working_vector[numy + j] = working_vector[
l + j / jstup];
1266 working_vector[numy + j + 2 * numy] =
1267 working_vector[
l + j / jstup + 2 * numy];
1270 working_vector[numy + j + 4 * numy] =
1271 working_vector[
l + j / jstup + 4 * numy];
1273 for (j = 0; j < numy; j++) {
1274 working_vector[j] = working_vector[numy + j];
1278 working_vector[j + 2 * numy] =
1279 working_vector[numy + j + 2 * numy];
1282 working_vector[j + 4 * numy] =
1283 working_vector[numy + j + 4 * numy];
1285 for (j = 0; j < numy; j++) {
1286 working_matrix[i][j] = working_vector[j];
1290 working_matrix[i][j + numy] = working_vector[j + 2 * numy];
1293 working_matrix[i][j + numy] = working_vector[j + 4 * numy];
1299 for (i = 0; i < numx; i++) {
1301 jstup = numy / kstup;
1302 for (j = 0; j < numy; j++) {
1303 working_vector[j] = working_matrix[i][j];
1307 working_vector[j + 2 * numy] = working_matrix[i][j + numy];
1310 working_vector[j + 4 * numy] = working_matrix[i][j + numy];
1317 jstup = numy / kstup;
1318 for (j = 0,
l = 0; j < numy; j++,
l = (
l + kstup) % numy) {
1319 working_vector[numy +
l + j / jstup] = working_vector[j];
1323 working_vector[numy +
l + j / jstup + 2 * numy] =
1324 working_vector[j + 2 * numy];
1327 working_vector[numy +
l + j / jstup + 4 * numy] =
1328 working_vector[j + 4 * numy];
1330 for (j = 0; j < numy; j++) {
1331 working_vector[j] = working_vector[numy + j];
1335 working_vector[j + 2 * numy] =
1336 working_vector[numy + j + 2 * numy];
1339 working_vector[j + 4 * numy] =
1340 working_vector[numy + j + 4 * numy];
1346 for (j = 0; j < jstup; j++)
1348 GeneralInv(working_vector, numy, degree, type);
1355 for (j = 0; j < numy; j++) {
1357 kstup = 2 * kstup * jstup;
1359 if (j % jstup == 0) {
1360 working_vector[2 * numy + kstup + j % jstup] =
1362 working_vector[2 * numy + kstup + j % jstup +
1369 working_vector[2 * numy + kstup + j % jstup +
1372 working_vector[2 * numy + kstup + j % jstup] =
1374 } }
for (j = 0; j < numy; j++) {
1376 kstup = 2 * kstup * jstup;
1377 if (j % jstup == 0) {
1378 working_vector[2 * numy + kstup + jstup] = 0;
1379 working_vector[2 * numy + kstup + jstup + 4 * numy] = 0;
1383 working_vector[2 * numy + kstup + 2 * jstup -
1385 working_vector[2 * numy + kstup + j % jstup];
1386 working_vector[2 * numy + kstup + 2 * jstup -
1387 j % jstup + 4 * numy] =
1388 -working_vector[2 * numy + kstup + j % jstup +
1392 for (j = 0; j < 2 * numy; j++) {
1393 working_vector[j] = working_vector[2 * numy + j];
1394 working_vector[j + 4 * numy] =
1395 working_vector[2 * numy + j + 4 * numy];
1397 GeneralInv(working_vector, 2 * numy, degree, type);
1400 for (j = 0; j <
l; j++)
1408 for (j = 0; j < numy; j++) {
1410 kstup = 2 * kstup * jstup;
1412 if (j % jstup == 0) {
1413 working_vector[2 * numy + kstup + jstup + j % jstup] =
1414 working_vector[jstup + kstup / 2 - j % jstup -
1416 working_vector[2 * numy + kstup + jstup + j % jstup +
1423 working_vector[2 * numy + kstup + jstup + j % jstup +
1425 -(
Double_t) working_vector[jstup + kstup / 2 -
1427 working_vector[2 * numy + kstup + jstup + j % jstup] =
1428 (
Double_t) working_vector[jstup + kstup / 2 -
1430 } }
for (j = 0; j < numy; j++) {
1432 kstup = 2 * kstup * jstup;
1433 if (j % jstup == 0) {
1434 working_vector[2 * numy + kstup] = 0;
1435 working_vector[2 * numy + kstup + 4 * numy] = 0;
1439 working_vector[2 * numy + kstup + j % jstup] =
1440 working_vector[2 * numy + kstup + 2 * jstup -
1442 working_vector[2 * numy + kstup + j % jstup +
1444 -working_vector[2 * numy + kstup + 2 * jstup -
1445 j % jstup + 4 * numy];
1448 for (j = 0; j < 2 * numy; j++) {
1449 working_vector[j] = working_vector[2 * numy + j];
1450 working_vector[j + 4 * numy] =
1451 working_vector[2 * numy + j + 4 * numy];
1453 GeneralInv(working_vector, 2 * numy, degree, type);
1454 for (j = 0; j <
l; j++)
1458 for (j = 0; j < numy; j++) {
1461 kstup = 2 * kstup * jstup;
1462 valx = working_vector[kstup + j % jstup];
1463 valz = working_vector[kstup + j % jstup + 4 * numy];
1467 valx = working_vector[j];
1468 valz = working_vector[j + 2 * numy];
1470 working_matrix[i][j] = valx;
1471 working_matrix[i][j + numy] = valz;
1474 for (j = 0; j < numy; j++) {
1476 jstup = numy / kstup;
1477 for (i = 0; i < numx; i++) {
1478 working_vector[i] = working_matrix[i][j];
1482 working_vector[i + 2 * numx] = working_matrix[i][j + numy];
1485 working_vector[i + 4 * numx] = working_matrix[i][j + numy];
1492 jstup = numx / kstup;
1493 for (i = 0,
l = 0; i < numx; i++,
l = (
l + kstup) % numx) {
1494 working_vector[numx +
l + i / jstup] = working_vector[i];
1498 working_vector[numx +
l + i / jstup + 2 * numx] =
1499 working_vector[i + 2 * numx];
1502 working_vector[numx +
l + i / jstup + 4 * numx] =
1503 working_vector[i + 4 * numx];
1505 for (i = 0; i < numx; i++) {
1506 working_vector[i] = working_vector[numx + i];
1510 working_vector[i + 2 * numx] =
1511 working_vector[numx + i + 2 * numx];
1514 working_vector[i + 4 * numx] =
1515 working_vector[numx + i + 4 * numx];
1521 for (i = 0; i < jstup; i++)
1523 GeneralInv(working_vector, numx, degree, type);
1530 for (i = 0; i < numx; i++) {
1532 kstup = 2 * kstup * jstup;
1534 if (i % jstup == 0) {
1535 working_vector[2 * numx + kstup + i % jstup] =
1537 working_vector[2 * numx + kstup + i % jstup +
1544 working_vector[2 * numx + kstup + i % jstup +
1547 working_vector[2 * numx + kstup + i % jstup] =
1549 } }
for (i = 0; i < numx; i++) {
1551 kstup = 2 * kstup * jstup;
1552 if (i % jstup == 0) {
1553 working_vector[2 * numx + kstup + jstup] = 0;
1554 working_vector[2 * numx + kstup + jstup + 4 * numx] = 0;
1558 working_vector[2 * numx + kstup + 2 * jstup -
1560 working_vector[2 * numx + kstup + i % jstup];
1561 working_vector[2 * numx + kstup + 2 * jstup -
1562 i % jstup + 4 * numx] =
1563 -working_vector[2 * numx + kstup + i % jstup +
1567 for (i = 0; i < 2 * numx; i++) {
1568 working_vector[i] = working_vector[2 * numx + i];
1569 working_vector[i + 4 * numx] =
1570 working_vector[2 * numx + i + 4 * numx];
1572 GeneralInv(working_vector, 2 * numx, degree, type);
1575 for (i = 0; i <
l; i++)
1583 for (i = 0; i < numx; i++) {
1585 kstup = 2 * kstup * jstup;
1587 if (i % jstup == 0) {
1588 working_vector[2 * numx + kstup + jstup + i % jstup] =
1589 working_vector[jstup + kstup / 2 - i % jstup -
1591 working_vector[2 * numx + kstup + jstup + i % jstup +
1598 working_vector[2 * numx + kstup + jstup + i % jstup +
1600 -(
Double_t) working_vector[jstup + kstup / 2 -
1602 working_vector[2 * numx + kstup + jstup + i % jstup] =
1603 (
Double_t) working_vector[jstup + kstup / 2 -
1605 } }
for (i = 0; i < numx; i++) {
1607 kstup = 2 * kstup * jstup;
1608 if (i % jstup == 0) {
1609 working_vector[2 * numx + kstup] = 0;
1610 working_vector[2 * numx + kstup + 4 * numx] = 0;
1614 working_vector[2 * numx + kstup + i % jstup] =
1615 working_vector[2 * numx + kstup + 2 * jstup -
1617 working_vector[2 * numx + kstup + i % jstup +
1619 -working_vector[2 * numx + kstup + 2 * jstup -
1620 i % jstup + 4 * numx];
1623 for (i = 0; i < 2 * numx; i++) {
1624 working_vector[i] = working_vector[2 * numx + i];
1625 working_vector[i + 4 * numx] =
1626 working_vector[2 * numx + i + 4 * numx];
1628 GeneralInv(working_vector, 2 * numx, degree, type);
1629 for (i = 0; i <
l; i++)
1633 for (i = 0; i < numx; i++) {
1636 kstup = 2 * kstup * jstup;
1637 val = working_vector[kstup + i % jstup];
1641 val = working_vector[i];
1642 working_matrix[i][j] = val;
1751 Double_t *working_vector =
nullptr, **working_matrix =
nullptr;
1758 for (i = 0; i <
fSizeX; i++)
1770 for (i = 0; i <
fSizeX; i++)
1779 for (i = 0; i <
fSizeX; i++)
1786 for (i = 0; i <
fSizeX; i++) {
1787 for (j = 0; j <
fSizeY; j++) {
1788 working_matrix[i][j] = fSource[i][j];
1793 for (i = 0; i <
fSizeX; i++) {
1794 for (j = 0; j <
fSizeY; j++) {
1795 fDest[i][j] = working_matrix[i][j];
1800 for (i = 0; i <
fSizeX; i++) {
1801 for (j = 0; j <
fSizeY; j++) {
1802 working_matrix[i][j] = fSource[i][j];
1807 for (i = 0; i <
fSizeX; i++) {
1808 for (j = 0; j <
fSizeY; j++) {
1809 fDest[i][j] = working_matrix[i][j];
1814 for (i = 0; i <
fSizeX; i++) {
1815 for (j = 0; j <
fSizeY; j++) {
1816 working_matrix[i][j] = fSource[i][j];
1821 for (i = 0; i <
fSizeX; i++) {
1822 for (j = 0; j <
fSizeY; j++) {
1823 fDest[i][j] = working_matrix[i][j];
1828 for (i = 0; i <
fSizeX; i++) {
1829 for (j = 0; j <
fSizeY; j++) {
1830 working_matrix[i][j] = fSource[i][j];
1835 for (i = 0; i <
fSizeX; i++) {
1836 for (j = 0; j <
fSizeY; j++) {
1837 fDest[i][j] = working_matrix[i][j];
1842 for (i = 0; i <
fSizeX; i++) {
1843 for (j = 0; j <
fSizeY; j++) {
1844 working_matrix[i][j] = fSource[i][j];
1849 for (i = 0; i <
fSizeX; i++) {
1850 for (j = 0; j <
fSizeY; j++) {
1851 fDest[i][j] = working_matrix[i][j];
1854 for (i = 0; i <
fSizeX; i++) {
1855 for (j = 0; j <
fSizeY; j++) {
1861 for (i = 0; i <
fSizeX; i++) {
1862 for (j = 0; j <
fSizeY; j++) {
1863 working_matrix[i][j] = fSource[i][j];
1868 for (i = 0; i <
fSizeX; i++) {
1869 for (j = 0; j <
fSizeY; j++) {
1870 fDest[i][j] = working_matrix[i][j];
1881 for (i = 0; i <
fSizeX; i++) {
1882 for (j = 0; j <
fSizeY; j++) {
1883 working_matrix[i][j] = fSource[i][j];
1888 for (i = 0; i <
fSizeX; i++) {
1889 for (j = 0; j <
fSizeY; j++) {
1890 fDest[i][j] = working_matrix[i][j];
1895 for (i = 0; i <
fSizeX; i++) {
1896 for (j = 0; j <
fSizeY; j++) {
1908 for (i = 0; i <
fSizeX; i++) {
1909 for (j = 0; j <
fSizeY; j++) {
1910 working_matrix[i][j] = fSource[i][j];
1915 for (i = 0; i <
fSizeX; i++) {
1916 for (j = 0; j <
fSizeY; j++) {
1917 fDest[i][j] = working_matrix[i][j];
1922 for (i = 0; i <
fSizeX; i++) {
1923 for (j = 0; j <
fSizeY; j++) {
1924 working_matrix[i][j] = fSource[i][j];
1929 for (i = 0; i <
fSizeX; i++) {
1930 for (j = 0; j <
fSizeY; j++) {
1931 fDest[i][j] = working_matrix[i][j];
1936 for (i = 0; i <
fSizeX; i++) {
1937 for (j = 0; j <
fSizeY; j++) {
1938 working_matrix[i][j] = fSource[i][j];
1943 for (i = 0; i <
fSizeX; i++) {
1944 for (j = 0; j <
fSizeY; j++) {
1945 fDest[i][j] = working_matrix[i][j];
1950 for (i = 0; i <
fSizeX; i++) {
1951 for (j = 0; j <
fSizeY; j++) {
1952 working_matrix[i][j] = fSource[i][j];
1957 for (i = 0; i <
fSizeX; i++) {
1958 for (j = 0; j <
fSizeY; j++) {
1959 fDest[i][j] = working_matrix[i][j];
1964 for (i = 0; i <
fSizeX; i++) {
1965 for (j = 0; j <
fSizeY; j++) {
1966 working_matrix[i][j] = fSource[i][j];
1969 for (i = 0; i <
fSizeX; i++) {
1970 for (j = 0; j <
fSizeY; j++) {
1971 working_matrix[i][j +
fSizeY] = fSource[i][j +
fSizeY];
1976 for (i = 0; i <
fSizeX; i++) {
1977 for (j = 0; j <
fSizeY; j++) {
1978 fDest[i][j] = working_matrix[i][j];
1983 for (i = 0; i <
fSizeX; i++) {
1984 for (j = 0; j <
fSizeY; j++) {
1985 working_matrix[i][j] = fSource[i][j];
1990 for (i = 0; i <
fSizeX; i++) {
1991 for (j = 0; j <
fSizeY; j++) {
1992 fDest[i][j] = working_matrix[i][j];
2003 for (i = 0; i <
fSizeX; i++) {
2004 for (j = 0; j <
fSizeY; j++) {
2005 working_matrix[i][j] = fSource[i][j];
2010 for (i = 0; i <
fSizeX; i++) {
2011 for (j = 0; j <
fSizeY; j++) {
2012 working_matrix[i][j +
fSizeY] = fSource[i][j +
fSizeY];
2018 for (i = 0; i <
fSizeX; i++) {
2019 for (j = 0; j <
fSizeY; j++) {
2020 fDest[i][j] = working_matrix[i][j];
2026 for (i = 0; i <
fSizeX; i++) {
2027 if (working_matrix)
delete[]working_matrix[i];
2029 delete[]working_matrix;
2030 delete[]working_vector;
2112 Double_t *working_vector =
nullptr, **working_matrix =
nullptr;
2119 for (i = 0; i <
fSizeX; i++)
2131 for (i = 0; i <
fSizeX; i++)
2140 for (i = 0; i <
fSizeX; i++)
2146 for (i = 0; i <
fSizeX; i++) {
2147 for (j = 0; j <
fSizeY; j++) {
2148 working_matrix[i][j] = fSource[i][j];
2149 old_area = old_area + fSource[i][j];
2156 for (i = 0; i <
fSizeX; i++) {
2157 for (j = 0; j <
fSizeY; j++) {
2158 working_matrix[i][j] = fSource[i][j];
2159 old_area = old_area + fSource[i][j];
2166 for (i = 0; i <
fSizeX; i++) {
2167 for (j = 0; j <
fSizeY; j++) {
2168 working_matrix[i][j] = fSource[i][j];
2169 old_area = old_area + fSource[i][j];
2176 for (i = 0; i <
fSizeX; i++) {
2177 for (j = 0; j <
fSizeY; j++) {
2178 working_matrix[i][j] = fSource[i][j];
2179 old_area = old_area + fSource[i][j];
2186 for (i = 0; i <
fSizeX; i++) {
2187 for (j = 0; j <
fSizeY; j++) {
2188 working_matrix[i][j] = fSource[i][j];
2189 old_area = old_area + fSource[i][j];
2196 for (i = 0; i <
fSizeX; i++) {
2197 for (j = 0; j <
fSizeY; j++) {
2198 working_matrix[i][j] = fSource[i][j];
2199 old_area = old_area + fSource[i][j];
2212 for (i = 0; i <
fSizeX; i++) {
2213 for (j = 0; j <
fSizeY; j++) {
2214 working_matrix[i][j] = fSource[i][j];
2215 old_area = old_area + fSource[i][j];
2222 for (i = 0; i <
fSizeX; i++) {
2223 for (j = 0; j <
fSizeY; j++) {
2225 if (working_matrix) working_matrix[i][j] =
fFilterCoeff;
2230 for (i = 0; i <
fSizeX; i++) {
2231 for (j = 0; j <
fSizeY; j++) {
2241 for (i = 0; i <
fSizeX; i++) {
2242 for (j = 0; j <
fSizeY; j++) {
2243 new_area = new_area + working_matrix[i][j];
2246 if (new_area != 0) {
2247 a = old_area / new_area;
2248 for (i = 0; i <
fSizeX; i++) {
2249 for (j = 0; j <
fSizeY; j++) {
2250 fDest[i][j] = working_matrix[i][j] *
a;
2258 for (i = 0; i <
fSizeX; i++) {
2259 for (j = 0; j <
fSizeY; j++) {
2260 new_area = new_area + working_matrix[i][j];
2263 if (new_area != 0) {
2264 a = old_area / new_area;
2265 for (i = 0; i <
fSizeX; i++) {
2266 for (j = 0; j <
fSizeY; j++) {
2267 fDest[i][j] = working_matrix[i][j] *
a;
2275 for (i = 0; i <
fSizeX; i++) {
2276 for (j = 0; j <
fSizeY; j++) {
2277 new_area = new_area + working_matrix[i][j];
2280 if (new_area != 0) {
2281 a = old_area / new_area;
2282 for (i = 0; i <
fSizeX; i++) {
2283 for (j = 0; j <
fSizeY; j++) {
2284 fDest[i][j] = working_matrix[i][j] *
a;
2292 for (i = 0; i <
fSizeX; i++) {
2293 for (j = 0; j <
fSizeY; j++) {
2294 new_area = new_area + working_matrix[i][j];
2297 if (new_area != 0) {
2298 a = old_area / new_area;
2299 for (i = 0; i <
fSizeX; i++) {
2300 for (j = 0; j <
fSizeY; j++) {
2301 fDest[i][j] = working_matrix[i][j] *
a;
2309 for (i = 0; i <
fSizeX; i++) {
2310 for (j = 0; j <
fSizeY; j++) {
2311 new_area = new_area + working_matrix[i][j];
2314 if (new_area != 0) {
2315 a = old_area / new_area;
2316 for (i = 0; i <
fSizeX; i++) {
2317 for (j = 0; j <
fSizeY; j++) {
2318 fDest[i][j] = working_matrix[i][j] *
a;
2326 for (i = 0; i <
fSizeX; i++) {
2327 for (j = 0; j <
fSizeY; j++) {
2328 new_area = new_area + working_matrix[i][j];
2331 if (new_area != 0) {
2332 a = old_area / new_area;
2333 for (i = 0; i <
fSizeX; i++) {
2334 for (j = 0; j <
fSizeY; j++) {
2335 fDest[i][j] = working_matrix[i][j] *
a;
2349 for (i = 0; i <
fSizeX; i++) {
2350 for (j = 0; j <
fSizeY; j++) {
2351 new_area = new_area + working_matrix[i][j];
2354 if (new_area != 0) {
2355 a = old_area / new_area;
2356 for (i = 0; i <
fSizeX; i++) {
2357 for (j = 0; j <
fSizeY; j++) {
2358 fDest[i][j] = working_matrix[i][j] *
a;
2364 for (i = 0; i <
fSizeX; i++) {
2365 if (working_matrix)
delete[]working_matrix[i];
2367 delete[]working_matrix;
2368 delete[]working_vector;
2443 Double_t *working_vector =
nullptr, **working_matrix =
nullptr;
2450 for (i = 0; i <
fSizeX; i++)
2462 for (i = 0; i <
fSizeX; i++)
2471 for (i = 0; i <
fSizeX; i++)
2477 for (i = 0; i <
fSizeX; i++) {
2478 for (j = 0; j <
fSizeY; j++) {
2479 working_matrix[i][j] = fSource[i][j];
2480 old_area = old_area + fSource[i][j];
2487 for (i = 0; i <
fSizeX; i++) {
2488 for (j = 0; j <
fSizeY; j++) {
2489 working_matrix[i][j] = fSource[i][j];
2490 old_area = old_area + fSource[i][j];
2497 for (i = 0; i <
fSizeX; i++) {
2498 for (j = 0; j <
fSizeY; j++) {
2499 working_matrix[i][j] = fSource[i][j];
2500 old_area = old_area + fSource[i][j];
2507 for (i = 0; i <
fSizeX; i++) {
2508 for (j = 0; j <
fSizeY; j++) {
2509 working_matrix[i][j] = fSource[i][j];
2510 old_area = old_area + fSource[i][j];
2517 for (i = 0; i <
fSizeX; i++) {
2518 for (j = 0; j <
fSizeY; j++) {
2519 working_matrix[i][j] = fSource[i][j];
2520 old_area = old_area + fSource[i][j];
2527 for (i = 0; i <
fSizeX; i++) {
2528 for (j = 0; j <
fSizeY; j++) {
2529 working_matrix[i][j] = fSource[i][j];
2530 old_area = old_area + fSource[i][j];
2543 for (i = 0; i <
fSizeX; i++) {
2544 for (j = 0; j <
fSizeY; j++) {
2545 working_matrix[i][j] = fSource[i][j];
2546 old_area = old_area + fSource[i][j];
2553 for (i = 0; i <
fSizeX; i++) {
2554 for (j = 0; j <
fSizeY; j++) {
2561 for (i = 0; i <
fSizeX; i++) {
2562 for (j = 0; j <
fSizeY; j++) {
2572 for (i = 0; i <
fSizeX; i++) {
2573 for (j = 0; j <
fSizeY; j++) {
2574 new_area = new_area + working_matrix[i][j];
2577 if (new_area != 0) {
2578 a = old_area / new_area;
2579 for (i = 0; i <
fSizeX; i++) {
2580 for (j = 0; j <
fSizeY; j++) {
2581 fDest[i][j] = working_matrix[i][j] *
a;
2589 for (i = 0; i <
fSizeX; i++) {
2590 for (j = 0; j <
fSizeY; j++) {
2591 new_area = new_area + working_matrix[i][j];
2594 if (new_area != 0) {
2595 a = old_area / new_area;
2596 for (i = 0; i <
fSizeX; i++) {
2597 for (j = 0; j <
fSizeY; j++) {
2598 fDest[i][j] = working_matrix[i][j] *
a;
2606 for (i = 0; i <
fSizeX; i++) {
2607 for (j = 0; j <
fSizeY; j++) {
2608 new_area = new_area + working_matrix[i][j];
2611 if (new_area != 0) {
2612 a = old_area / new_area;
2613 for (i = 0; i <
fSizeX; i++) {
2614 for (j = 0; j <
fSizeY; j++) {
2615 fDest[i][j] = working_matrix[i][j] *
a;
2623 for (i = 0; i <
fSizeX; i++) {
2624 for (j = 0; j <
fSizeY; j++) {
2625 new_area = new_area + working_matrix[i][j];
2628 if (new_area != 0) {
2629 a = old_area / new_area;
2630 for (i = 0; i <
fSizeX; i++) {
2631 for (j = 0; j <
fSizeY; j++) {
2632 fDest[i][j] = working_matrix[i][j] *
a;
2640 for (i = 0; i <
fSizeX; i++) {
2641 for (j = 0; j <
fSizeY; j++) {
2642 new_area = new_area + working_matrix[i][j];
2645 if (new_area != 0) {
2646 a = old_area / new_area;
2647 for (i = 0; i <
fSizeX; i++) {
2648 for (j = 0; j <
fSizeY; j++) {
2649 fDest[i][j] = working_matrix[i][j] *
a;
2657 for (i = 0; i <
fSizeX; i++) {
2658 for (j = 0; j <
fSizeY; j++) {
2659 new_area = new_area + working_matrix[i][j];
2662 if (new_area != 0) {
2663 a = old_area / new_area;
2664 for (i = 0; i <
fSizeX; i++) {
2665 for (j = 0; j <
fSizeY; j++) {
2666 fDest[i][j] = working_matrix[i][j] *
a;
2680 for (i = 0; i <
fSizeX; i++) {
2681 for (j = 0; j <
fSizeY; j++) {
2682 new_area = new_area + working_matrix[i][j];
2685 if (new_area != 0) {
2686 a = old_area / new_area;
2687 for (i = 0; i <
fSizeX; i++) {
2688 for (j = 0; j <
fSizeY; j++) {
2689 fDest[i][j] = working_matrix[i][j] *
a;
2695 for (i = 0; i <
fSizeX; i++) {
2696 if (working_matrix)
delete[]working_matrix[i];
2698 delete[]working_matrix;
2699 delete[]working_vector;