1 #ifndef _utl_FFTDataContainer_h_
2 #define _utl_FFTDataContainer_h_
6 #include <utl/ShadowPtr.h>
7 #include <utl/AugerException.h>
30 template<
template<
typename X>
class C,
typename T,
typename F>
53 GetFrequencyOfBin(
const typename C<F>::SizeType
bin)
61 throw OutOfBoundException(
"Requested frequency for a bin that is not in the FrequencySpectrum.");
72 GetBinOfFrequency(
const double frequency)
81 throw OutOfBoundException(
"Requested bin for a frequency that is not in the FrequencySpectrum.");
89 return std::round(bin);
114 GetConstFrequencySpectrum()
return startingfrequency sign * double(bin)*binning
C< F > fFrequencySpectrum
void UpdateTimeSeries() const
if the frequency domain data has been changed last, update the time domain data with an fft^-1 ...
unsigned int GetNyquistZone() const
get the Nyquist zone
const double startingfrequency
unsigned int fNyquistZone
C< F > & GetFrequencySpectrum()
read out the frequency spectrum (write access)
C< T > & GetTimeSeries()
read out the time series (write access)
throw OutOfBoundException("Requested frequency for a bin that is not in the FrequencySpectrum.")
FFTDataContainer()=default
constructor setting up default values
const int timeTraceLength
Template class for a data container that offers and takes both time series and corresponding frequenc...
const unsigned int evenedzone
const C< F >::SizeType highestbin
void SetNyquistZone(const unsigned int zone)
set the Nyquist zone
void UpdateFrequencySpectrum() const
if the time domain data has been changed last, update the frequency domain data with an fft ...
void Clear()
delete contents of the contained traces
return fFrequencySpectrum