#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: