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