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.3628306778018416e-05f, -7.19771861165089e-08f, 3.248418380328151e-07f,
  6. 2.6881717464207296e-05f, -6.537420589831312e-06f, -0.00039289581962324784f};
  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.18790793915834e-09f, 4.7986327974178375e-11f, 7.13463998213032e-11f,
  12. -2.520224089278051e-09f, 2.4747440852381746e-09f, 1.0762574214248519e-07f};
  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. {{2.1306770885304434f, 180.2222209770173f, 4853.131101890899f,
  19. -6123.652925937315f, -4551.240678305918f, 20632.60305510518f,
  20. -3415.29123274347f, 126559.1007926661f},
  21. {2.175203716660659f, 172.72381981701915f, 4945.014188634468f,
  22. -6380.830571564433f, -4602.924072668265f, 20829.635141565563f,
  23. -3433.806494914635f, 130007.59152024389f},
  24. {2.5743317586923378f, 87.71266516089986f, 5809.530207031148f,
  25. -8537.845860421816f, -4911.821579598318f, 22092.036589321608f,
  26. -3508.5221607663275f, 159121.63414772807f},
  27. {2.6221658200701587f, 76.28409732811838f, 5915.576830201963f,
  28. -8774.579607632928f, -4935.012900704745f, 22188.94235854527f,
  29. -3513.1127646983728f, 162352.835562057f},
  30. {3.0618206552501497f, -31.425432378983942f, 6892.109900105941f,
  31. -10782.129032247016f, -5080.737404519508f, 22668.517828933243f,
  32. -3566.7147088003135f, 189848.13210005284f},
  33. {3.1141241701319005f, -44.26600930559903f, 7008.146581992213f,
  34. -11006.31695746298f, -5093.302574444156f, 22685.666476870472f,
  35. -3576.0133538470614f, 192911.92951651153f}}};
  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. 2.5355725519292434f, 96.89447197746154f, 5722.961028387106f,
  42. -8339.764244653692f, -4891.242037601194f, 22010.28473985554f,
  43. -3504.4195149839848f, 156448.99209783948f};
  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. 0.9899471139088064f, -0.5059432055201221f, -2.550570603988762f,
  49. 0.7450738950403519f, 1.3031387871014593f, 19.816645982113517f};
  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. -7.441766369680508e-06f, 4.336997757623537e-05f, -5.006101739000532e-05f,
  55. 0.00021282438531792388f, 8.518341859535606e-05f};
  56. // param[0]*ty dSlope_xEndT^2 + param[1]*ty dSlope_yEndT^2
  57. static constexpr std::array<float, 2> bendYParamsMatch{-2013.996976697715f,
  58. -36581.28872679571f};
  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. 4670.131906805909f, 34.01176857068833f, 2572.4275106696755f,
  65. 1877.7857102923758f, 1795.5732039840786f, -134.38955819620367f,
  66. 912.253244700893f, -1587.9787371800358f, 21149.39490754696f};