Details
Description
For writing PFS data, we want elements of the dataId to allow unsigned 64-bit integer values (e.g., object identifiers or hashes). This is not currently possible, because the butler puts the dataId into a PropertySet (as "additionalData"), and PropertySet does not support unsigned 64-bit integers (signed 64-bit integers are allowed).
I will add u64 support to PropertySet. This may not be something that LSST cares strongly about (because of Gen3 efforts), but this is something that we would like to see get into a 18.x release so we can base the PFS work off that for the next year or so.
Tim Jenness, would you mind having a look at this change, since I believe you're the last person to consider this area.
A Jenkins run is underway.
price@price-laptop:~/LSST/daf_base/python (tickets/DM-20506=) $ git sub
commit a0d3076fddd8a52db762548341633fbe1ce28f0c (HEAD -> tickets/DM-20506, origin/tickets/DM-20506)
Author: Paul Price <price@astro.princeton.edu>
Date: Wed Jul 10 13:53:31 2019 -0400
PropertySet: add support for u64
This allows the use of unsigned 64-bit integers (e.g., for
object IDs or hashes) as values in PropertySet. This can be
important, since the Gen2 butler stuffs the dataId into a
PropertySet.
include/lsst/daf/base/PropertySet.h | 11 +++++++++
.../propertyContainerContinued.py | 18 +++++++++++----
.../lsst/daf/base/propertyContainer/propertySet.cc | 2 ++
src/PropertySet.cc | 27 ++++++++++++++++++++++
tests/test_PropertySet_1.cc | 15 ++++++++++++
tests/test_PropertySet_2.py | 25 ++++++++++++++++++++
6 files changed, 94 insertions(+), 4 deletions(-)