scopesim.optics.surface module

class scopesim.optics.surface.PoorMansSurface(emission: Any, throughput: Any, meta: Any)[source]

Bases: object

Solely used by SurfaceList.

emission: Any
meta: Any
throughput: Any
class scopesim.optics.surface.SpectralSurface(filename=None, cmds=None, **kwargs)[source]

Bases: object

Initialised by a file containing one or more of the following columns: transmission, emissivity, reflection. The column wavelength must be given. Alternatively kwargs for the above mentioned quantities can be passed as arrays. If they are not Quantities, then a unit should also be passed with the <array_name>_unit syntax (i.e. emission_unit or wavelength_unit)

If temperature is not given as a Quantity, it defaults to degrees Celsius.

property area
property emission

Look for an emission array in self.meta.

If it doesn’t find this, it defaults to creating a blackbody and multiplies this by the emissivity. Assumption is that self.meta["temperature"] is in deg_C, unless it is a u.Quantity with temperature unit attached. Return units are in PHOTLAM arcsec^-2, even though arcsec^-2 is not given.

property emissivity
from_meta(key, default_unit=None)[source]

Convert a specific value in the meta dict to a Quantity.

Parameters:
keystr

Which key to pull from self.meta

default_unitstr, Unit

In case self.meta doesn’t contain a unit for the desired key

Returns:
meta_quantityQuantity
property mirror_angle
property reflection
property throughput
property transmission
property wavelength