r328: *** empty log message ***
[ctsim.git] / include / scanner.h
index fa6ea1d8633010b7e26a61e473d724cf524f1329..f0b498b72844e5d90ed223f243455b884d0cb985 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: scanner.h,v 1.13 2000/08/27 20:32:55 kevin Exp $
+**  $Id: scanner.h,v 1.16 2000/12/16 03:29:02 kevin Exp $
 **
 **
 **  This program is free software; you can redistribute it and/or modify
@@ -84,7 +84,7 @@ class Scanner
   void setNView (int nView);
 
   bool fail() const {return m_fail;}
-  const string& failMessage() const {return m_failMessage;}
+  const std::string& failMessage() const {return m_failMessage;}
   unsigned int nDet() const {return m_nDet;}
   unsigned int nView() const {return m_nView;}
   double phmLen() const {return m_phmLen;}
@@ -93,6 +93,7 @@ class Scanner
   double detLen() const {return m_detLen;}
   double focalLength() const {return m_dFocalLength;}
   double fieldOfView() const {return m_dFieldOfView;}
+  int geometry() const {return m_idGeometry;}
 
   static int getGeometryCount() {return s_iGeometryCount;}
   static const char** getGeometryNameArray() {return s_aszGeometryName;}
@@ -103,7 +104,7 @@ class Scanner
   
  private:
   bool m_fail;
-  string m_failMessage;
+  std::string m_failMessage;
   int m_idGeometry;
   unsigned int m_nDet;         /* Number of detectors in array */
   unsigned int m_nView;                /* Number of rotated views */
@@ -119,12 +120,15 @@ class Scanner
   double m_phmLen;              // Maximum Length of phantom or area of interest
   double m_dXCenter;            // Center of Phantom
   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 dAngularDet;
   } m_initPos;
 
   GRFMTX_2D m_rotmtxIncrement;
@@ -155,17 +159,15 @@ class Scanner
 
 };
 
-const static int PROJECTION_TRACE_ROW_TITLE=0;
-const static int PROJECTION_TRACE_ROW_TITLE2=1;
-const static int PROJECTION_TRACE_ROW_PHANT_ID=3;
-const static int PROJECTION_TRACE_ROW_GEOMETRY=4;
-const static int PROJECTION_TRACE_ROW_FOCAL_LENGTH=5;
-const static int PROJECTION_TRACE_ROW_FIELD_OF_VIEW=6;
-const static int PROJECTION_TRACE_ROW_NDET=7;
-const static int PROJECTION_TRACE_ROW_NVIEW=8;
-const static int PROJECTION_TRACE_ROW_SAMPLES=9;
-const static int PROJECTION_TRACE_ROW_CURR_VIEW=10;
-const static int PROJECTION_TRACE_ROW_ATTEN=11;
+const static int PROJECTION_TRACE_ROW_PHANT_ID=0;
+const static int PROJECTION_TRACE_ROW_GEOMETRY=1;
+const static int PROJECTION_TRACE_ROW_FOCAL_LENGTH=2;
+const static int PROJECTION_TRACE_ROW_FIELD_OF_VIEW=3;
+const static int PROJECTION_TRACE_ROW_NDET=4;
+const static int PROJECTION_TRACE_ROW_NVIEW=5;
+const static int PROJECTION_TRACE_ROW_SAMPLES=6;
+const static int PROJECTION_TRACE_ROW_CURR_VIEW=7;
+const static int PROJECTION_TRACE_ROW_ATTEN=8;