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

Refactor and unify CoaddPsf, CoaddBoundedField, and CoaddTransmissionCurve

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Won't Fix
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: meas_algorithms
    • Labels:
      None
    • 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

            No work has yet been logged on this issue.

              People

              Assignee:
              jbosch Jim Bosch
              Reporter:
              jbosch Jim Bosch
              Watchers:
              Jim Bosch, Tim Jenness
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.