** 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
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);
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, ...);