scopesim.optics.surface module¶
- class scopesim.optics.surface.PoorMansSurface(emission: Any, throughput: Any, meta: Any)[source]¶
Bases:
object
Solely used by SurfaceList.
- 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 indeg_C
, unless it is au.Quantity
with temperature unit attached. Return units are inPHOTLAM arcsec^-2
, even thougharcsec^-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¶