NuRadioReco.modules.voltageToEfieldConverter module

NuRadioReco.modules.voltageToEfieldConverter.get_array_of_channels(station, use_channels, det, zenith, azimuth, antenna_pattern_provider, time_domain=False)[source]
NuRadioReco.modules.voltageToEfieldConverter.stacked_lstsq(L, b, rcond=1e-10)[source]

Solve L x = b, via SVD least squares cutting of small singular values L is an array of shape (…, M, N) and b of shape (…, M). Returns x of shape (…, N)

class NuRadioReco.modules.voltageToEfieldConverter.voltageToEfieldConverter[source]

Bases: object

This module reconstructs the electric field by solving the system of equation that related the incident electric field via the antenna response functions to the measured voltages (see Eq. 4 of the NuRadioReco paper https://link.springer.com/article/10.1140/epjc/s10052-019-6971-5). The module assumed that the electric field is identical at the antennas/channels that are used for the reconstruction. Furthermore, at least two antennas with orthogonal polarization response are needed to reconstruct the 3dim electric field. Alternatively, the polarization of the resulting efield could be forced to a single polarization component. In that case, a single antenna is sufficient.

Methods

run(evt, station, det[, use_channels, ...])

run method.

begin

end

begin()[source]
run(evt, station, det, use_channels=None, use_MC_direction=False, force_Polarization='')[source]

run method. This function is executed for each event

Parameters:
evt
station
det
use_channels: array of ints (default: [0, 1, 2, 3])

the channel ids to use for the electric field reconstruction

use_MC_direction: bool

if True uses zenith and azimuth direction from simulated station if False uses reconstructed direction from station parameters.

force_Polarization: str

if eTheta or ePhi, then only reconstructs chosen polarization of electric field, assuming the other is 0. Otherwise, reconstructs electric field for both eTheta and ePhi

end()[source]