NuRadioReco.utilities.interferometry module

NuRadioReco.utilities.interferometry.get_signal(sum_trace, tstep, window_width=100, kind='power')[source]

Calculates signal quantity from beam-formed waveform

Parameters:
sum_tracenp.array(m,)

beam-formed waveform with m samples

tstepdouble

Sampling bin size

window_widthdouble

Time window size to calculate power

kindstr

Key-word what to do: “amplitude”, “power”, or “hilbert_sum”

Returns:
signaldouble

Signal calculated according to the specified metric

NuRadioReco.utilities.interferometry.interfere_traces_interpolation(target_pos, positions, traces, times, tab)[source]

Calculate sum of time shifted waveforms.

Performs a linear interpolation between samples.

Parameters:
target_posnp.array(3,)

source/traget location

positionsnp.array(n, 3)

observer positions

tracesnp.array(n, m)

waveforms of n observers with m samples

timesnp.array(n, m)

time stampes of the waveforms of each observer

tabradiotools.atmosphere.refractivity.RefractivityTable

Tabulated table of the avg. refractive index between two points

Returns:
sum_tracenp.array(n, m)

Summed trace

NuRadioReco.utilities.interferometry.get_time_shifts(target_pos, positions, tab)[source]

Calculates the time delay of an electromagnetic wave along a straight trajectories between a source/traget location and several observers.

Parameters:
target_posnp.array(3,)

source/traget location

positionsnp.array(n, 3)

observer positions (n observers)

tabradiotools.atmosphere.refractivity.RefractivityTable

Tabulated table of the avg. refractive index between two points

Returns:
tshiftsnp.array(n,)

Time delay in sec

NuRadioReco.utilities.interferometry.fit_axis(z, theta, phi, coreX, coreY)[source]

Predicts the intersetction of an axis/line with horizontal layers at different heights.

Line is described by an anchor on a horizontal plane (coreX, coreY) and a direction in spherical coordinates (theta, phi).

Returns the position/intersection of the line with flat horizontal layers at given height(s) z. Resulting array (positions) is flatten.

Parameters:
zarray

The height(s) for which the position on the defined axis should be evaluated.

thetadouble

Zenith angle of the axis

phidouble

Azimuth angle of the axis

coreXDouble

x-coordinate of the intersection of the axis with a horizontal plane with z = 0.

coreYDouble

y-coordinate of the intersection of the axis with a horizontal plane with z = 0.

Returns:
pointsarray

The flatten array of the positions on along the defined axis at heights given by “z”

NuRadioReco.utilities.interferometry.get_intersection_between_line_and_plane(plane_normal, plane_anchor, line_direction, line_anchor, epsilon=1e-06)[source]

Find intersection betweem a line and a plane.

From https://rosettacode.org/wiki/Find_the_intersection_of_a_line_with_a_plane#Python

Parameters:
plane_normalnp.array(3,)

Normal vector of a plane

plane_anchornp.array(3,)

Anchor of this plane

line_directionnp.array(3,)

Direction of a line

line_anchornp.array(3,)

Anchor of this line

epsilondouble

Numerical precision

Returns:
psiarray(3,)

Position of the intersection between plane and line