def test_source_trajectory_with_parallax(): to = 0.28 tE = 35.6 uo = 0.1 piEN = 0.1 piEE = -0.97 Parameters = collections.namedtuple('parameters', ['to', 'uo', 'tE', 'piEN', 'piEE']) parameters = Parameters(to, uo, tE, piEN, piEE) telescope = mock.MagicMock() telescope.lightcurve_flux = np.array([[0, 1, 1], [42, 6, 6]]) telescope.deltas_positions = np.array([[1, 2], [3, 4]]) event = _create_event() event.telescopes[0] = telescope Model = microlmodels.create_model('PSPL', event, parallax=['Annual', 0]) source_X, source_Y, dseparation = Model.source_trajectory( telescope, to, uo, tE, parameters) assert len(source_X) == len(source_Y) == 2 tau = (telescope.lightcurve_flux[:, 0] - to) / tE piE = np.array([piEN, piEE]) delta_tau, delta_beta = microlparallax.compute_parallax_curvature( piE, telescope.deltas_positions) tau += delta_tau beta = uo + delta_beta assert np.allclose(source_X, tau) # rotation of alpha assert np.allclose(source_Y, beta)
def test_compute_parallax_curvature(): delta_positions = np.array([[1, 2], [3, 4]]) piE = np.array([0.1, 1.8]) delta_tau, delta_beta = microlparallax.compute_parallax_curvature( piE, delta_positions) assert len(delta_tau) == 2 assert len(delta_beta) == 2 assert np.allclose( delta_tau, (piE[0] * delta_positions[0] + piE[1] * delta_positions[1])) # scalar product, geocentric point of view (-) assert np.allclose( delta_beta, (piE[0] * delta_positions[1] - piE[1] * delta_positions[0] )) # vectorial product, geocentric point of view (-)
def test_compute_parallax_curvature(): event = _create_event() event.telescopes[0].location = 'Earth' event.telescopes[0].altitude = 0 event.telescopes[0].longitude = 0 event.telescopes[0].latitude = 0 parallax_model = ['Full', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) parallax.parallax_combination(event.telescopes[0]) piE = [0.5,0.5] curvature = microlparallax.compute_parallax_curvature(piE,event.telescopes[0].deltas_positions) dtau = piE[0]* event.telescopes[0].deltas_positions[0]+piE[1]* event.telescopes[0].deltas_positions[1] du = piE[1]* event.telescopes[0].deltas_positions[0]-piE[0]* event.telescopes[0].deltas_positions[1] np.allclose([dtau,du],curvature)
def test_compute_parallax_curvature(): event = _create_event() event.telescopes[0].location = 'Earth' event.telescopes[0].altitude = 0 event.telescopes[0].longitude = 0 event.telescopes[0].latitude = 0 parallax_model = ['Full', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) parallax.parallax_combination(event.telescopes[0]) piE = [0.5,0.5] curvature = microlparallax.compute_parallax_curvature(piE,event.telescopes[0].deltas_positions) dtau = piE[0]* event.telescopes[0].deltas_positions[0]+piE[1]* event.telescopes[0].deltas_positions[1] du = piE[1]* event.telescopes[0].deltas_positions[0]-piE[0]* event.telescopes[0].deltas_positions[1] np.allclose([dtau,du],curvature)