-
Samuel Rowlinson authored
Now storing changing ABCD element expressions in relevant workspaces based on apriori knowledge. For example, we know that only the C element of Mirror ABCD matrices can change so only the C element changing expressions are stored and updated (if they are indeed changing). Cleaned up the way ABCD matrices get stored in the components themselves. Now only keeping a single reference to each numpy array where relevant - e.g. Lens now stores just has directions as keys in its _abcd_matrices dict as both forward & backward propagations give the same matrix. This just makes dealing with this stuff easier in the C code when considering views and pointers to each matrix.
d9411b07