sensemon_range#

gwpy.astro.sensemon_range(
psd: FrequencySeries,
snr: float = 8,
mass1: float = 1.4,
mass2: float = 1.4,
fmin: float | None = None,
fmax: float | None = None,
*,
horizon: bool = False,
) units.Quantity[source]#

Approximate the inspiral sensitive distance from a GW strain PSD.

This method returns the distance (in megaparsecs) to which a compact binary inspiral with the given component masses would be detectable given the instrumental PSD. The calculation is as defined in: LIGO-T030276.

Parameters:
psdFrequencySeries

The instrumental power-spectral-density data

snrfloat, optional

The signal-to-noise ratio for which to calculate range.

mass1float, Quantity, optional

The mass of the first binary component (float assumed in solar masses).

mass2float, Quantity, optional

The mass of the second binary component (float assumed in solar masses).

fminfloat, optional

The lower frequency cut-off of the integral, default: psd.df.

fmaxfloat, optional

The maximum frequency limit of the integral, defaults to innermost stable circular orbit (ISCO) frequency

horizonbool, optional

If True, return the maximal ‘horizon’ sensitive distance, otherwise return the angle-averaged range.

Returns:
rangeQuantity

the calculated inspiral range [Mpc]

Examples

Grab some data for LIGO-Livingston around GW150914 and generate a PSD:

>>> from gwpy.timeseries import TimeSeries
>>> hoft = TimeSeries.fetch_open_data("H1", 1126259446, 1126259478)
>>> hoff = hoft.psd(fftlength=4)

Now we can calculate the sensemon_range():

>>> from gwpy.astro import sensemon_range
>>> r = sensemon_range(hoff, fmin: float = 30)
>>> print(r)
70.4612102889 Mpc