Diana Software
QFFTW3.hh
Go to the documentation of this file.
1 
2 #ifndef _Q_FFTW3_HH_
3 #define _Q_FFTW3_HH_
4 
5 #include "QDiana.hh"
6 #include <Rtypes.h>
7 #include <string>
8 
9 #define FFTW_MEM_ALGN 16
10 
35 class QFFTW3Wisdom {
36 public:
37 
41  static QFFTW3Wisdom *Get();
47  bool ExportWisdomToFile(const char *outFile);
48 
55  bool ImportWisdomFromFile(const char *inFile);
56 
64  bool ImportSystemWisdom();
71  bool ForgetWisdom(void);
72 
73 
74 protected:
81  QFFTW3Wisdom();
82 
88  ~QFFTW3Wisdom();
93 
101 
109 
113  std::string fWisdomFile;
114 
118  std::string fLocalFile;
119 };
120 
130 class QFFTW3 {
131 
132 public:
133 
138 
142  virtual ~QFFTW3() {}
148  bool ExportWisdomToFile(const char *outFile)
149  { return Diana::QFFTW3Wisdom::Get()->ExportWisdomToFile(outFile); }
150 
157  bool ImportWisdomFromFile(const char *inFile)
158  { return Diana::QFFTW3Wisdom::Get()->ImportWisdomFromFile(inFile); }
159 
168  { return Diana::QFFTW3Wisdom::Get()->ImportSystemWisdom(); }
175  bool ForgetWisdom(void)
176  { return Diana::QFFTW3Wisdom::Get()->ForgetWisdom(); }
177 
179 };
181 #endif
dm Get("DAQ",&rHandle,"DB")
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
Singleton class for handling FFTW3 wisdom.
Definition: QFFTW3.hh:35
bool ImportWisdomFromFile(const char *inFile)
Load wisdom from file.
Definition: QFFTW3.cc:47
std::string fWisdomFile
The file from which the wisdom was loaded.
Definition: QFFTW3.hh:113
std::string fLocalFile
The file to save the wisdom.
Definition: QFFTW3.hh:118
static QFFTW3Wisdom * Get()
Access to the singleton class.
bool fSavingWisdom
Saving wisdom.
Definition: QFFTW3.hh:108
static QFFTW3Wisdom * fInstance
Pointer to the singleton instance.
Definition: QFFTW3.hh:92
bool ExportWisdomToFile(const char *outFile)
Save the accumulated wisdom to file.
Definition: QFFTW3.cc:37
bool ImportSystemWisdom()
Load wisdom from a system file.
Definition: QFFTW3.cc:59
QFFTW3Wisdom()
Default ctor.
Definition: QFFTW3.cc:17
~QFFTW3Wisdom()
Default dtor.
Definition: QFFTW3.cc:33
bool ForgetWisdom(void)
Forget any accumulated wisdom.
Definition: QFFTW3.cc:66
bool fLocalWisdom
Local wisdom used.
Definition: QFFTW3.hh:100
Base class for FFTW3 classes.
Definition: QFFTW3.hh:130
ClassDef(QFFTW3, 0)
bool ImportWisdomFromFile(const char *inFile)
Load wisdom from file.
Definition: QFFTW3.hh:157
bool ForgetWisdom(void)
Forget any accumulated wisdom.
Definition: QFFTW3.hh:175
QFFTW3()
ctor loads the wisdom singleton.
Definition: QFFTW3.hh:137
bool ExportWisdomToFile(const char *outFile)
Save the accumulated wisdom to file.
Definition: QFFTW3.hh:148
virtual ~QFFTW3()
dtor does nothing.
Definition: QFFTW3.hh:142
bool ImportSystemWisdom()
Load wisdom from a system file.
Definition: QFFTW3.hh:167