snr_ecc_evolving

legwork.snr.snr_ecc_evolving(m_1, m_2, f_orb_i, dist, ecc, harmonics_required, t_obs, n_step, t_merge=None, interpolated_g=None, interpolated_sc=None, n_proc=1, ret_max_snr_harmonic=False, ret_snr2_by_harmonic=False, **kwargs)[source]

Computes SNR for eccentric and evolving sources.

Note that this function will not work for exactly circular (ecc = 0.0) binaries.

Parameters:
m_1float/array

Primary mass

m_2float/array

Secondary mass

f_orb_ifloat/array

Initial orbital frequency

distfloat/array

Distance to the source

eccfloat/array

Eccentricity

harmonics_requiredint

Maximum integer harmonic to compute

t_obsfloat

Total duration of the observation

n_stepint

Number of time steps during observation duration

t_mergefloat/array

Time until merger

interpolated_gfunction

A function returned by scipy.interpolate.RectBivariateSpline that computes g(n,e) from Peters (1964). Default is None and uses exact g(n,e) in this case.

interpolated_scfunction

A function returned by scipy.interpolate.interp1d that computes the LISA sensitivity curve. Default is None and uses exact values. Note: take care to ensure that your interpolated function has the same LISA observation time as t_obs and uses the same instrument.

n_procint

Number of processors to split eccentricity evolution over, where the default is n_proc=1

ret_max_snr_harmonicboolean

Whether to return (in addition to the snr), the harmonic with the maximum SNR

ret_snr2_by_harmonicboolean

Whether to return the SNR^2 in each individual harmonic rather than the total. The total can be retrieving by summing and then taking the square root.

**kwargsvarious

Keyword args are passed to legwork.psd.power_spectral_density(), see those docs for details on possible arguments.

Returns:
snrfloat/array

SNR for each binary

max_snr_harmonicint/array

harmonic with maximum SNR for each binary (only returned if ret_max_snr_harmonic=True)