Compensation¶
-
class
lsst.ts.hexapod.
Compensation
(*, elevation_coeffs, temperature_coeffs, min_temperature, max_temperature)¶ Bases:
object
Compute hexapod compensation for elevation, azimuth, and temperature.
The compensation is computed as offsets for x, y, z, u, v, w.
Parameters: - elevation_coeffs :
list
[list
[float
]] Elevation
CosinePolynomial
coefficients, as a sequence of 6 coefficient sequences, for x, y, z, u, v, w. Each coefficient sequence must contain at least one element. Here is an example showing valid, though unrealistic, values:elevation_coeffs=[ [0.11, 0.012], [0.21], [0.31, 0.032, -0.0033], [0.000042, 0.000042], [0.000052, 0.000052], [0.000062], ]
- temperature_coeffs :
list
[list
[float
]] Temperature
RangedPolynomial
coefficients, with the same format aselevation_coeffs
.- min_temperature :
float
Minimum temperature for which
temperature_coeffs
is valid.- max_temperature :
float
Maximum temperature for which
temperature_coeffs
is valid.
Raises: - ValueError
If
elevation_coeffs
,azimuth_coeffs
ortemperature_coeffs
is not a sequence of 6 items, or if any item is not a sequence of floats with at least 1 element.
Methods Summary
get_offsets
(elevation, azimuth, temperature)Get compensation offsets. Methods Documentation
-
get_offsets
(elevation, azimuth, temperature)¶ Get compensation offsets.
Parameters: - elevation :
float
Telescope elevation (deg). Must be in range [0, 90].
- azimuth :
float
Telescope azimuth (deg). There are no range limits; azimuth is wrapped as needed.
- temperature :
float
Ambient temperature (C). There are no range limits; see
RangedPolynomial
for details.
Returns: Raises: - ValueError
If elevation not in range [0, 90].
- elevation :
- elevation_coeffs :