X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fscanner.h;h=7749e49ed99d76689e0fb8b97fde7c8bda3a0c89;hp=8fdf386c6ce087a2133b1081e765c6fb6bc9919d;hb=1a050c98763fbbc0662731b0b76953acede6f5d7;hpb=c8b19dfaffba9f06d8b6c40cb1bb83a8964867f7 diff --git a/include/scanner.h b/include/scanner.h index 8fdf386..7749e49 100644 --- a/include/scanner.h +++ b/include/scanner.h @@ -56,9 +56,9 @@ class DetectorArray { m_viewAngle = viewAngle; } private: - DetectorValue* m_detValues; // Pointer to array of values recorded by detector - int m_nDet; // Number of detectors in array */ - double m_viewAngle; // View angle in radians + DetectorValue* m_detValues; // Pointer to array of values recorded by detector + int m_nDet; // Number of detectors in array */ + double m_viewAngle; // View angle in radians DetectorArray& operator=(const DetectorArray& rhs); // assignment DetectorArray (const DetectorArray& rhs); // copy constructor @@ -74,12 +74,12 @@ class Scanner static const int GEOMETRY_EQUIANGULAR; static const int GEOMETRY_LINOGRAM; - - Scanner (const Phantom& phm, const char* const geometryName, int nDet, - int nView, int iOffsetView, int nSample, const double rot_anglen, + + Scanner (const Phantom& phm, const char* const geometryName, int nDet, + int nView, int iOffsetView, int nSample, const double rot_anglen, double dFocalLengthRatio, double dCenterDetectorRatio, double dViewRatio, double dScanRatio); ~Scanner(); - + void collectProjections (Projections& proj, const Phantom& phm, const int trace = Trace::TRACE_NONE, SGP* pSGP = NULL); @@ -95,7 +95,7 @@ class Scanner unsigned int nDet() const {return m_nDet;} unsigned int nView() const {return m_nView;} unsigned int offsetView() const {return m_iOffsetView;} - unsigned int startView() const {return m_startView;} + unsigned int startView() const {return m_startView;} double rotInc() const {return m_rotInc;} double detInc() const {return m_detInc;} double detLen() const {return m_detLen;} @@ -116,41 +116,41 @@ class Scanner static int convertGeometryNameToID (const char* const geometryName); static const char* convertGeometryIDToName (const int idGeometry); static const char* convertGeometryIDToTitle (const int idGeometry); - + private: bool m_fail; std::string m_failMessage; int m_idGeometry; - unsigned int m_nDet; /* Number of detectors in array */ - unsigned int m_nView; /* Number of rotated views */ - unsigned int m_iOffsetView; - unsigned int m_startView; - unsigned int m_nSample; /* Number of rays per detector */ + unsigned int m_nDet; /* Number of detectors in array */ + unsigned int m_nView; /* Number of rotated views */ + unsigned int m_iOffsetView; + unsigned int m_startView; + unsigned int m_nSample; /* Number of rays per detector */ double m_dFocalLength; // Focal Length, distance from source to center double m_dSourceDetectorLength; // Distance from source to detectors double m_dCenterDetectorLength; // Distance from center to detectors double m_dViewDiameter; // Diameter of area being processed double m_dScanDiameter; // Diamer of area being scanned double m_dViewRatio; // View Ratio to diameter phantom - double m_dFocalLengthRatio; // Source to Center Length as ratio to viewDiameter radius + double m_dFocalLengthRatio; // Source to Center Length as ratio to viewDiameter radius double m_dCenterDetectorRatio; // Center to Detector Length as ratio of viewDiameter radius double m_dScanRatio; // Scan length to view length ratio double m_dFanBeamAngle; - double m_detLen; // Total length of detector array - double m_rotLen; // Rotation angle length in radians (norm 2PI) - double m_detInc; // Increment between centers of detectors - double m_rotInc; // Increment in rotation angle between views + double m_detLen; // Total length of detector array + double m_rotLen; // Rotation angle length in radians (norm 2PI) + double m_detInc; // Increment between centers of detectors + double m_rotInc; // Increment in rotation angle between views double m_detStart; double m_dXCenter; // Center of Phantom - double m_dYCenter; + double m_dYCenter; double m_dAngularDetIncrement; double m_dAngularDetLen; int m_trace; struct { - double xd1,yd1,xd2,yd2; /* Coordinates of detector endpoints */ - double xs1,ys1,xs2,ys2; /* Coordinates of source endpoints */ - double angle; /* Starting angle */ + double xd1,yd1,xd2,yd2; /* Coordinates of detector endpoints */ + double xs1,ys1,xs2,ys2; /* Coordinates of source endpoints */ + double angle; /* Starting angle */ double dAngularDet; } m_initPos;