#include <IDCFourierTransform.h>
Inherits o2::tpc::IDCFourierTransformBase< Type >.
|
| template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseAggregator >::value)), int >::type = 0> |
| | IDCFourierTransform (const unsigned int rangeIDC=200, const unsigned int nFourierCoefficientsStore=200+2) |
| |
| template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseEPN >::value)), int >::type = 0> |
| | IDCFourierTransform (const unsigned int rangeIDC=200, const unsigned int nFourierCoefficientsStore=200+2) |
| |
| | ~IDCFourierTransform () |
| |
| template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseAggregator >::value)), int >::type = 0> |
| void | calcFourierCoefficients (const unsigned int timeFrames=2000) |
| | calculate fourier coefficients for one TPC side
|
| |
| template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseEPN >::value)), int >::type = 0> |
| void | calcFourierCoefficients () |
| | calculate fourier coefficients for one TPC side
|
| |
| std::vector< std::vector< float > > | inverseFourierTransform () const |
| | get IDC0 values from the inverse fourier transform. Can be used for debugging. std::vector<std::vector<float>>: first vector interval second vector IDC0 values
|
| |
| unsigned int | getrangeIDC () const |
| |
| const auto & | getFourierCoefficients () const |
| |
| void | dumpToFile (const char *outFileName="Fourier.root", const char *outName="FourierCoefficients") const |
| |
| void | dumpToTree (const char *outFileName="FourierTree.root") const |
| |
| void | printFFTWPlan () const |
| | printing information about the algorithms which are used by FFTW for debugging e.g. seeing if SIMD instructions will be used
|
| |
| std::vector< std::pair< float, float > > | getFrequencies (const float samplingFrequency=getSamplingFrequencyIDCHz()) const |
| |
template<class Type>
class o2::tpc::IDCFourierTransform< Type >
class for fourier transform of 1D-IDCs For example usage see testO2TPCIDCFourierTransform.cxx
- Template Parameters
-
| Type | type which can either be IDCFourierTransformBaseEPN for synchronous reconstruction or IDCFourierTransformBaseAggregator for aggregator |
Definition at line 38 of file IDCFourierTransform.h.
◆ IDCFourierTransform() [1/2]
template<class Type >
template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseAggregator >
::value)),
int >
::type = 0>
constructor for AGGREGATOR type
- Parameters
-
| rangeIDC | number of IDCs for each interval which will be used to calculate the fourier coefficients |
| timeFrames | number of time frames which will be stored |
| nFourierCoefficientsStore | number of courier coefficients (real+imag) which will be stored (the maximum can be 'rangeIDC + 2', should be an even number when using naive FT). If less than maximum is setn the inverse fourier transform will not work. |
Definition at line 46 of file IDCFourierTransform.h.
◆ IDCFourierTransform() [2/2]
template<class Type >
template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseEPN >
::value)),
int >
::type = 0>
constructor for EPN type
- Parameters
-
| rangeIDC | number of IDCs for each interval which will be used to calculate the fourier coefficients |
| nFourierCoefficientsStore | number of courier coefficients (real+imag) which will be stored (the maximum can be 'rangeIDC + 2', should be an even number when using naive FT). If less than maximum is setn the inverse fourier transform will not work. |
Definition at line 55 of file IDCFourierTransform.h.
◆ ~IDCFourierTransform()
◆ calcFourierCoefficients() [1/2]
template<class Type >
template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseEPN >
::value)),
int >
::type = 0>
◆ calcFourierCoefficients() [2/2]
template<class Type >
template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseAggregator >
::value)),
int >
::type = 0>
◆ dumpToFile()
dump object to disc
- Parameters
-
| outFileName | name of the output file |
| outName | name of the object in the output file |
Definition at line 188 of file IDCFourierTransform.cxx.
◆ dumpToTree()
◆ getFFT()
◆ getFourierCoefficients()
◆ getFrequencies() [1/2]
return the frequencies and the magnitude of the frequency. std::pair of <frequency, magnitude>
- Parameters
-
| samplingFrequency | sampling frequency of the signal in Hz (default is IDC sampling rate in Hz) |
Definition at line 119 of file IDCFourierTransform.h.
◆ getFrequencies() [2/2]
return the frequencies and the magnitude of the frequency
- Parameters
-
| coeff | fourier coefficients |
| samplingFrequency | sampling frequency of the signal in Hz (default is IDC sampling rate in Hz) |
Definition at line 254 of file IDCFourierTransform.cxx.
◆ getNThreads()
get the number of threads used for calculation of the fourier coefficients
Definition at line 103 of file IDCFourierTransform.h.
◆ getrangeIDC()
- Returns
- returns number of IDCs for each interval which will be used to calculate the fourier coefficients
Definition at line 94 of file IDCFourierTransform.h.
◆ getSamplingFrequencyIDCHz()
◆ inverseFourierTransform()
get IDC0 values from the inverse fourier transform. Can be used for debugging. std::vector<std::vector<float>>: first vector interval second vector IDC0 values
Definition at line 91 of file IDCFourierTransform.h.
◆ printFFTWPlan()
printing information about the algorithms which are used by FFTW for debugging e.g. seeing if SIMD instructions will be used
Definition at line 232 of file IDCFourierTransform.cxx.
◆ setFFT()
set fast fourier transform using FFTW3
- Parameters
-
| fft | use FFTW3 or not (naive approach) |
Definition at line 65 of file IDCFourierTransform.h.
◆ setNThreads()
template<class Type >
template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCFourierTransformBaseAggregator >
::value)),
int >
::type = 0>
This function has to be called before the constructor is called
- Parameters
-
| nThreads | set the number of threads used for calculation of the fourier coefficients |
Definition at line 70 of file IDCFourierTransform.h.
The documentation for this class was generated from the following files: