Detectors and Networks#

Networks#

class Network(detector_ids: list[str], detection_SNR: tuple[float, float] = (0.0, 10.0), config: pathlib.Path = DEFAULT_CONFIG)

Class for a network of detectors.

Example initialization:

>>> network = Network(['ET', 'CE1'])
>>> print(network.name)
ET_CE1

Attr detectors

list of Detector objects

Initialization

Parameters
  • detector_ids – list of detector names

  • detection_SNR

    tuple of single-detector and network detection threshold SNR

    • the first value is single-detector SNR threshold for that detector to be included in the Fisher matrix analysis

    • the second value is the network SNR threshold for the signal to be processed at all

  • config – configuration yaml file, defaults to the one described in the included detectors section

partial(sub_network_ids: list[int])

Detectors#

class Detector(name: str, config=DEFAULT_CONFIG)

Initialization

Detector classes#

The currently supported detector classes are the following:

  • earthDelta (e.g. Einstein Telescope);

  • earthL (e.g. LIGO, Virgo, Cosmic Explorer);

  • satellitesolarorbit (e.g. LISA);

  • lunararray (e.g. LGWA).

Detector properties#

The properties of each detector are specified in the GWFish/detectors.yaml file. These are strings which will be parsed through an eval, so they can include any valid python expression. The type denoted in parentheses is the one they must be able to be evaluated into (e.g. '1e-1*np.pi' evaluates to a floating point number \(\approx 0.314\)).

All detectors require:

  • detector_class (str): one of the four aforementioned classes;

  • parameters defining the frequency vector:

    • a spacing parameter (str), either geometric or linear, and

    • either fmin, fmax, df (float), minimum and maximum frequency, and frequency spacing for the linear spacing option, or fmin, fmax and npoints for the geometric spacing option (all in Hz);

  • duty_factor (float between 0 and 1): the fraction of time the detector is expected to be on for;

  • plotrange (tuple of four floats, representing fmin, fmax, strain_min, strain_max): x and y limits of a plot of the detector’s characteristic noise strain.

Non-space-based earthDelta, earthL and lunararray-type detectors all require:

  • lat and lon (float): coordinates of the detector on the surface of the body (Earth/Moon), in radians;

  • azimuth (float): azimuthal angle of the arms, in radians — for a lunar seismometer array, this instead is the azimuth of the first direction along which the seismometers measure horizontal strain;

  • psd_data (str which is a valid file path): location of a space-separated text file, typically within the folder GWFish/psd_data/, containing two columns: frequency (in Hz) and PSD value (in \(\text{Hz}^{-1}\)).

Earth-bound earthDelta and earthL-type detectors require:

  • opening_angle (float): angle between the detector arms, in radians (should be \(\pi/3\) for the triangle, \(\pi/2\) for the L);

Non-Earth-bound lunararray and satellitesolarorbit-type detectors require:

  • mission_lifetime (float): expected mission duration, in seconds.

Included detectors#

The following list is automatically generated as a human-readable summary of the GWFish/detectors.yaml file.