Modify injection module to support space-based detector class
This PR adds support for generating injections using a space-based detector response.
This change affects: injection generation.
This change changes: primarily the inject module, with some minor additions to the detector and distributions modules to be compatible with the inject changes. The latter changes should be purely additive, though; the behaviors of ground-based detectors should remain unchanged from current usage.
Motivation
A method for generating and reading frame files for space-based signals is required for eventual space-based PE. While #4691 adds the ability to generate space-based detector responses by-hand, the changes here allow for this to be written to a frame file via the inject module. Similar functionality is available via BBHx for MBHBs. However, this PR seeks to add support for general space-based signals natively in PyCBC, ideally matching the current output of BBHx for the same injection parameters.
Contents
- Modify the
injectmodule to apply simulated signals to a strain using a space-based detector response.- Add the ability to read in generalized sky coordinates from the detector class
- Allow for
project_wavemethod in detector classes to accept kwargs from injection file - Generalize light travel time buffers based on coordinate system (i.e. SSB, geocentric) and detector (i.e. arm length)
- Generalize estimation of injection length based on the scale of the system
- Add properties to
detectorclasses that print off accepted sky location parameters (e.g. ra/dec, ecliptic longitude/latitude) - Add support for reading empty strings in injection configuration files as True in
distributions
Links to any issues or associated PRs
The space-based response is applied using the code changes from PR #4691. Any changes to that PR will be applied here once that PR is merged to master.