|Message: daughter volumes not sensitive but should be pointed to?||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)|
The question is this: Is there a G4 method for finding the deepest (top level) daughter volume at a given point? Taking a G4ThreeVector in global cordinates and returning the top most physical volume at that point. (Consistent I think with confusing G4 terminology the "topmost" level is the deepest nested---which is the 0th level of the geometry tree.---to my mind nested hierarchies should have the World volume as the "top" at level=0 but I guess G4 developers decided otherwise! I think the "G4 User's Guide for App. Dev." should have a sentence or two about this because it caused me a lot of wasted time early on trying to test to see what "topmost" meant in relation to the geometry tree!) A further question that I think has been covered but that I wish to clarify for certain is this: Is my following description of hits in nested SD volumes correct? My Description: --------------- OK, I seem to find that my touchable history handle always starts with level=0 as the SD volume itself. What if I need to know about the actual daughter subvolume that the hit occurs within? When I set "/tracking/verbose 1" I can see all the daughter volumes in the output, but when I collect hits using ProcessHits() I only seem to be able to access the geometry levels above the SD volume, not the deeper daughter levels that I'd like to also know about. Earlier I posted a reply to message 18 for this topic (original post by I. Cornelius) in which I recounted a conversation with another geant user. There I worried about Makoto's expert statement that daughter volumes do not inherit sensitivity. Well, it turns out that upon actual experience I would say that Makoto was correct (I did not doubt that), but what pains me is that my interpretation was incorrect. I had assumed that although daughter volumes might not inherit sensitivity they might yet at least be accessed by the touchable history. It is still true that when a daughter volume's boundary is crossed the SD calls ProcessHits() for the parent volume. I see that in the log output. But within ProcessHits() it seems I loose the information about any daughter volumes, unless I inspect by looking at the hit position and infer the deepest volume at that point by brute force inspection. So rather than write code to look up a volume based upon position (is there a G4 method for that????) I will instead probably take the easy route of simply making all the daughter volumes sensitive as needed, creating and maintaining of course more hit collections, which is a slight pain but not too burdensome. *** One good thing that matches intuition is that it seems as though when one has a SD volume inside a parent SD volume and a hit occurs in the daughter SD volume, the ProcessHits() method only gets called ONCE and it gets called naturally for the daughter, not the parent. Thus hits in nested SD volumes do not cause redundant calls to ProcessHits(). This is as I would've hoped! You can then loop through all your hit collections knowing that you will not encounter the same hit more than once.
|Inline Depth:||Outline Depth:||Add message:|