This is a non-traditional brainstorming RFC to gather preliminary input prior to design work. The (mostly-)completed design will be RFC'd separately in the future (and I'm not even planning to start that work for several weeks).
My goal is to replace afw::image::Filter with something that:
- minimizes the use of singletons;
- maps to the Gen3 PhysicalFilter and AbstractFilter concepts (probably with separate classes for these);
- has a sensible relationship with cameraGeom (probably just "Camera has a set of PhysicalFilters");
- has a sensible relationship with TransmissionCurve (not obvious; could be "PhysicalFilter has TransmissionCurve" or "PhysicalFilter can be used to retrieve a TransmissionCurve from a calibration repo");
- can be easily mangled into deterministic integer IDs without addition or subtraction of filters breaking old IDs;
- natively supports or can be extended to support sub-filters for DCR-correctable coadds.
More use cases and design ideas welcome.