LArFFTWPlan.h
Go to the documentation of this file.
1 #ifndef LARFFTWPLAN_H
2 #define LARFFTWPLAN_H
3 
4 // C/C++ standard libraries
5 #include <string>
6 #include <algorithm>
7 #include <mutex>
8 
9 #include "fftw3.h"
10 
11 namespace util {
12 
13 class LArFFTWPlan {
14 
15  public:
16  LArFFTWPlan(int transformSize, const std::string &option);
17  ~LArFFTWPlan();
18  void *fPlan;
19  void *rPlan;
20  void *fIn;
21  void *fOut;
22  void *rIn;
23  void *rOut;
24 
25  private:
27  int fSize; // size of transform
28  int fFreqSize; // size of frequency space
29  int *fN;
30  std::string fOption; // FFTW setting
31 
32  unsigned int MapFFTWOption();
33 
34 };
35 
36 } // end namespace util
37 
38 #endif
Namespace for general, non-LArSoft-specific utilities.
std::string string
Definition: nybbler.cc:12
std::string fOption
Definition: LArFFTWPlan.h:30
static std::mutex mutex_
Definition: LArFFTWPlan.h:26
LArFFTWPlan(int transformSize, const std::string &option)
Definition: LArFFTWPlan.cxx:6
unsigned int MapFFTWOption()
Definition: LArFFTWPlan.cxx:45