** This is part of the CTSim program
** Copyright (C) 1983-2001 Kevin Rosenberg
**
-** $Id: threadproj.h,v 1.1 2001/02/25 10:52:55 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
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();
std::vector<Projections*> m_vecpChildProjections;
PhantomFileDocument* m_pPhantomDoc;
PhantomFileView* m_pPhantomView;
-
+ Scanner* m_pScanner;
+
const int m_iNDet;
const int m_iNView;
const char* const m_pszGeometry;
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;
public:
- ProjectorSupervisor (PhantomFileView* pProjView, int iNDet, int iNView,
- const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dViewRatio,
- double dScanRatio, const char* const pszLabel);
+ ProjectorSupervisor (SupervisorThread* pThread, PhantomFileView* pProjView, int iNDet, int iNView,
+ 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);
private:
PhantomFileView* m_pPhantomView;
Projections* m_pProjections;
+ Scanner* m_pScanner;
int m_iNDet;
int m_iNView;
const char* m_pszGeometry;
int m_iNSample;
double m_dRotation;
double m_dFocalLength;
+ double m_dCenterDetectorLength;
double m_dViewRatio;
double m_dScanRatio;
: BackgroundWorkerThread (pSupervisor, iThread, iStartView, iNumViews)
{}
- void SetParameters (PhantomFileView* pPhantomFile, Projections* pProjections, int iNDet, int iView,
- const char* const pszGeometry, int iNSample, double dRotation, double dFocalLength, double dViewRatio,
- double dScanRatio);
+ void SetParameters (PhantomFileView* pPhantomFile, Projections* pProjections, Scanner* pScanner,
+ int iNDet, int iView,
+ const char* const pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength,
+ double dViewRatio, double dScanRatio);
virtual wxThread::ExitCode Entry(); // thread execution starts here