r591: Added Center-Detector length to scanning and reconstruction
[ctsim.git] / include / procsignal.h
index 3448baed12f5ceea360d03b3cd1590a6354c372d..dcb98a22b5c0b9f2e1dd24f709b6d07c82b77f84 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: procsignal.h,v 1.14 2001/02/22 18:22:40 kevin Exp $
+**  $Id: procsignal.h,v 1.15 2001/03/01 07:30:49 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
@@ -66,7 +66,10 @@ class ProcessSignal {
       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);
+    ProcessSignal (const char* szFilterName, const char* szFilterMethodName,double bw, double signalIncrement, 
+      int n, double param, const char* szDomainName, const char* szFilterGenerationName, 
+      const int zeropad, const int preinterpolationFactor, const int iTraceLevel, int iGeometry, 
+      double dFocalLength, double dSourceDetectorLength, SGP* pSGP = NULL);
 
     ~ProcessSignal();
 
@@ -135,6 +138,7 @@ class ProcessSignal {
     int m_iPreinterpolationFactor;
     int m_idGeometry;
     double m_dFocalLength;
+    double m_dSourceDetectorLength;
 
     bool m_fail;
     std::string m_failMessage;
@@ -153,7 +157,10 @@ 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, const int iGeometry, double dFocalLength, SGP* pSGP);
+    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, double dFocalLength, 
+      double dSourceDetectorLength, SGP* pSGP);
 
     // transforms that use precalculated trig tables, therefore don't 
     // require number of data points (n) as an argument