Sometimes it would be useful to apply uncertainties in local coordinates. An example is REDSOX where +x means something very different for the 3 multi-layer mirrors. Here, it would be more useful to to the misalignment in local coordinates, i.e. +x means "along the coordinates of the graded ML mirror". I think design.tolerances could provide a function or a decorator to rotate the translation bit (need to think about the rotation) of a misalignment into the local coordinates system first. Alternatively, Parallel objects could get a switch or a second set of uncertainties to decide at what point (before or after setting the pos3d) the uncertainty is applied.
Sometimes it would be useful to apply uncertainties in local coordinates. An example is REDSOX where +x means something very different for the 3 multi-layer mirrors. Here, it would be more useful to to the misalignment in local coordinates, i.e. +x means "along the coordinates of the graded ML mirror". I think
design.tolerances
could provide a function or a decorator to rotate the translation bit (need to think about the rotation) of a misalignment into the local coordinates system first. Alternatively,Parallel
objects could get a switch or a second set of uncertainties to decide at what point (before or after setting the pos3d) the uncertainty is applied.