Source code for lezargus.simulation.spectre

"""Simulation code for simulating SPECTRE observations."""

from lezargus import library
from lezargus.library import hint
from lezargus.library import logging



[docs] class SimulatorSpectre(): """Simulate a SPECTRE observation. We group all of the functions needed to simulate a SPECTRE observation into this class. It it easier to group all of data and needed functions this way. Attributes ---------- astrophysical_object_spectra : LezargusSpectra The "perfect" spectra of the astrophysical object who's observation is being modeled. """
[docs] def __init__(self:"SimulatorSpectre") -> None: """Instantiate the SPECTRE simulation class. Parameters ---------- None Returns ------- None """
[docs] def create_astrophysical_object_spectra(self:"SimulatorSpectre", temperature:float, magnitude:float, filter_profile:hint.LezargusSpectra, filter_zero_point:float) -> None: """Create the astrophysical object from first principles. This function creates and stores the astrophysical object spectra modeled as a blackbody of a specific temperature. If a custom spectra is to be provided, please see :py:meth:`custom_astrophysical_object_spectra`. The data is stored in this class internally as :py:attr:`astrophysical_object_spectra`. Parameters ---------- temperature : float The temperature of the black body spectra. magnitude : float The magnitude of the object in the photometric filter system provided. filter_profile : LezargusSpectra The filter transmission profile, packaged as a LezargusSpectra. It does not need to have any header data. We assume a Vega-based photometric system. filter_zero_point : float The zero point value of the filter. Returns ------- None """
[docs] def custom_astrophysical_object_spectra(self:"SimulatorSpectre", custom_spectra:hint.LezargusSpectra) -> None: """blaw"""