Function lupnt::CheckedCoordinateScaleRatio

Function Documentation

inline double lupnt::CheckedCoordinateScaleRatio(CoordinateScale from, CoordinateScale to)

Ratio CoordinateScaleFactor(to) / CoordinateScaleFactor(from), throwing if the two scales are not related by a constant IAU scale factor.

Used by ScaleLengthForCoordinateScaleChecked, ScaleGravitationalParameterForCoordinateScaleChecked, ScalePositionForCoordinateScale, and ScaleStateForCoordinateScale (and exposed to Python as coordinate_scale_ratio) to convert ephemeris positions/states produced in CoordinateScale::TDB (e.g. by GetBodyPosVel/GetBodyPos in lupnt/data/kernels.cc) into another requested coordinate scale.

Parameters:
  • from – Source coordinate scale

  • to – Target coordinate scale

Throws:

std::invalid_argument – if from and to are not related by a constant scale factor

Returns:

Scale ratio to/from