Message: G4VSolid::DistanceToOut(p,v,...) for p on surface? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question G4VSolid::DistanceToOut(p,v,...) for p on surface? 

Keywords: distancetoout tracking geometry
Forum: Geometry
Date: 05 Mar, 2007
From: Rickard Holmberg <Rickard Holmberg>

Hi everyone.

When trying to debug the G4TessellatedSolid problems I reported in another thread here, I have run up against some other problems, concerning DistanceToOut(p,v,...) when p lies on a surface. The User's Guide for Toolkit developers states that DistanceToOut(p,v,...) should behave as follows:

Return distance along the normalised vector v to the shape, from a point at an offset p inside or on the surface of the shape. Intersections with surfaces, when the point is not greater than kCarTolerance/2 from a surface, must be ignored.

I interpret that so that if we are close to a surface like that, the function should return the distance to the next outgoing intersection, if there is one.

E.g, if the solid is U-shaped, and the function is called for a point with p on the inner surface of the left hook, and v pointing right, it should ignore the first surface and return the distance to the right-hand outgoing surface. However, looking at G4UnionSolid::DistanceToOut(p,v,...), that function seems to return 0.0 if p lies on the outside half of the surface, regardless of whether the ray intersects any other surfaces later.

Am I missing something obvious here?


Rickard Holmberg

P.S. My code works a lot better (no FarOutsideCurrentVolume exceptions) when returning 0.0 for points on the surface - contrary to my interpretation of the users guide's description. D.S.

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Feedback: Re: G4VSolid::DistanceToOut(p,v,...) for p on surface?   (Vladimir Grichine - 06 Mar, 2007)
(_ None: Re: G4VSolid::DistanceToOut(p,v,...) for p on surface?   (Rickard Holmberg - 06 Mar, 2007)
 Add Message Add Message
to: "G4VSolid::DistanceToOut(p,v,...) for p on surface?"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews

[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]