Asterism¶
Overview¶
An Asterism is a collection of Source objects representing multiple guide stars (NGS and/or LGS). It can be coupled to a Telescope in place of a single source, enabling multi-source and tomographic AO simulations.
When an asterism is coupled to a telescope and an atmosphere, each source in the asterism receives an independent OPD slice computed from the atmosphere layers, accounting for each source’s altitude and sky coordinates.
Quick start¶
from OOPAO.Source import Source
from OOPAO.Asterism import Asterism
src_on = Source('H', magnitude=8, coordinates=[0, 0])
src_gs1 = Source('R', magnitude=9, coordinates=[30, 0])
src_gs2 = Source('R', magnitude=9, coordinates=[30, 120])
src_gs3 = Source('R', magnitude=9, coordinates=[30, 240])
ast = Asterism([src_gs1, src_gs2, src_gs3])
# Propagate through the chain — relay() called on each source independently
ast * tel * wfs
# Reset all source EM fields and optical paths, then propagate
ast ** atm * tel * wfs
API reference¶
- class OOPAO.Asterism.Asterism(list_src)[source]¶
Collection of
Sourceobjects for multi-source simulations.Key properties
Operator summary
Expression
Effect
ast * objCall
obj.relay(src)for each source in the asterismast ** objReset EM field and optical path for each source, then relay
ast * tel * wfsPropagate all sources through telescope then WFS
ast ** atm * tel * wfsFull reset + atmosphere + telescope + WFS for all sources