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.

58 lines
3.6 KiB

10 months ago
  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.335283084724005e-05f, -5.394341220986507e-08f, -1.1353152524130453e-06f,
  6. 9.213281616649267e-06f, -6.76457896718169e-07f, -0.0003740758569392804f};
  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.057523874477465e-09f, 1.0524178059699073e-11f, 6.46124765440666e-10f,
  12. 2.595690034874298e-09f, 8.044356540608104e-11f, 9.933758467661586e-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.9141402652138315f, 154.61935746400832f, 3719.298754021463f,
  19. -6981.575944838166f, -67.7612042340458f, 41484.88865215446f,
  20. 30544.717526101966f, 211219.00520598015f},
  21. {1.9802106454737567f, 146.34197177414035f, 3766.9995843145575f,
  22. -7381.001822418669f, 18.407833054380728f, 42635.398541425144f,
  23. 31434.95400997568f, 218404.36150766257f},
  24. {2.6036680178541256f, 53.231282135657125f, 4236.335446831202f,
  25. -10844.798302911375f, 986.1498917330866f, 52670.269097485856f,
  26. 39380.4857744525f, 281250.90766092145f},
  27. {2.6802443731107797f, 40.75834605688442f, 4296.645356936966f,
  28. -11234.776424245354f, 1115.363228090216f, 53813.817216417505f,
  29. 40299.07624778942f, 288431.507847565f},
  30. {3.3827128857688793f, -76.61325300322648f, 4875.424130053332f,
  31. -14585.199358667853f, 2322.162251501158f, 63618.048819648175f,
  32. 48278.83901554796f, 350657.56046107266f},
  33. {3.4657288815375846f, -90.58976402034898f, 4946.538479838353f,
  34. -14962.319670402725f, 2464.758450826609f, 64707.51942328425f,
  35. 49179.43246319585f, 357681.17176708044f}}};
  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.5415524238347658f, 63.25841388467006f, 4187.534822693825f,
  42. -10520.25391602297f, 881.6859925052617f, 51730.04107647908f,
  43. 38622.50428524951f, 275325.5721020971f};
  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.9346197967408639f, -0.4658007458482092f, -4.119808929050499f,
  49. 2.9514781492224613f, 12.5961355543964f, 39.98472114588754f};
  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.2034772990836242e-05f, 8.344645618037317e-05f, -3.924972865228243e-05f,
  55. 0.00024639290417116324f, 0.0001867723161873795f};
  56. // param[0]*ty dSlope_xEndT^2 + param[1]*ty dSlope_yEndT^2
  57. static constexpr std::array<float, 2> bendYParams{-1974.6355416889746f,
  58. -35933.837494833504f};