r591: Added Center-Detector length to scanning and reconstruction
[ctsim.git] / src / threadproj.h
index 6e6db11cffbb2780b462a80266f69049cc3769fd..80ac09efe9cd9c7a7572176877f00e573a909388 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2001 Kevin Rosenberg
 **
-**  $Id: threadproj.h,v 1.3 2001/02/25 19:24:01 kevin Exp $
+**  $Id: threadproj.h,v 1.4 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
@@ -50,14 +50,15 @@ private:
   const int m_iNSample;
   const double m_dRotation;
   const double m_dFocalLength;
+  const double m_dCenterDetectorLength;
   const double m_dViewRatio;
   const double m_dScanRatio;
   const std::string m_strLabel;
 
 public:
   ProjectorSupervisorThread(PhantomFileView* pProjView, int iNDet, int iNView, 
-   const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dViewRatio, 
-   double dScanRatio, const char* const pszLabel);
+   const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
+   double dViewRatio, double dScanRatio, const char* const pszLabel);
 
   virtual wxThread::ExitCode Entry();
 
@@ -80,6 +81,7 @@ private:
   const int m_iNSample;
   const double m_dRotation;
   const double m_dFocalLength;
+  const double m_dCenterDetectorLength;
   const double m_dViewRatio;
   const double m_dScanRatio;
   const char* const m_pszLabel;
@@ -87,8 +89,8 @@ private:
 
 public:
    ProjectorSupervisor (SupervisorThread* pThread, PhantomFileView* pProjView, int iNDet, int iNView, 
-   const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dViewRatio, 
-   double dScanRatio, const char* const pszLabel);
+   const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
+   double dViewRatio, double dScanRatio, const char* const pszLabel);
 
    virtual BackgroundWorkerThread* createWorker (int iThread, int iStartUnit, int iNumUnits);
 
@@ -114,6 +116,7 @@ private:
   int m_iNSample;
   double m_dRotation;
   double m_dFocalLength;
+  double m_dCenterDetectorLength;
   double m_dViewRatio;
   double m_dScanRatio;
 
@@ -125,8 +128,8 @@ public:
   
   void SetParameters (PhantomFileView* pPhantomFile, Projections* pProjections, Scanner* pScanner, 
    int iNDet, int iView, 
-   const char* const pszGeometry, int iNSample, double dRotation, double dFocalLength, double dViewRatio,
-   double dScanRatio);
+   const char* const pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
+   double dViewRatio, double dScanRatio);
 
   virtual wxThread::ExitCode Entry();      // thread execution starts here