Message: Re: Problem with very small stepsize caused by transportation process? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Problem with very small stepsize caused by transportation process? 

Keywords: small stepsize, transportation
Forum: Fast Simulation, Transportation & Others
Re: Note Problem with very small stepsize caused by transportation process? (Henning Gast)
Date: 11 Jan, 2007
From: John Apostolakis <John Apostolakis>

[ I started writing this before you last posting - but I have now read it.]

Your problem is unusual, and could suggest a difficulty in the Navigator or in your setup. My first suggestion would be to run overlap checking. Since you report doing this already, I will provide a different suggestion. [ However, if you can try to check for overlaps a second time, using a different method, it could help too. ]

Could you please see whether you can reproduce the problem when locating a point by yourself with just the Navigator.

From your output I see that the difficulty is at

 Position - x (mm)   :   -89.70796591921498  
 Position - y (mm)   :   -63.48666293803226 
 Position - z (mm)   :             -285.232

Can you call the Navigator at this point, (you can get its pointer from the G4TransportationManager), using LocateGlobalPointAndSetup ? I suggest to call it repeatedly and compare its output.

Then add the direction, which from your print out appears to be
 Momentum Direct - x :  -0.9805329125797901 
 Momentum Direct - y :   0.1807490143955495 
 Momentum Direct - z : -0.07671376110471373

From the values of the position, it is my guess that there is a boundary
exactly at this z value:
 Position - z (mm)   :             -285.232
Can you confirm whether the point is at a boundary of one of the
TrdLayer volumes at this point ? 

If so, it would be very useful to create a custom sub-class of G4SteppingVerbose that prints out the copy number of the current TrdLayer (and potentially the parent volume's copy number as well.) This way we can check whether it is confused by bouncing between different copies at their interface.

After this, please try to call the Navigator's ComputeStep method yourself. If it returns zero, you are seeing the same problem.

I suggest to repeat
    Locate( point, direction, ...
    step= ComputeStep( point, direction, ...
    point += step * direction; 
a few more times (say 20 times in a loop) to confirm that the problem
is with Navigation, not the field.

The code for propagating in a magnetic field should take care for difficult cases, where it can be unclear what volume a track is actually crossing. In this case, though, it appears that it is the Navigator which is having difficulties.

I noted that you said that "" a particle should never really enter a "TrdLayer" volume explicitly because the daughter volume "TrdRadiator" in each "TrdModule" fills the upper part of the layer completely. ""

This seems to indicate that it is experiencing significant difficult at this level. What type of volume is a 'TrdModule'? A box, a tubs, or other ?? Also what is the TrdRadiator ?

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

1 None: Re: Problem with very small stepsize caused by transportation process?   (Henning Gast - 12 Jan, 2007)
 Add Message Add Message
to: "Re: Problem with very small stepsize caused by transportation process?"

 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 ]