Details
-
Type:
Improvement
-
Status: To Do
-
Resolution: Unresolved
-
Fix Version/s: None
-
Component/s: afw
-
Labels:
-
Story Points:2
-
Epic Link:
-
Team:Alert Production
Description
lsst::afw::cameraGeom::TransformMap presently uses ast::FrameSet internally and keeps track of frame indices itself. However, ast::FrameDict (which was added after TransformMap was written) does all this itself, so simplify the TransformMap code by using FrameDict internally.
There is a trade-off required to do this: the coordinate system name and detector name must be combined into a single string that becomes the key used by FrameDict. Thus we need a separator that cannot be used by either the coordinate system name or the detector name and a bit of trivial code to combine them. This is only a minor nuisance, as we have to document the separator. However, TransformMap can return a list of supported CameraSys, so we also must be able to efficiently split the keys into system name and detector name. This is a bit more work, but C++ does provide appropriate calls. (We could avoid this by keeping a separate map of key: CameraSys, but that adds sufficient complexity that I do not think it would be worth making the proposed change.)