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