Source code for pyreduce.instruments.XSHOOTER

"""
Handles instrument specific info for the UVES spectrograph

Mostly reading data from the header
"""

import logging
import os.path

from ..common import Instrument

logger = logging.getLogger(__name__)


[docs] class XSHOOTER(Instrument):
[docs] def add_header_info(self, header, channel, **kwargs): """read data from header and add it as REDUCE keyword back to the header""" # "Normal" stuff is handled by the general version, specific changes to values happen here # alternatively you can implement all of it here, whatever works header = super().add_header_info(header, channel) header["e_backg"] = ( header["e_readn"] + header["e_exptime"] * header["e_drk"] / 3600 ) header["e_ra"] /= 15 if header["e_jd"] is not None: header["e_jd"] += header["e_exptime"] / 2 / 3600 / 24 + 0.5 return header
[docs] def get_wavecal_filename(self, header, channel, **kwargs): """Get the filename of the wavelength calibration config file""" cwd = os.path.dirname(__file__) fname = f"wavecal_{channel.lower()}.npz" fname = os.path.join(cwd, fname) return fname