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.interp2d that computes g(n,e) from Peters (1964). The code assumes that the function returns the output sorted as with the interp2d returned functions (and thus unsorts). 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)