You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
4.1 KiB

  1. // param[0]*dSlope_fringe + param[1]*tx dSlope_fringe + param[2]*ty
  2. // dSlope_fringe + param[3]*tx^2 dSlope_fringe + param[4]*tx ty dSlope_fringe +
  3. // param[5]*ty^2 dSlope_fringe
  4. static constexpr std::array<float, 6> cxParams{
  5. 2.367774378066799e-05f, 3.1004441531669574e-08f, -1.605483898174686e-06f,
  6. 1.1210365445813011e-05f, -1.5377217306094694e-06f, -0.0004017786583715275f};
  7. // param[0]*dSlope_fringe + param[1]*tx dSlope_fringe + param[2]*ty
  8. // dSlope_fringe + param[3]*tx^2 dSlope_fringe + param[4]*tx ty dSlope_fringe +
  9. // param[5]*ty^2 dSlope_fringe
  10. static constexpr std::array<float, 6> dxParams{
  11. -7.0451952947738354e-09f, 3.945903225460629e-12f, 7.781625527098891e-10f,
  12. 4.431230284316372e-09f, -6.953255361210171e-10f, 9.550879522874042e-08f};
  13. // param[0]*dSlope_fringe + param[1]*ty dSlope_fringe_abs + param[2]*ty tx
  14. // dSlope_fringe + param[3]*ty^3 dSlope_fringe_abs + param[4]*ty tx^2
  15. // dSlope_fringe_abs + param[5]*ty^3 tx dSlope_fringe + param[6]*ty tx^3
  16. // dSlope_fringe + param[7]*ty^3 tx^2 dSlope_fringe_abs
  17. static constexpr std::array<std::array<float, 8>, 6> yCorrParamsLayers{
  18. {{1.3474248860762983f, 130.11076651128678f, 5340.4596274347305f,
  19. -4851.065334436029f, -1794.2875686564955f, 5382.788590159561f,
  20. -671.3560455465264f, 49884.52533632587f},
  21. {1.393952177794525f, 119.60770632016337f, 5436.422762146092f,
  22. -5092.354966706172f, -1675.653323542881f, 5153.922220636538f,
  23. -453.1292795803567f, 51617.74282139478f},
  24. {1.8442343325658632f, 6.8275114407249475f, 6332.274499162861f,
  25. -7133.638977242854f, -365.78962325877814f, 2626.433700910796f,
  26. 1672.1494476186358f, 65599.08848512608f},
  27. {1.900686334976461f, -7.940491195690186f, 6442.018755365796f,
  28. -7357.325848186985f, -192.23144827875396f, 2280.857790590392f,
  29. 1923.1472661054195f, 67044.82829094905f},
  30. {2.425727702398976f, -145.79930142635806f, 7456.268660500962f,
  31. -9238.073593806623f, 1430.2291325623407f, -1180.8774121065728f,
  32. 4040.9166649185836f, 78397.0115693063f},
  33. {2.488333771252118f, -162.15280506652812f, 7577.281438257911f,
  34. -9446.412486824844f, 1622.389028392822f, -1621.440794398176f,
  35. 4270.60182443343f, 79569.50539599231f}}};
  36. // param[0]*dSlope_fringe + param[1]*ty dSlope_fringe_abs + param[2]*ty tx
  37. // dSlope_fringe + param[3]*ty^3 dSlope_fringe_abs + param[4]*ty tx^2
  38. // dSlope_fringe_abs + param[5]*ty^3 tx dSlope_fringe + param[6]*ty tx^3
  39. // dSlope_fringe + param[7]*ty^3 tx^2 dSlope_fringe_abs
  40. static constexpr std::array<float, 8> yCorrParamsRef{
  41. 1.7987635226365302f, 18.744334588582092f, 6242.719025160538f,
  42. -6946.163263452655f, -506.30266635330634f, 2908.3584282966212f,
  43. 1464.710417044897f, 64389.16858092022f};
  44. // param[0]*ty tx dSlope_fringe + param[1]*ty dSlope_fringe^2 + param[2]*ty^3
  45. // dSlope_fringe_abs + param[3]*ty tx^2 dSlope_fringe_abs + param[4]*ty tx^3
  46. // dSlope_fringe + param[5]*ty^3 tx^2 dSlope_fringe_abs
  47. static constexpr std::array<float, 6> tyCorrParamsRef{
  48. 1.0280165532713306f, -0.47942460227173767f, -2.6982833566794304f,
  49. 0.7316231294188605f, 1.969506908220979f, 25.349524745353946f};
  50. // param[0]*ty dSlope_fringe_abs + param[1]*ty tx dSlope_fringe + param[2]*ty
  51. // dSlope_fringe^2 + param[3]*ty^3 dSlope_fringe_abs + param[4]*ty tx^2
  52. // dSlope_fringe_abs
  53. static constexpr std::array<float, 5> cyParams{
  54. -1.103981853968599e-05f, 7.046563109285905e-05f, -4.140028527399551e-05f,
  55. 0.00021959107412548358f, 0.00017736607823106676f};
  56. // param[0]*ty dSlope_xEndT^2 + param[1]*ty dSlope_yEndT^2
  57. static constexpr std::array<float, 2> bendYParamsMatch{-1239.2553109773403f,
  58. -86630.344942859f};
  59. // param[0]*dSlope_yEndT + param[1]*ty dSlope_xEndT_abs + param[2]*ty
  60. // dSlope_yEndT_abs + param[3]*ty tx dSlope_xEndT + param[4]*ty dSlope_xEndT^2 +
  61. // param[5]*ty dSlope_yEndT^2 + param[6]*tx^2 dSlope_yEndT + param[7]*ty tx^2
  62. // dSlope_xEndT_abs + param[8]*ty^3 tx dSlope_xEndT
  63. static constexpr std::array<float, 9> bendYParams{
  64. 3682.0115146458256f, 72.985687376518f, 349.6067709006536f,
  65. 2476.2407038570277f, 1265.678672097613f, 4158.454833125193f,
  66. 4053.021919112473f, -309.19179906189663f, 15843.943404779522f};