r185: *** empty log message ***
[ctsim.git] / include / procsignal.h
index 8995dd675c519fd8be57001fc5da64c7bfb136ad..e8e9679e3d247d814d601ac1518002f2ea6e922d 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: procsignal.h,v 1.2 2000/08/22 07:02:48 kevin Exp $
+**  $Id: procsignal.h,v 1.3 2000/08/27 20:32:54 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
@@ -58,14 +58,14 @@ class ProcessSignal {
     static const int FILTER_GENERATION_DIRECT;
     static const int FILTER_GENERATION_INVERSE_FOURIER;
 
-    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_NONE);
+    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);
 
-    ProcessSignal (const int idFilter, int idFilterMethod, double dBandwidth, double dSignalIncrement, int nSignalPoints, double dFilterParam, const int idDomain, int idFilterGeneration, const int iZeropad = 0, const int iPreinterpolationFactor = 1, const int iTraceLevel = TRACE_NONE);
+    ProcessSignal (const int idFilter, int idFilterMethod, double dBandwidth, double dSignalIncrement, int nSignalPoints, double dFilterParam, const int idDomain, int idFilterGeneration, const int iZeropad = 0, const int iPreinterpolationFactor = 1, const int iTraceLevel = Trace::TRACE_NONE);
 
     ~ProcessSignal();
 
-    void filterSignal (const double input[], double output[]) const;
-    void filterSignal (const float input[], double output[]) const;
+    void filterSignal (const double input[], double output[], int view =0) const;
+    void filterSignal (const float input[], double output[], int view = 0) const;
 
     bool fail(void) const      {return m_fail;}
     const string& failMessage(void) const {return m_failMessage;}
@@ -132,6 +132,7 @@ class ProcessSignal {
     int m_iZeropad;
     int m_nOutputPoints;
     int m_iPreinterpolationFactor;
+    int m_idGeometry;
 
     bool m_fail;
     string m_failMessage;
@@ -150,7 +151,7 @@ class ProcessSignal {
     fftw_plan m_complexPlanForward, m_complexPlanBackward;
 #endif
 
-    void init (const int idFilter, int idFilterMethod, double dBandwidth, double dSignalIncrement, int nSignalPoints, double dFilterParam, const int idDomain, int idFilterGeneration, const int iZeropad, const int iPreinterpolationFactor, const int iTraceLevel);
+    void init (const int idFilter, int idFilterMethod, double dBandwidth, double dSignalIncrement, int nSignalPoints, double dFilterParam, const int idDomain, int idFilterGeneration, const int iZeropad, const int iPreinterpolationFactor, const int iTraceLevel, const int iGeometry);
 
     // transforms that use precalculated trig tables, therefore don't 
     // require number of data points (n) as an argument