Allow int and float es transreflectivity and noise

This commit is contained in:
Lukas Klass 2020-04-14 16:20:25 +02:00
parent 6f984f7730
commit 998ae066af
3 changed files with 6 additions and 8 deletions

View File

@ -34,8 +34,7 @@ class AHotOpticalComponent(AOpticalComponent):
bb = BlackBody(temperature=temp, scale=1. * u.W / (u.m ** 2 * u.nm * u.sr))
self._noise = SpectralQty(wl_bins, bb(wl_bins)) * emissivity
else:
# Create zero dummy noise
self._noise = SpectralQty(wl_bins, [0] * len(wl_bins) << u.W / (u.m ** 2 * u.nm * u.sr))
self._noise = 0
def ownNoise(self) -> SpectralQty:
"""

View File

@ -4,6 +4,7 @@ from ..SpectralQty import SpectralQty
from esbo_etc.lib.helpers import error
import astropy.units as u
from astropy.modeling.models import BlackBody
from typing import Union
class AOpticalComponent(ITransmissive):
@ -13,9 +14,9 @@ class AOpticalComponent(ITransmissive):
@abstractmethod
@u.quantity_input(obstructor_temp=[u.K, u.Celsius])
def __init__(self, parent: ITransmissive, transreflectivity: SpectralQty = None,
noise: SpectralQty = None, obstruction: float = 0, obstructor_temp: u.Quantity = 0 * u.K,
obstructor_emissivity: float = 0):
def __init__(self, parent: ITransmissive, transreflectivity: Union[SpectralQty, int, float, u.Quantity] = None,
noise: Union[SpectralQty, int, float, u.Quantity] = None, obstruction: float = 0,
obstructor_temp: u.Quantity = 0 * u.K, obstructor_emissivity: float = 0):
"""
Initialize a new optical component

View File

@ -24,7 +24,5 @@ class StrayLight(AOpticalComponent):
# Read the emission
emission_sqty = SpectralQty.fromFile(emission, wl_unit_default=u.nm,
qty_unit_default=u.W / (u.m**2 * u.nm * u.sr))
# Create dummy transmittance
transmittance_sqty = SpectralQty(emission_sqty.wl, [1] * len(emission_sqty.wl) * u.dimensionless_unscaled)
# Initialize the super class
super().__init__(parent, transmittance_sqty, emission_sqty)
super().__init__(parent, 1.0, emission_sqty)