Ticket #2596 (closed: fixed)
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:3 Changed 10 years ago by Stuart Campbell
- Status changed from accepted to assigned
- Owner changed from Stuart Campbell to Nick Draper
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
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: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: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