** Date Started: June 2000
**
** This is part of the CTSim program
-** Copyright (C) 1983-2000 Kevin Rosenberg
+** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: procsignal.h,v 1.10 2001/01/01 10:14:34 kevin Exp $
+** $Id: procsignal.h,v 1.14 2001/02/22 18:22:40 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
class SignalFilter;
class SGP;
-\r
-typedef std::complex<double> CTSimComplex;\r
-\r
+
+typedef std::complex<double> CTSimComplex;
+
class ProcessSignal {
public:
static const int FILTER_GENERATION_INVALID;
static const int FILTER_GENERATION_DIRECT;
static const int FILTER_GENERATION_INVERSE_FOURIER;
-\r
- enum {\r
- FORWARD = -1,\r
- BACKWARD = 1,\r
- };\r
+
+ enum {
+ FORWARD = -1,
+ BACKWARD = 1,
+ };
ProcessSignal (const char* szFilterName, const char* szFilterMethodName,double bw, double signalIncrement, int n, double param, const char* szDomainName, const char* szFilterGenerationName, const int zeropad = 0, const int preinterpolationFactor = 1, const int iTraceLevel = Trace::TRACE_NONE, int iGeometry = Scanner::GEOMETRY_PARALLEL, double dFocalLength = 1., SGP* pSGP = NULL);
const int idFilterGeneration() const { return m_idFilterGeneration;}
static const int getFilterGenerationCount() {return s_iFilterGenerationCount;}
- static const char** getFilterGenerationNameArray() {return s_aszFilterGenerationName;}
- static const char** getFilterGenerationTitleArray() {return s_aszFilterGenerationTitle;}
+ static const char* const* getFilterGenerationNameArray() {return s_aszFilterGenerationName;}
+ static const char* const* getFilterGenerationTitleArray() {return s_aszFilterGenerationTitle;}
static int convertFilterGenerationNameToID (const char* const fgName);
static const char* convertFilterGenerationIDToName (const int idFG);
static const char* convertFilterGenerationIDToTitle (const int idFG);
static const int getFilterMethodCount() {return s_iFilterMethodCount;}
- static const char** getFilterMethodNameArray() {return s_aszFilterMethodName;}
- static const char** getFilterMethodTitleArray() {return s_aszFilterMethodTitle;}
+ static const char* const* getFilterMethodNameArray() {return s_aszFilterMethodName;}
+ static const char* const* getFilterMethodTitleArray() {return s_aszFilterMethodTitle;}
static int convertFilterMethodNameToID (const char* const filterMethodName);
static const char* convertFilterMethodIDToName (const int idFilterMethod);
static const char* convertFilterMethodIDToTitle (const int idFilterMethod);
static void finiteFourierTransform (const std::complex<double> input[], double output[], const int n, const int direction);
- static void shuffleNaturalToFourierOrder (float* pdVector, const int n);\r
- static void shuffleNaturalToFourierOrder (double* pdVector, const int n);\r
- static void shuffleNaturalToFourierOrder (std::complex<double>* pdVector, const int n);\r
- static void shuffleFourierToNaturalOrder (float* pdVector, const int n);\r
- static void shuffleFourierToNaturalOrder (double* pdVector, const int n);\r
- static void shuffleFourierToNaturalOrder (std::complex<double>* pdVector, const int n);\r
-\r
-
private:
std::string m_nameFilterMethod;
std::string m_nameFilterGeneration;
bool m_fail;
std::string m_failMessage;
- static const char* s_aszFilterMethodName[];
- static const char* s_aszFilterMethodTitle[];
+ static const char* const s_aszFilterMethodName[];
+ static const char* const s_aszFilterMethodTitle[];
static const int s_iFilterMethodCount;
- static const char* s_aszFilterGenerationName[];
- static const char* s_aszFilterGenerationTitle[];
+ static const char* const s_aszFilterGenerationName[];
+ static const char* const s_aszFilterGenerationTitle[];
static const int s_iFilterGenerationCount;
#ifdef HAVE_FFTW