SFDB reading for CW codes
Description
This adds new lalpulsar functionality to read the SFDB data format from the Rome Virgo group and translate it into the LALSuite SFT format. This is mainly done by the XLALReadSFDB()
function which can then be called from any analysis code as a drop-in-replacement for regular SFT reading. In addition, a new executable lalapps_WriteSFTsfromSFDBs
uses that function to write the data back to disk in SFT format. There are two test scripts, a basic one in lalpulsar and a more detailed one in lalapps comparing against reference SFTs made from the same input frame as the test SFDB.
The initial idea and majority of this work has been by @pep.covas, now no longer in the collaboration. @rodrigo.tenorio and I have further cleaned up the code, added the test cases, etc, with friendly support from the Rome group, especially @pia.astone, @paola.leaci and @luca-rei. @karl-wette has helped with the test scripts. The branch has quite a few commits, but we've already partially squashed it and would prefer it to be merged as is (instead of as a single commit), to keep the individual contributions (especially Pep's) visible.
API Changes and Justification
Backwards Compatible Changes
-
This change introduces no API changes -
This change adds new API calls
Backwards Incompatible Changes
-
This change modifies an existing API -
This change removes an existing API
Review Status
@karl-wette has already taken a detailed look at a slightly earlier version of this branch. In addition to the test scripts using short fake data, @rodrigo.tenorio has done detailed tests on O3a real data and in conversation with the Rome side the results have been found to be as expected.