Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-13481

Refactor and unify CoaddPsf, CoaddBoundedField, and CoaddTransmissionCurve

    Details

    • Type: Story
    • Status: To Do
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: meas_algorithms
    • Labels:
      None
    • Templates:
    • Story Points:
      4
    • Team:
      Data Release Production

      Description

      These components all do similar things but take different approaches to their implementation and public interface, making it hard to share much code between them.

      • CoaddPsf uses an internal ExposureCatalog, which makes both its persisted and in-memory sizes larger than they need to be, but simplifies its persistence and evaluation code.  CoaddBoundedField and CoaddTransmissionCurve (still WIP on DM-12370) use a vector of custom structs to avoid this.
      • CoaddPsf and CoaddBoundedField have public interfaces that are strongly tied to these implementation choices, while CoaddTransmissionCurve's implementation is entirely private (even the class itself is hidden behind a factory function).

      All three classes should probably use a vector a shared object (not ExposureCatalog, but also not vectors of custom structs) to consolidate persistence and lookup code.  They should also probably all be hidden behind private factory functions or at least take a consistent approach to this question that does not expose their implementations.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jbosch Jim Bosch
                Reporter:
                jbosch Jim Bosch
                Watchers:
                Jim Bosch
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Summary Panel