rayoptics.elem.sgz2ele module
Module for parsing a sequential model into elements
The grammar is as follows:
seq_model = object space optics image
optics = (part space)*
part = mangin / cemented / lens / mirror / surface / dummy / thin_lens
space = phantom / air / thickness
surface = "i"
lens = "iti"
mirror = "r"
air = "a"
thickness = "t"
cemented = "ititi"("ti")*
mangin = ~r"it(?:r|(?R))*ti"
thin_lens = "l"
dummy = "d"
phantom = "apa"
object = ~r"^d"
image = ~r"d$"