pygwb.network
The Network
module is designed to handle two different tasks. Its primary purpose is to combine results from different
pygwb.Baseline
objects. Similarly to the Baseline
object, the Network
object imports Baseline
objects as attributes which
may be invoked through the Network
. In addition to this functionality, it can also be used to simulate cross-correlated
data across a network of detectors. Both signal-only and signal and noise data can be simulated using a Network
object. The network module handles all data generation by querying the simulator module.
Examples
To show how a Network
object can be instantiated, we start by importing the relevant
packages:
>>> import numpy as np
>>> from pygwb.detector import Interferometer
>>> from pygwb.network import Network
For concreteness, we work with the LIGO Hanford and Livingston detectors, which we instantiate through:
>>> H1 = Interferometer.get_empty_interferometer("H1")
>>> L1 = Interferometer.get_empty_interferometer("L1")
>>> ifo_list = [H1,L1]
The above detectors are Interferometer
objects, but are based on bilby
detectors, which have
default noise PSDs saved in them, in the power_spectral_density
attribute of the bilby
detector (more information can be
found here).
Below, we load in this noise PSD and make sure the duration and sampling frequency of the detector
are set to the desired value of these parameters chosen at the start of the notebook.
>>> for ifo in ifo_list:
>>> ifo.duration = duration
>>> ifo.sampling_frequency = sampling_frequency
>>> ifo.power_spectral_density = bilby.gw.detector.PowerSpectralDensity(ifo.frequency_array, np.nan_to_num(ifo.power_spectral_density_array, posinf=1.e-41))
A network can then be created by using:
>>> network_HL = Network('HL', ifo_list)
It is also possible to initialize the class by passing a list of Baselines
:
>>> HL_network = Network.from_baselines(’HL’, [HL_baseline])
Classes
|