mantid
mantid copied to clipboard
Make DiscusMultipleScatteringCorrection work with hollow\concave shapes
The Monte Carlo simulation performed by DiscusMultipleScatteringCorrection doesn't work properly if the sample shape is either concave or hollow. The logic in DiscusMultipleScatteringCorrection::updateWeightAndPosition and DiscusMultipleScatteringCorrection::inc_xyz assumes there's only a single track segment inside the sample
This could be fixed by setting dl
using Track::totalDistInsideObject
instead of track.front().distInsideObject
and then when incrementing the current position, the code could subtract off the track segment lengths until the current segment length is greater than dl
@warunawickramasingha and I think this already works actually with the current track generation - but we want to make a plot/simulation to show this and add to the documentation.