Ticket #2596 (closed: fixed)

Opened 10 years ago

Last modified 5 years ago

Modify SolidAngle to take into account object 'shadowing' for PSD's

Reported by: Stuart Campbell Owned by: Martyn Gigg
Priority: major Milestone: Iteration 30
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Stuart Campbell

Description

At the moment, the SolidAngle algorithm doesn't return the correct value if part of the detector is obscured by another component. This is most common in a detector with multiple elements, i.e. PSD tube, where one pixel obscures the bottom/top of the next pixel.

Change History

comment:1 Changed 10 years ago by Stuart Campbell

  • Status changed from new to accepted

comment:2 Changed 10 years ago by Stuart Campbell

(In [9846]) Commented out use of SolidAngle in MedianDetectorTests as it can give false (good) results for pixels. refs #2596

comment:3 Changed 10 years ago by Stuart Campbell

  • Status changed from accepted to assigned
  • Owner changed from Stuart Campbell to Nick Draper

comment:4 Changed 10 years ago by Stuart Campbell

(In [9878]) Updated Excitations Reference results to take account for changes to determined mask. refs #2596

comment:5 Changed 10 years ago by Nick Draper

  • Owner changed from Nick Draper to Roman Tolchenov
  • Summary changed from Modify SolidAngle to take into account object 'shadowing' to Modify SolidAngle to take into account object 'shadowing' for PSD's

Actually there is a simpler approach we can take here that will solve the common problem we have without affecting performance adversely.

This problem only appears significantly for PSDs. Which are short cylinders stacked on top of each other. The problem occurs because of the end-cap of the cylinder becoming visible as the angle increases. For non cylinder detectors this is easily solved by giving the detector a very small depth.

We could code in a special case for cylinders (they already use a special case for rendering). During the object construction it can be recorded that it is a cylidner (already occurs) and that it is part of a larger tube (not done yet), in which case we can use an analytical formula to give the solid angle in this special (but common) case. http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B73DN-470W9GH-8P&_user=910841&_coverDate=06/01/1972&_alid=1671689142&_rdoc=5&_fmt=high&_orig=search&_origin=search&_zone=rslt_list_item&_cdi=11475&_docanchor=&view=c&_ct=55817&_acct=C000047841&_version=1&_urlVersion=0&_userid=910841&md5=53e0f1d010525515b77334b22607531a&searchtype=a or

http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TVT-48DXNGW-2&_user=910841&_coverDate=07/31/2003&_rdoc=1&_fmt=high&_orig=gateway&_origin=gateway&_sort=d&_docanchor=&view=c&_searchStrId=1671689142&_rerunOrigin=google&_acct=C000047841&_version=1&_urlVersion=0&_userid=910841&md5=457c7d30b42a48ae5dae9e1cd0cac4f8&searchtype=a

comment:6 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 28 to Iteration 29

Bulk move of tickets at the end of iteration 28

comment:7 Changed 9 years ago by Martyn Gigg

(In [11674]) Modify the SolidAngle calculation for cylinders to EXCLUDE the end caps so that it closely approximates the effects of shadowing for stacked cylinders. Also cleaned up some indentation in renderinging code and made an error message clearer in IPropertyManager. Re #2596

comment:8 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 29 to Iteration 30

Accepted and assigned tickets moved at iteration 29 code freeze

comment:9 Changed 9 years ago by Nick Draper

  • Owner changed from Roman Tolchenov to Martyn Gigg

comment:10 Changed 9 years ago by Martyn Gigg

  • Status changed from assigned to accepted

comment:11 Changed 9 years ago by Martyn Gigg

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:12 Changed 9 years ago by Stuart Campbell

  • Status changed from verify to verifying
  • Tester set to Stuart Campbell

comment:13 Changed 9 years ago by Stuart Campbell

  • Status changed from verifying to closed

Works ok.

We should now also start re-using it in out diagnostics (see #3742)

comment:14 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3443

Note: See TracTickets for help on using tickets.