- if (pSGP && m_trace >= TRACE_PHM) {
- pSGP->eraseWindow();
- double dWindowSize = max(m_detLen, m_dFocalLength * 2) * SQRT2;
- double dHalfWindowSize = dWindowSize / 2;
- double dHalfPhmLen = m_phmLen / 2;
-
- pSGP->setRasterOp (RO_SET);
- pSGP->eraseWindow ();
- pSGP->setWindow (xcent - dHalfWindowSize, ycent - dHalfWindowSize, xcent + dHalfWindowSize, ycent + dHalfWindowSize);
- pSGP->setColor (C_BROWN);
- pSGP->moveAbs (0., 0.);
- pSGP->drawRect (xcent - dHalfPhmLen, ycent - dHalfPhmLen, xcent + dHalfPhmLen, ycent + dHalfPhmLen);
-
-#if 0
- traceShowParam (pSGP, "X-Ray Simulator", "%s", RAYSUM_TRACE_ROW_TITLE, C_BLACK, " ");
- traceShowParam (pSGP, "---------------", "%s", RAYSUM_TRACE_ROW_TITLE2, C_BLACK, " ");
- traceShowParam (pSGP, "Phantom:", "%s", RAYSUM_TRACE_ROW_PHANT_ID, C_YELLOW, " Herman");
- traceShowParam (pSGP, "Chomaticity :", "%s", RAYSUM_TRACE_ROW_CHROMATIC, C_LTGREEN, "Mono");
- traceShowParam (pSGP, "Scatter :", "%5.1f", RAYSUM_TRACE_ROW_SCATTER, C_LTGREEN, 0.);
- traceShowParam (pSGP, "Photon Uncert:", "%5.1f", RAYSUM_TRACE_ROW_PHOT_STAT, C_LTGREEN, 0.);
- traceShowParam (pSGP, "Num Detectors:", "%5d", RAYSUM_TRACE_ROW_NDET, C_LTRED, proj.nDet());
- traceShowParam (pSGP, "Num Views :", "%5d", RAYSUM_TRACE_ROW_NVIEW, C_LTRED, proj.nViews());
- traceShowParam (pSGP, "Samples / Ray:", "%5d", RAYSUM_TRACE_ROW_SAMPLES, C_LTRED, m_nSample);
+ 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);