Source code for pyobs.robotic.scheduler.targets.siderealtarget

from typing import Self
from astropy.coordinates import SkyCoord
from pydantic import model_validator, PrivateAttr

from pyobs.utils.time import Time
from .target import Target


[docs] class SiderealTarget(Target): ra: float dec: float _coord: SkyCoord = PrivateAttr(default=SkyCoord(0.0, 0.0, unit="deg")) @model_validator(mode="after") def cache_coordinates(self) -> Self: self._coord = SkyCoord(ra=self.ra, dec=self.dec, frame="icrs", unit="deg") return self @property def coord(self) -> SkyCoord: return self._coord def coordinates(self, time: Time) -> SkyCoord: return self._coord def __str__(self) -> str: return f"{self.name} ({self._coord})"
__all__ = ["SiderealTarget"]