X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=include%2Fscanner.h;h=887c06ecdd54da2badfa6ba97ffa58193ac97524;hb=980bef9b95bef1ab728634181a5672088fd47066;hp=c446280fb799ef4c107bf503fac2ac7e7fabfa91;hpb=286d655a25df2668bd65ad365676c6ecc94415a1;p=ctsim.git diff --git a/include/scanner.h b/include/scanner.h index c446280..887c06e 100644 --- a/include/scanner.h +++ b/include/scanner.h @@ -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.10 2000/07/31 14:48:35 kevin Exp $ ** ** ** This program is free software; you can redistribute it and/or modify @@ -29,9 +29,12 @@ #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); @@ -117,13 +120,13 @@ class Scanner static const char* s_aszGeometryName[]; static const char* s_aszGeometryTitle[]; static const int s_iGeometryCount; - static const int N_EXTRA_DETECTORS=4; /* Number of extra detectors widths when calculating detlen */ + static const int N_EXTRA_DETECTORS=0; // 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, ...);