NuRadioReco.framework.electric_field module
- class NuRadioReco.framework.electric_field.ElectricField(channel_ids, position=None, shower_id=None, ray_tracing_id=None)[source]
Bases:
BaseTrace
Initialize a new electric field object
This object stores a 3 dimensional trace plus additional meta parameters
- Parameters:
- channel_ids: array of ints
the channels ids this electric field is valid for. (For cosmic rays one electric field is typically valid for several channels. For neutrino simulations, we typically simulate the electric field for each channel separately)
- position: 3-dim array/list of floats
the position of the electric field
- 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
Methods
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.
Returns the number of samples in the time domain.
get position of the electric field relative to station position
Returns the sampling rate of the trace.
Returns the time trace.
returns a unique identifier consisting of the tuple channel_ids, shower_id and ray_tracing_id
set_frequency_spectrum
(frequency_spectrum, ...)Sets the frequency spectrum.
set_position
(position)set position of the electric field relative to station position
set_trace
(trace, sampling_rate)Sets the time trace.
add_trace_start_time
deserialize
get_channel_ids
get_frequencies
get_frequency_spectrum
get_hilbert_envelope
get_hilbert_envelope_mag
get_parameter
get_parameter_error
get_parameters
get_ray_tracing_solution_id
get_shower_id
get_times
get_trace_start_time
has_channel_ids
has_parameter
has_parameter_error
resample
serialize
set_channel_ids
set_parameter
set_parameter_error
set_trace_start_time
- get_unique_identifier()[source]
returns a unique identifier consisting of the tuple channel_ids, shower_id and ray_tracing_id
- add_trace_start_time(start_time)
- apply_time_shift(delta_t, silent=False)
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
- 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()
- get_frequency_spectrum()
- get_hilbert_envelope()
- get_hilbert_envelope_mag()
- get_number_of_samples()
Returns the number of samples in the time domain.
- Returns:
- n_samples: int
number of samples in time domain
- 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()
- 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_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)