PyREx

pyrex.custom.arianna.antenna.ARIANNAAntenna

class pyrex.custom.arianna.antenna.ARIANNAAntenna(response_data, position, center_frequency, bandwidth, temperature, resistance, z_axis=(0, 0, 1), x_axis=(1, 0, 0), efficiency=1, noisy=True, unique_noise_waveforms=10)

Antenna class to be used for ARIANNA antennas.

Stores the attributes of an antenna as well as handling receiving, processing, and storing signals and adding noise. Antenna response based on provided models.

Parameters
response_datatuple of array_like

Tuple containing the response data for the antenna along the theta and phi polarization directions. The first and second elements should contain 3-D arrays of the antenna response model in the theta and phi polarizations, respectively, as a function of frequency (axis 0), zenith (axis 1), and azimuth (axis 2). The remaining elements should be the values of the frequency, zenith, and azimuth axes, respectively.

positionarray_like

Vector position of the antenna.

center_frequencyfloat

Frequency (Hz) at the center of the antenna’s frequency range.

bandwidthfloat

Bandwidth (Hz) of the antenna.

temperaturefloat

The noise temperature (K) of the antenna. Used in combination with resistance to calculate the RMS voltage of the antenna noise.

resistancefloat

The noise resistance (ohm) of the antenna. Used in combination with temperature to calculate the RMS voltage of the antenna noise.

z_axisarray_like, optional

Vector direction of the z-axis of the antenna.

x_axisarray_like, optional

Vector direction of the x-axis of the antenna.

efficiencyfloat, optional

Antenna efficiency applied to incoming signal values.

noisyboolean, optional

Whether or not the antenna should add noise to incoming signals.

unique_noise_waveformsint, optional

The number of expected noise waveforms needed for each received signal to have its own noise.

See also

pyrex.Antenna

Base class for antennas.

Attributes
positionarray_like

Vector position of the antenna.

z_axisndarray

Vector direction of the z-axis of the antenna.

x_axisndarray

Vector direction of the x-axis of the antenna.

antenna_factorfloat

Antenna factor used for converting fields to voltages.

efficiencyfloat

Antenna efficiency applied to incoming signal values.

noisyboolean

Whether or not the antenna should add noise to incoming signals.

unique_noisesint

The number of expected noise waveforms needed for each received signal to have its own noise.

freq_rangearray_like

The frequency band in which the antenna operates (used for noise production).

temperaturefloat or None

The noise temperature (K) of the antenna. Used in combination with resistance to calculate the RMS voltage of the antenna noise.

resistancefloat or None

The noise resistance (ohm) of the antenna. Used in combination with temperature to calculate the RMS voltage of the antenna noise.

noise_rmsfloat or None

The RMS voltage (v) of the antenna noise. If not None, this value will be used instead of the RMS voltage calculated from the values of temperature and resistance.

signalslist of Signal

The signals which have been received by the antenna.

is_hit

Boolean of whether the antenna has been triggered.

is_hit_mc_truth

Boolean of whether the antenna has been triggered by signal.

waveforms

Signal + noise (if noisy) for each triggered antenna hit.

all_waveforms

Signal + noise (if noisy) for all antenna hits.

Methods

apply_response(signal[, direction, …])

Process the complete antenna response for an incoming signal.

clear([reset_noise])

Reset the antenna to an empty state.

directional_gain(theta, phi)

Calculate the (complex) directional gain of the antenna.

directional_response(theta, phi, polarization)

Generate the (complex) frequency-dependent directional response.

frequency_response(frequencies)

Calculate the (complex) frequency response of the antenna.

full_waveform(times)

Signal + noise (if noisy) for the given times.

is_hit_during(times)

Check if the antenna is triggered in a time range.

make_noise(times)

Creates a noise signal over the given times.

polarization_gain(polarization)

Calculate the (complex) polarization gain of the antenna.

receive(signal[, direction, polarization, …])

Process and store one or more incoming (polarized) signals.

set_orientation([z_axis, x_axis])

Sets the orientation of the antenna.

trigger(signal)

Check if the antenna triggers on a given signal.

PyREx

A Python package for simulation of neutrinos and radio antennas in ice. Version 1.10.0

Navigation