NuRadioReco.detector.response module

class NuRadioReco.detector.response.Response(frequency, y, y_unit, time_delay=0, weight=1, name='default', station_id=None, channel_id=None, remove_time_delay=True, debug_plot=False, log_level=20)[source]

Bases: object

This class provides an interface to read-in and apply the complex response functions of the various components of the signal chain of a RNO-G channel. The class allows to combine the response of several components into one response by multiplying them.

Examples

response = det.get_signal_chain_response(station_id=24, channel_id=0)

# Multipy the response to a trace. The multiply operator takes care of everything
trace_at_readout = trace_at_antenna * response

# getting the complex response as array
freq = np.arange(50, 1000) * units.MHz
complex_resp = response(freq)

Methods

__call__(freq[, component_name])

Returns the complex response for a given frequency.

get_names()

Get list of the names of all individual responses

get_time_delay()

Get time delay from DB

plot

Parameters:
frequencylist(float)

The frequency vector at which the response is measured. Unit has to be GHz.

y[list(float), list(float)]

The measured response. First entry is the vector of the measured amplitude, the second entry is the measured phase. The unit of both entries is specified with the next argument.

y_unit[str, str]

The first entry specifies the unit of the measured amplitude. Options are “dB”, “MAG” and “mag”. The second entry specifies the unit of the measured phase. Options are “rad” and “deg”.

time_delayfloat (Default: 0)

“Average” group delay. Read from database. Will be used to normalize the phase and stored alongside response

weightfloat (Default: 1)

Specifies the weight with which this component reponse “adds” to the total signal-chain response or data. Its the exponent of the complex multiplicitive gain. That means that a value of 1 means to linear multiply this reponse while a value of -1 means to divide by this reponse.

namestr (Default: “default”)

Give the response a name. This is only use for printing purposes.

station_idint (Default: None)

Associated station id.

channel_idint (Default: None)

Associated channel id.

remove_time_delaybool (Default: True)

If True, remove time_delay from response.

debug_plotbool (Default: False)

If True, produce a debug plot

log_levellogging.LOG_LEVEL (Default: logging.INFO)

Defines verbosity level of logger. Other options are: logging.WARNING, logging.DEBUG, …

Methods

__call__(freq[, component_name])

Returns the complex response for a given frequency.

get_names()

Get list of the names of all individual responses

get_time_delay()

Get time delay from DB

plot

get_names()[source]

Get list of the names of all individual responses

plot(ax1=None, show=False, in_dB=True, plt_kwargs={})[source]
get_time_delay()[source]

Get time delay from DB

NuRadioReco.detector.response.subtract_time_delay_from_response(frequencies, resp, phase=None, time_delay=None)[source]

Remove a constant time delay from a complex response function

Parameters:
frequenciesarray of floats

Corresponding frequencies

resparray of (complex) floats

Complex response function (if phase is None), Real gain of a complex response function (if phase is not None).

phasearray of floats

Phase of the complex response function (optional). (Default: None)

time_delayfloat

Time delay to be removed

Returns:
resp: array of complex floats

Corrected response function