scopesim.optics.surface module¶
- class scopesim.optics.surface.PoorMansSurface(emission: Any, throughput: Any, meta: Any)[source]¶
Bases:
objectSolely used by SurfaceList.
- class scopesim.optics.surface.SpectralSurface(filename=None, cmds=None, **kwargs)[source]¶
Bases:
objectInitialised 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.Quantitywith temperature unit attached. Return units are inPHOTLAM arcsec^-2, even thougharcsec^-2is 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¶