r162: *** empty log message ***
[ctsim.git] / include / scanner.h
index c446280fb799ef4c107bf503fac2ac7e7fabfa91..0ab132c0c79633e020b5f6d01841f98a44897e6c 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: scanner.h,v 1.8 2000/07/22 15:45:33 kevin Exp $
+**  $Id: scanner.h,v 1.9 2000/07/28 08:28:08 kevin Exp $
 **
 **
 **  This program is free software; you can redistribute it and/or modify
 #ifndef SCANNER_H
 #define SCANNER_H
 
+#include "trace.h"
+
 class Projections;
 class Phantom;
 class PhantomElement;
+class SGP;
 
 // Projections are collected along an array of ndet detectors.  The data
 // for these detectors is stored in the class DetectorArray
@@ -74,7 +77,7 @@ class Scanner
   Scanner (const Phantom& phm, const char* const geometryName, int nDet, int nView, int nSample, const double rot_anglen);
   ~Scanner();
   
-  void collectProjections (Projections& proj, const Phantom& phm, const int start_view, const int trace);
+  void collectProjections (Projections& proj, const Phantom& phm, const int start_view, const int trace = TRACE_NONE, SGP* pSGP = NULL);
 
   void setNView (int nView);
 
@@ -119,11 +122,11 @@ class Scanner
   static const int s_iGeometryCount;
   static const int N_EXTRA_DETECTORS=4;           /* Number of extra detectors widths when calculating detlen */
 
-  void projectSingleView (const Phantom& phm, DetectorArray& darray, const double xd1, const double yd1, const double xd2, const double yd2, const double xs1, const double ys1, const double xs2, const double ys2);
+  void projectSingleView (const Phantom& phm, DetectorArray& darray, const double xd1, const double yd1, const double xd2, const double yd2, const double xs1, const double ys1, const double xs2, const double ys2, SGP* pSGP);
 
-  double projectSingleLine (const Phantom& phm, const double x1, const double y1, const double x2, const double y2);
+  double projectSingleLine (const Phantom& phm, const double x1, const double y1, const double x2, const double y2, SGP* pSGP);
 
-  double projectLineAgainstPElem (const PhantomElement& pelem, const double x1, const double y1, const double x2, const double y2);
+  double projectLineAgainstPElem (const PhantomElement& pelem, const double x1, const double y1, const double x2, const double y2, SGP* pSGP);
 
   void traceShowParam (const char *label, const char *fmt, int row, int color, ...);