+ DetectorArray& detArray = proj.getDetectorArray( iStoragePosition );
+
+#ifdef HAVE_SGP
+ if (pSGP && m_trace >= Trace::TRACE_PHANTOM) {
+ m_pSGP = pSGP;
+ double dWindowSize = dmax (m_detLen, m_dSourceDetectorLength) * 2;
+ double dHalfWindowSize = dWindowSize / 2;
+ m_dXMinWin = m_dXCenter - dHalfWindowSize;
+ m_dXMaxWin = m_dXCenter + dHalfWindowSize;
+ m_dYMinWin = m_dYCenter - dHalfWindowSize;
+ m_dYMaxWin = m_dYCenter + dHalfWindowSize;
+
+ m_pSGP->setWindow (m_dXMinWin, m_dYMinWin, m_dXMaxWin, m_dYMaxWin);
+ m_pSGP->setRasterOp (RO_COPY);
+
+ m_pSGP->setColor (C_RED);
+ m_pSGP->moveAbs (0., 0.);
+ m_pSGP->drawCircle (m_dViewDiameter / 2);
+
+ m_pSGP->moveAbs (0., 0.);
+ m_pSGP->setColor (C_GREEN);
+ m_pSGP->drawCircle (m_dFocalLength);
+ m_pSGP->setColor (C_BLUE);
+#if MSVC
+ m_pSGP->setTextPointSize (9);
+#else
+ m_pSGP->setTextPointSize (14);
+#endif
+ phm.draw (*m_pSGP);
+ m_dTextHeight = m_pSGP->getCharHeight ();
+
+ traceShowParam ("Phantom:", "%s", PROJECTION_TRACE_ROW_PHANT_ID, C_BLACK, phm.name().c_str());
+ traceShowParam ("Geometry:", "%s", PROJECTION_TRACE_ROW_GEOMETRY, C_BLUE, convertGeometryIDToName(m_idGeometry));
+ traceShowParam ("Focal Length Ratio:", "%.2f", PROJECTION_TRACE_ROW_FOCAL_LENGTH, C_BLUE, m_dFocalLengthRatio);
+ // traceShowParam ("Field Of View Ratio:", "%.2f", PROJECTION_TRACE_ROW_FIELD_OF_VIEW, C_BLUE, m_dFieldOfViewRatio);
+ traceShowParam ("Num Detectors:", "%d", PROJECTION_TRACE_ROW_NDET, C_BLUE, proj.nDet());
+ traceShowParam ("Num Views:", "%d", PROJECTION_TRACE_ROW_NVIEW, C_BLUE, proj.nView());
+ traceShowParam ("Samples / Ray:", "%d", PROJECTION_TRACE_ROW_SAMPLES, C_BLUE, m_nSample);
+
+ m_pSGP->setMarker (SGP::MARKER_BDIAMOND);
+ }
+#endif
+