|Message: Another4JohnAllison: bounding boxes and solid angles||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
I mentioned I had another question for you. The general problem is this:
Can I use Geant methods to efficiently (a) find the intersection of a number of solids and then (b) obtain the coordinates of a bounding box or sphere that covers the solid angle subtended by the resulting 3D (possibly disconnected) volume region? For (b) it is the coordinates that I need, not just the width or diameter of the bounding box. Alternatively if I can write a method that returns the theta and phi angles defining the solid angle to the overlap of the solid volumes then that'd suffice.
My specific application is this:
Find out where an unknown gamma ray source is located given only the back projected cones defined by the Compton scattering of a source photon at a detector. My detector can find the cone that the source must lie on, but only with some non-zero resolution, so the cone is not a precise surface, but is rather a solid cone annulus. Further, the source might not be a point source, so the backward cones will not intersect at a unique point anyway, so I have to consider volumes, not conic surfaces. This is where Geant could help me (save me writing my own solid geometry clases from scratch!).
The geometrical problem to solve is this:
So I need to find the intersection of 2 or more cone annuli ("thick cones", like solid pointed witch hats, i.e., solid regions bounded by two conics). I only need an algorithm for single-sided cones (not full double cones). I've breifly looked for analytic algorithms but this cone intersection problem using surface intersections is apparently quite hard except for special cases (such as cones with the same apex). But if the GetExtent() or CalculateExtent() methods in Geant work for solids defined by boolean intersection then I think my job would be accomplished. I'd only need to arrange my code to perform the steps to get all the solid cones defining the intersection and then get the solid angle in space that covers their intersection. In practise the algorithm would have to be sequential, finding first the interseciton of two cone annuli, then finding the intersection of that intersection with a thrid cone annulus, then a fourth, a fifth and so on, halting whenever the solid angle of the resulting overall intersection goes below some tolerance or when no intersection is found.
A few things may thwart me: One is that the procedure I'm thinking of requires taking intersections of intersections, so towards the end of the algorithm I'd be dealing with finding the intersections of a solid cone with a probably disconnected region. Another problem may be that computationally this is just too slow to perform with Geant and some other special purpose algorithm could do a better job, but currently that is not my chief concern, I just want to see if Geant can solve the problem, then I can test it against other algorithms for the same problem. I'm also hoping that when I use G4VSolids to perform these calculations I can get a solid angle to the 3D intersection region directly without having to make physical placments, but is that possible? From the way Geant's boolena solid operators seem to be defined I would expect that I can do all that I require without making an actual physical volume placement at least for two cones, but if I make repeated intersections will the coordinate system be remembered?
(I don't think I've explained that last bit very well, do you nevertheless see what I'm concerned about? ---It's that my task is really to find the direction in space to the location of the meeting of a number of cone annuli physical volumes, but I'd like to do the entire calculation with G4VSolid volumes keeping the origin as the apex of the very first cone created to form the first annulus.)
What do you think? Can Geant do the job? If you need more clarification of the problem definition in order to give me a definite answer then email me directly and I'll give you the details.
Apologies for the verbosity, Blair.
|Inline Depth:||Outline Depth:||Add message:|