@@ -66,6 +66,11 @@ namespace rapidxml
6666/* * TODO:
6767 - Add a "fixed" geometry option - then distances in like shielding/source display are not shown/used
6868 - Add a "setback" option
69+ - There are a couple commented-out functions where this is started, but will need to
70+ - Add `m_setback` member variable
71+ - Modify the "DetectorPeakResponse" DB class - need to use DB upgrade mechanism
72+ - Make sure that everywhere that gets a fractional solid angle, accounts for the setback.
73+ - At the same time, add a "fixed geometry" option, where distances then disapear everywhere
6974 */
7075
7176
@@ -404,18 +409,31 @@ class DetectorPeakResponse
404409 */
405410 std::function<float ( float )> intrinsicEfficiencyFcn () const ;
406411
407- // fractionalSolidAngle(...) returns the fraction of gamma rays from a point
408- // source that would strike the detector face of a detector with diameter
409- // 'detectorDiameter' at a distance from source of distance.
410- // Note: For a detector diameter of 5cm, you might start running into numerical accuracy
411- // issues for distances around 100 km.
412+ /* * Gives the fraction of gammas or x-rays from a point source that would strike the detector crystal.
413+
414+ @param detector_diameter The diameter of the detector, in units of PhysicalUnits.
415+ @param observation_distance The distance from the face of the detector, to the point source.
416+ if the detector has a setback, you should add this to the distance of the detector face to
417+ the point source
418+
419+ Note: For a detector diameter of 5cm, you might start running into numerical accuracy
420+ issues for distances around 100 km.
421+ */
412422 static double fractionalSolidAngle ( const double detector_diameter,
413423 const double observation_distance ) noexcept ;
414424
415-
416- // fractionalSolidAngle(...): similar to the above, but takes into account
417- // the source radius (assumed to be flat round plane); see pg 119 in Knoll
418- // for details on approxiation used.
425+ /* * Returns approximate fraction of gammas or x-rays from a extended disk-source, that would strick
426+ the detector crystal.
427+
428+ @param detector_diameter The diameter of the detector, in units of PhysicalUnits.
429+ @param observation_distance The distance from the face of the detector, to the point source.
430+ if the detector has a setback, you should add this to the distance of the detector face to
431+ the point source
432+ @param source_radius The radius of the flat, round plane, source, in units of PhysicalUnits.
433+
434+ Note: Source is assumed to be flat round plane.
435+ Note: see pg 119 in Knoll for details on approxiation used.
436+ */
419437 static double fractionalSolidAngle ( const double detector_diameter,
420438 const double observation_distance,
421439 const double source_radius );
@@ -476,6 +494,19 @@ class DetectorPeakResponse
476494 */
477495 double upperEnergy () const ;
478496
497+ /* * The distance the detector crystal is setback from the face of the detector.
498+
499+ Must be zero, or a positive number.
500+ */
501+ // void setDetectorSetback( const double distance );
502+
503+ /* * The setback distance of the detector.
504+ Distances are usually given from the face of the detector, to the item of interest,
505+ however, there is typically a small distance between the face of the detector, and
506+ the detection element surface - this is the setback distance.
507+ */
508+ // double detectorSetback() const;
509+
479510 /* * Updated the #m_lastUsedUtc member variable to current time. Does not
480511 save to database.
481512 */
0 commit comments