14 FieldstrengthBz_m(nullptr),
15 FieldstrengthBx_m(nullptr),
16 FieldstrengthBy_m(nullptr) {
18 std::string tmpString;
25 bool parsing_passed =
true;
27 interpretLine<std::string>(file, tmpString);
29 parsing_passed = interpretLine<std::string, std::string>(file, tmpString, tmpString);
32 if (tmpString !=
"TRUE" &&
35 "The second string on the first line of 3D field "
36 "maps has to be either TRUE or FALSE");
41 parsing_passed = parsing_passed &&
43 parsing_passed = parsing_passed &&
45 parsing_passed = parsing_passed &&
49 parsing_passed = parsing_passed &&
50 interpretLine<double>(file,
56 parsing_passed = parsing_passed &&
63 "An error occured when reading the fieldmap '" +
Filename_m +
"'");
83 "An error occured when reading the fieldmap '" +
Filename_m +
"'");
209 unsigned short switchX = ((corner &
HX) >> 2), switchY = ((corner &
HY) >> 1), switchZ = (corner &
HZ);
210 double factorX = 0.5 + (1 - 2 * switchX) * (0.5 - idx.
weight(0));
211 double factorY = 0.5 + (1 - 2 * switchY) * (0.5 - idx.
weight(1));
212 double factorZ = 0.5 + (1 - 2 * switchZ) * (0.5 - idx.
weight(2));
214 unsigned long i = idx.
i + switchX, j = idx.
j + switchY, k = idx.
k + switchZ;
216 return factorX * factorY * factorZ * data[
getIndex(i, j, k)];