Ticket #124 (closed: fixed)
Add Solid angle calculations to geometry surface objects
Reported by: | Nick Draper | Owned by: | Ronald Fowler |
---|---|---|---|
Priority: | major | Milestone: | Iteration 10 |
Component: | Keywords: | ||
Cc: | Blocked By: | ||
Blocking: | Tester: |
Description (last modified by Nick Draper) (diff)
We need to be able to calculate solid angles, primarily between the sample and the detectors, but also for other geometric objects.
I suggest we need the following function added to the surface base class.
virtual double solidAngle(const V3D point) const
We can for now assume that the solid angle for a point is close enough to the solid angle for the samples surface as they will generally be sufficiently far away.
I suspect that for many of the simple objects such as sphere and cone there will be simpler and more efficient derivations than a generalised one for a surface. In these cases these classes should inherhit and overload the method.
Change History
comment:5 Changed 12 years ago by Nick Draper
(In [1138]) re #124 Bug in intercept surface when the tack misses an object with an infinite surface has been fixed. The issue was when one of the surface was crossed, but no a part of the surface that makes up part of the object. Additional tests for track misses added. Also fixed a bug that the number returned by intercept surface could be wrong.
It should be possible to complete the Cylinder solid angle tests now.
comment:7 Changed 12 years ago by Nick Draper
- Owner changed from Lakshmi Sastry to Ronald Fowler
- Milestone changed from Iteration 9 to Iteration 10
comment:10 Changed 12 years ago by Ronald Fowler
comment:11 Changed 12 years ago by Ronald Fowler
(In [1203]) Improved solid angle calculation by starting integration on point that lies within the object. If a valid bounding box exists this is used to limit the domain of integration. If one does not exist the integration starts from a point in object and terminates when beyond object. If default resolution mainly misses the object, try again with finer mesh. Re #124
comment:12 Changed 12 years ago by Russell Taylor
comment:13 Changed 12 years ago by Ronald Fowler
comment:14 Changed 12 years ago by Ronald Fowler
comment:15 Changed 12 years ago by Ronald Fowler
comment:16 Changed 12 years ago by Nick Draper
- Status changed from new to closed
- Resolution set to fixed
comment:17 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 972