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.3868254581810784e-05f, 3.02866836110634e-07f, -1.258134546869174e-06f,
  6. 2.055125622745459e-05f, -8.43882857604563e-07f, -0.00040419320773762247f};
  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.1656923176439955e-09f, -6.483478746098866e-11f, 6.406471716433269e-10f,
  12. 3.030968257925674e-09f, -1.071410974481206e-09f, 9.693189165639112e-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.3688049952020758f, 135.09204877769724f, 5183.447314315424f,
  19. -5209.988119695723f, -2415.7166344286074f, 8795.85783210857f,
  20. 2069.457237064429f, 91317.38235042075f},
  21. {1.4172960818384617f, 124.06283247025283f, 5283.251381769978f,
  22. -5463.641224410536f, -2323.869285883205f, 8699.990318702852f,
  23. 2232.0370393994895f, 94150.47618101149f},
  24. {1.8864299295556193f, 5.767416383218119f, 6226.590579931637f,
  25. -7608.642389795354f, -1252.6010204186323f, 7270.87237766583f,
  26. 3714.0085836168146f, 117489.02617311807f},
  27. {1.9451405249311116f, -9.7012851981317f, 6342.998679882009f,
  28. -7843.817065804064f, -1107.0739172034819f, 7044.4286321180025f,
  29. 3877.509106570216f, 119984.79231192796f},
  30. {2.489326023769284f, -153.87073828414464f, 7421.00043944685f,
  31. -9823.442069109278f, 262.4878616443491f, 4590.036718172717f,
  32. 5162.878437180566f, 140426.87180766204f},
  33. {2.5539656260801014f, -170.9487830752297f, 7549.649148157026f,
  34. -10043.0261839414f, 424.98147421267777f, 4262.009669219739f,
  35. 5292.849022143505f, 142631.72702927233f}}};
  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.8391888595075918f, 18.25466104513896f, 6131.688050046953f,
  42. -7411.584102637481f, -1370.094839995361f, 7453.355097839984f,
  43. 3577.049389483069f, 115408.1720252512f};
  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.0460150796565257f, -0.4770571101284279f, -2.898523033574428f,
  49. 0.6493580937115923f, 2.4710543113441723f, 34.31448035425585f};
  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.1198641299272948e-05f, 7.646913456456331e-05f, -4.144044458309573e-05f,
  55. 0.00022907832215516983f, 0.00018538023542764083f};
  56. // param[0]*ty dSlope_xEndT^2 + param[1]*ty dSlope_yEndT^2
  57. static constexpr std::array<float, 2> bendYParamsMatch{-1267.987032039514f,
  58. -77829.45282454212f};
  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. 3724.407618683348f, 80.91359420280105f, 418.25627465185966f,
  65. 2429.8096256553517f, 1266.8223339973058f, 4649.86772069172f,
  66. 3009.012537455061f, -813.6962531711048f, 15472.986803207034f};