Detectors¶
-
class
schnell.detector.
Detector
(name)[source]¶ Detector
objects encode information about individual GW detectors. The most relevant quantities are:- Detector position.
- Detector transfer function.
- Unit vectors in arm directions.
- Detector response tensor.
- Noise PSDs.
Baseline
Detector
objects serve only as a superclass for all other detector types. Do not use them.-
get_Fp
(t, f, e_p, e_x, nv)[source]¶ Compute the quantity:
\[F^p(f,\hat{n}) = a^{ij}e^p_{ij}\exp(i2\pi f\hat{n} {\bf x})\](i.e. Eq. 12 of the companion paper).
Parameters: - t – array of size N_t containing observing times (in s).
- f – array of size N_f containing frequencies (in Hz).
- ep – array of shape [3, 3, N_pix] containing the “+” polarization tensor at N_pix different sky positions.
- ex – same as ep for the “x” polarization tensor.
- nv – array of shape [3, N_pix] containing the unit vector pointing in the direction of N_pix sky positions.
Returns: 2 arrays of shape [N_t, N_f, N_pix] containing \(F^+\) and \(F^\times\) as a function of time, frequency and sky position.
Return type: array_like
-
get_position
(t)[source]¶ Returns a 2D array containing the 3D position of the detector at a series of times. The output array has shape [3, N_t], where N_t is the size of t.
Parameters: t – time of observation (in seconds). Returns: detector position (in m) as a function of time. Return type: array_like
-
get_transfer
(u, f, nv)[source]¶ Returns the detector transfer function as a funciton of position, frequency and sky coordinates.
Parameters: - u – 2D array of size [3, N_t] containing the unit vector pointing along one of the detector arms at N_t different time intervals.
- f – 1D array of frequencies (in Hz).
- nv – 2D array of shape [3, N_pix] containining the normalized coordinates of N_pix points in the celestial sphere.
Returns: array of shape [N_t, N_f, N_pix] containing the transfer function as a function of time, frequency and sky position.
Return type: array_like
-
get_uu_vv
(t)[source]¶ Returns the outer product of the detector arm unit vectors as a function of time.
Parameters: t – array of size N_t containing different observing times (in s). Returns: 2 arrays of shape [3, 3, N_t] containing the outer products of the unit vectors pointing in the directions of the two detector arms. Return type: array_like
-
class
schnell.detector.
GroundDetector
(name, lat, lon, alpha, fname_psd, aperture=90)[source]¶ GroundDetector
objects represent detectors located at fixed position on Earth.Parameters: - name – detector name.
- lat – latitude in degrees.
- lon – longitude in degrees.
- alpha – orientation angle, defined as the angle between the vertex bisector and the local parallel. In degrees.
- fname_psd – path to file containing the detector’s noise curve. The file should contain two columns, corresponding to the frequency (in Hz) and the corresponding value of the strain-level noise (in units of Hz:math:^{-1/2}).
- aperture – arm aperture angle (in degrees).
-
get_position
(t)[source]¶ Returns a 2D array containing the 3D position of the detector at a series of times. The output array has shape [3, N_t], where N_t is the size of t.
Note
We assume the Earth is a sphere of radius 6371 km that performs a full rotation every 24 h exactly.
Parameters: t – time of observation (in seconds). Returns: detector position (in m) as a function of time. Return type: array_like
-
class
schnell.detector.
GroundDetectorTriangle
(name, lat, lon, fname_psd, detector_id, beta0_deg=0, arm_length_km=10.0)[source]¶ GroundDetectorTriangle
objects represent detectors in a triangular configureation located at fixed position on Earth (e.g. the Einstein Telescope).Parameters: - name – detector name.
- lat – latitude of the triangle’s barycenter in degrees.
- lon – longitude in degrees.
- fname_psd – path to file containing the detector’s noise curve. The file should contain two columns, corresponding to the frequency (in Hz) and the corresponding value of the strain-level noise (in units of Hz:math:^{-1/2}).
- detector_id – detector number (0, 1 or 2).
- beta0_deg – orientation angle, defined as the angle between the vertex with id 0 and the local meridian.
- arm_length_km – arm length in km.
-
get_position
(t)[source]¶ Returns a 2D array containing the 3D position of the detector at a series of times. The output array has shape [3, N_t], where N_t is the size of t.
Note
We assume the Earth is a sphere of radius 6371 km that performs a full rotation every 24 h exactly.
Parameters: t – time of observation (in seconds). Returns: detector position (in m) as a function of time. Return type: array_like
-
class
schnell.detector.
LISADetector
(detector_id, is_L5Gm=False, static=False)[source]¶ LISADetector
objects can be used to describe the properties of the LISA network.Parameters: - detector_id – detector number (0, 1 or 2).
- is_L5Gm (bool) – whether the arm length should be 5E9 meters (otherwise 2.5E9 meters will be assumed) (default False).
- static (bool) – if True, a static configuration corresponding to a perfect equilateral triangle in the x-y plane will be assumed.
-
get_position
(t)[source]¶ Returns a 2D array containing the 3D position of the detector at a series of times. The output array has shape [3, N_t], where N_t is the size of t.
Note
The spacecraft orbits are calculated using Eq. 1 of gr-qc/0311069.
Parameters: t – time of observation (in seconds). Returns: detector position (in m) as a function of time. Return type: array_like
-
get_u_v
(t)[source]¶ Returns unit vectors in the directions of the detector arms as a function of time.
Parameters: t – array of size N_t containing different observing times (in s). Returns: 2 arrays of shape [3, N_t] containing the arm unit vectors. Return type: array_like
-
psd
(f)[source]¶ Returns noise PSD as a function of frequency. Uses Eq. 55 from arXiv:1908.00546.
Parameters: f – array of frequencies (in Hz). Returns: array of PSD values in units of 1/Hz. Return type: array_like