-#ifdef HAVE_SGP
- if (pSGP && m_trace >= TRACE_PHM) {
- double wsize = 1.42 * m_phmLen / 2; /* sqrt(2) * radius */
-
- pSGP->setColor (C_LTBLUE);
- pSGP->setWindow (xcent - wsize, ycent - wsize, xcent + wsize, ycent + wsize);
- pSGP->setColor (C_BROWN);
-#if RADIUS
- pSGP->drawCircle (m_phmLen / 2);
-#else
- pSGP->drawRect (xcent - m_phmLen / 2, ycent - m_phmLen / 2,
- xcent + m_phmLen / 2, ycent + m_phmLen / 2);
-#endif
- pSGP->setColor (C_BROWN);
- pSGP->moveAbs (0., 0.);
- pSGP->drawCircle (wsize);
- // raysum_trace_menu_column = (crt->xsize * crt->asp) / 8 + 3;
- traceShowParam ("X-Ray Simulator", "%s", RAYSUM_TRACE_ROW_TITLE, 8+C_LTWHITE, " ");
- traceShowParam ("---------------", "%s", RAYSUM_TRACE_ROW_TITLE2, 8+C_LTWHITE, " ");
- traceShowParam ("Phantom:", "%s", RAYSUM_TRACE_ROW_PHANT_ID, C_YELLOW, " Herman");
- traceShowParam ("Chomaticity :", "%s", RAYSUM_TRACE_ROW_CHROMATIC, C_LTGREEN, "Mono");
- traceShowParam ("Scatter :", "%5.1f", RAYSUM_TRACE_ROW_SCATTER, C_LTGREEN, 0.);
- traceShowParam ("Photon Uncert:", "%5.1f", RAYSUM_TRACE_ROW_PHOT_STAT, C_LTGREEN, 0.);
- traceShowParam ("Num Scanners:", "%5d", RAYSUM_TRACE_ROW_NDET, C_LTRED, proj.nDet());
- traceShowParam ("Num Views :", "%5d", RAYSUM_TRACE_ROW_NVIEW, C_LTRED, proj.nView());
- traceShowParam ("Samples / Ray:", "%5d", RAYSUM_TRACE_ROW_SAMPLES, C_LTRED, m_nSample);
-
- pSGP->setColor (C_LTGREEN);
- phm.draw (*pSGP);
-
- pSGP->setMarker (SGP::MARK_BDIAMOND, C_LTGREEN);
- }
-#endif
+void
+Scanner::collectProjections (Projections& proj, const Phantom& phm, const int iStartView, const int iNumViews,
+ bool bStoreAtViewPosition, const int trace, SGP* pSGP)
+{
+ int iStorageOffset = (bStoreAtViewPosition ? iStartView : 0);
+ collectProjections (proj, phm, iStartView, iNumViews, iStorageOffset, trace, pSGP);
+}