Add orf code
This MR adds a brief function to efficiently calculate the overlap reduction functions for scalar, vector, and tensor polarizations. As an example, here is how it can be evaluated:
import stochastic_lite.orfs
import bilby
import numpy as np
freqs = np.arange(1801)
det1 = bilby.gw.detector.get_empty_interferometer('H1')
det2 = bilby.gw.detector.get_empty_interferometer('L1')
orfT, orfV, orfS = stochastic_lite.orfs.calc_orfs(freqs, det1.vertex, det2.vertex, det1.x, det2.x, det1.y, det2.y)
Which gives the attached plot:
I would recommend adding a wrapper method to this function in the Baseline
class, which should take in the init two bilby Interferometer
objects, so that the ORF for any baseline can be calculated and stored as an attribute of the Baseline
object.