NuRadioReco.framework.sim_channel module
- class NuRadioReco.framework.sim_channel.SimChannel(channel_id, shower_id, ray_tracing_id, channel_group_id=None)[source]
Bases:
Channel
Object to store simulated channels.
This class is the same as the regular channel trace but has apart from the channel id (and possible group id) also a shower and ray tracing solution id
Methods
add_parameter_type
(parameter_type)Add a parameter class to the list of allowed parameter classes.
add_to_trace
(channel[, ...])Adds the trace of another channel to the trace of this channel.
apply_time_shift
(delta_t[, silent, ...])Uses the fourier shift theorem to apply a time shift to the trace Note that this is a cyclic shift, which means the trace will wrap around, which might lead to problems, especially for large time shifts.
get_filtered_trace
(passband[, filter_type, ...])Returns the trace after applying a filter to it.
get_frequencies
([window_mask])Returns the frequencies of the frequency spectrum.
get_frequency_spectrum
([window_mask])Returns the frequency spectrum.
channel group id If no group id is specified, the channel id is returned.
Returns the number of samples in the time domain.
get_parameter
(key)Get a parameter
get_parameter_error
(key)Get the error of a parameter
Get all parameters
Returns the sampling rate of the trace.
Returns the time trace.
Returns the trigger channel of this channel.
returns a unique identifier consisting of the tuple channel_id, shower_id and ray_tracing_id
Returns True if an extra trigger channel is set, i.e., if self._trigger_channel is not None.
has_parameter
(key)Returns True if the parameter key is present, False otherwise
has_parameter_error
(key)Returns True if an uncertainty for the parameter key is present, False otherwise
remove_parameter
(key)Remove a parameter
set_frequency_spectrum
(frequency_spectrum, ...)Sets the frequency spectrum.
set_parameter
(key, value)Set a parameter
set_parameter_error
(key, value)Set the error of a parameter
set_trace
(trace, sampling_rate)Sets the time trace.
set_trigger_channel
(trigger_channel)Sets an extra trigger channel of this channel.
add_trace_start_time
deserialize
get_hilbert_envelope
get_hilbert_envelope_mag
get_id
get_ray_tracing_solution_id
get_shower_id
get_times
get_trace_start_time
resample
serialize
set_trace_start_time
Initializes SimChannel object
- Parameters:
- channel_id: int
id of channel
- shower_id: int or None
the id of the corresponding shower object
- ray_tracing_id: int or None
the id of the corresponding ray tracing solution
- channel_group_id: int (default: None)
optionally, several channels can belong to a “channel group”. Use case is to identify the channels of a single dual or triple polarized antenna as common in air shower arrays.
Methods
add_parameter_type
(parameter_type)Add a parameter class to the list of allowed parameter classes.
add_to_trace
(channel[, ...])Adds the trace of another channel to the trace of this channel.
apply_time_shift
(delta_t[, silent, ...])Uses the fourier shift theorem to apply a time shift to the trace Note that this is a cyclic shift, which means the trace will wrap around, which might lead to problems, especially for large time shifts.
get_filtered_trace
(passband[, filter_type, ...])Returns the trace after applying a filter to it.
get_frequencies
([window_mask])Returns the frequencies of the frequency spectrum.
get_frequency_spectrum
([window_mask])Returns the frequency spectrum.
channel group id If no group id is specified, the channel id is returned.
Returns the number of samples in the time domain.
get_parameter
(key)Get a parameter
get_parameter_error
(key)Get the error of a parameter
Get all parameters
Returns the sampling rate of the trace.
Returns the time trace.
Returns the trigger channel of this channel.
returns a unique identifier consisting of the tuple channel_id, shower_id and ray_tracing_id
Returns True if an extra trigger channel is set, i.e., if self._trigger_channel is not None.
has_parameter
(key)Returns True if the parameter key is present, False otherwise
has_parameter_error
(key)Returns True if an uncertainty for the parameter key is present, False otherwise
remove_parameter
(key)Remove a parameter
set_frequency_spectrum
(frequency_spectrum, ...)Sets the frequency spectrum.
set_parameter
(key, value)Set a parameter
set_parameter_error
(key, value)Set the error of a parameter
set_trace
(trace, sampling_rate)Sets the time trace.
set_trigger_channel
(trigger_channel)Sets an extra trigger channel of this channel.
add_trace_start_time
deserialize
get_hilbert_envelope
get_hilbert_envelope_mag
get_id
get_ray_tracing_solution_id
get_shower_id
get_times
get_trace_start_time
resample
serialize
set_trace_start_time
- get_unique_identifier()[source]
returns a unique identifier consisting of the tuple channel_id, shower_id and ray_tracing_id
- add_parameter_type(parameter_type)
Add a parameter class to the list of allowed parameter classes.
- Parameters:
- parameter_typeparameter class
The parameter class is defined in
NuRadioReco.framework.parameters
- add_to_trace(channel, min_residual_time_offset=1e-05, raise_error=True)
Adds the trace of another channel to the trace of this channel.
The trace of the incoming channel is only added within the time window of the current channel. If the current channel has an empty trace (i.e., a trace containing zeros) with a defined trace_start_time, this function can be seen as recording the incoming channel in the specified readout window. Hence, the current channel is referred to as the “readout” in the comments of this function.
- Parameters:
- channel: BaseTrace
The channel whose trace is to be added to the trace of the current channel.
- min_residual_time_offset: float (default: 1e-5 * units.ns)
Minimum residual time between the target bin of this channel and the target bin of the channel to be added. Below this threshold the residual time shift is not applied to increase performance and minimize numerical artifacts from Fourier transforms.
- raise_error: bool (default: True)
If True, an error is raised if (part of) the current channel (readout window) is outside the incoming channel.
- add_trace_start_time(start_time)
- apply_time_shift(delta_t, silent=False, fourier_shift_threshold=1e-05)
Uses the fourier shift theorem to apply a time shift to the trace Note that this is a cyclic shift, which means the trace will wrap around, which might lead to problems, especially for large time shifts.
- Parameters:
- delta_t: float
Time by which the trace should be shifted
- silent: boolean (default:False)
Turn off warnings if time shift is larger than 10% of trace length Only use this option if you are sure that your trace is long enough to acommodate the time shift
- fourier_shift_threshold: float (default: 1e-5 * units.ns)
Threshold for the Fourier shift. If the shift is closer to a multiple of 1 / sampling_rate than this, the trace is rolled instead of using the Fourier shift theorem to save time and avoid numerical errors in the Fourier transforms.
- get_filtered_trace(passband, filter_type='butter', order=10, rp=None)
Returns the trace after applying a filter to it. This does not change the stored trace.
- Parameters:
- passband: list of floats
lower and upper bound of the filter passband
- filter_type: string
type of the applied filter. Options are rectangular, butter and butterabs
- order: int
Order of the Butterworth filter, if the filter types butter or butterabs are chosen
- get_frequencies(window_mask=None)
Returns the frequencies of the frequency spectrum.
- Parameters:
- window_mask: array of bools (default: None)
If not None, used to determine the number of samples in the time domain used for the frequency spectrum.
- Returns:
- frequencies: np.array of floats
The frequencies of the frequency spectrum.
- get_frequency_spectrum(window_mask=None)
Returns the frequency spectrum.
- Parameters:
- window_mask: array of bools (default: None)
If not None, specifies the time window to be used for the FFT. Has to have the same length as the trace.
- Returns:
- frequency_spectrum: np.array of floats
The frequency spectrum.
- get_group_id()
channel group id If no group id is specified, the channel id is returned. This allows using modules that use the group_id feature also on detector setups that don’t use this feature.
- get_hilbert_envelope()
- get_hilbert_envelope_mag()
- get_id()
- get_number_of_samples()
Returns the number of samples in the time domain.
- Returns:
- n_samples: int
number of samples in time domain
- get_parameter(key)
Get a parameter
- get_parameter_error(key)
Get the error of a parameter
- get_parameters()
Get all parameters
- get_sampling_rate()
Returns the sampling rate of the trace.
- Returns:
- sampling_rate: float
sampling rate, i.e., the inverse of the bin width
- get_times()
- get_trace()
Returns the time trace.
If the frequency spectrum was modified before, an ifft is performed automatically to have the time domain representation up to date.
- Returns:
- trace: np.array of floats
the time trace
- get_trace_start_time()
- get_trigger_channel()
Returns the trigger channel of this channel.
Not all channels/detectors make use of additional trigger channels. If no trigger channel is set, this just returns
self
, i.e. the Channel object itself.
- has_extra_trigger_channel()
Returns True if an extra trigger channel is set, i.e., if self._trigger_channel is not None.
- has_parameter(key)
Returns True if the parameter key is present, False otherwise
- has_parameter_error(key)
Returns True if an uncertainty for the parameter key is present, False otherwise
- remove_parameter(key)
Remove a parameter
- resample(sampling_rate)
- set_frequency_spectrum(frequency_spectrum, sampling_rate)
Sets the frequency spectrum.
- Parameters:
- frequency_spectrumnp.array of floats
The frequency spectrum
- sampling_ratefloat or str
The sampling rate of the trace, i.e., the inverse of the bin width. If sampling_rate=”same”, sampling rate is not changed (requires previous initialisation).
- set_parameter(key, value)
Set a parameter
- set_parameter_error(key, value)
Set the error of a parameter
- set_trace(trace, sampling_rate)
Sets the time trace.
- Parameters:
- tracenp.array of floats
The time series
- sampling_ratefloat or str
The sampling rate of the trace, i.e., the inverse of the bin width. If sampling_rate=”same”, sampling rate is not changed (requires previous initialisation).
- set_trace_start_time(start_time)
- set_trigger_channel(trigger_channel)
Sets an extra trigger channel of this channel.