Message: Re: No reallocation step after reflection Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Feedback Re: No reallocation step after reflection 

Forum: Processes Involving Optical Photons
Re: None No reallocation step after reflection (Gabriel Magill)
Re: Question Re: No reallocation step after reflection (Marcus O'Flaherty)
Date: 30 Nov, 2016
From: Gumplinger Peter <Gumplinger Peter>

Hi Marcus,

> What drives the 'reallocation step' to occur?

Upon reflection off of a surface, you get three steps in Geant4:

(1) the step when the track arrives at the surface. This step has preStepPoint inside the volume and postStepPoint pointing to the volume on the other side of the surface

(2) upon reflection, the G4 navigator does a 'reallocation step'. This step has zero length step size and preStepPoint pointing to the volume outside the surface, and postStepPoint to the volume inside the surface

(3) the next step is a normal transportation step inside the volume.

> Why might it not occur?

This, I don't know. You can debug (print) the logic in your SteppingAction that leads to the Exception.

>          Volume Name         :          paddle_phys          totMRDphys
> #Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
>     1     -424      508 4.69e+03  2.94e-06        0      139       139  totMRDphys Transportation

The above is the (1) step; the track arrives at the surface.

>          Volume Name         :           totMRDphys         paddle_phys
> #Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
>     2     -424      508 4.69e+03  2.94e-06        0        0       139 paddle_phys Transportation

This is the correct reallocation step (there are no complains from SteppingAction).

>          Volume Name         :          paddle_phys          totMRDphys
> #Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
>     3     -494      660 4.69e+03  2.94e-06        0      168       307  totMRDphys Transportation

This is step (3) but also step (1) of the next reflection

>          Volume Name         :           totMRDphys         paddle_phys
> #Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
>     4     -494      660 4.69e+03  2.94e-06 2.94e-06 6.62e-10       307 paddle_phys Transportation
> error: poststeppoint volume is paddle_phys prestep point is totMRDphys
> 
> -------- EEEE ------- G4Exception-START -------- EEEE -------
> *** G4Exception : WCSimExpl01
>       issued by : WCSimSteppingAction::UserSteppingAction()
> WCSimSteppingAction::UserSteppingAction(): No reallocation step after reflection!
> Something is wrong with the surface normal or geometry
> 
> *** Fatal Exception *** core dump *** -------- EEEE --------
> G4Exception-END --------- EEEE -------
> 
> *** G4Exception: Aborting execution *** Aborted

This triggered the G4Exception in your SteppingAction. Can you reduce the stepping verbose to 1 and add additional debug printing to follow the logic at:

http://www-geant4.kek.jp/lxr/source/examples/extended/optical/LXe/src/LXeSteppingAction.cc#L164

i.e. print at every step:

thePostPoint->GetStepStatus() fExpectedNextStatus boundaryStatus

Thanks, Peter

 Add Message Add Message
to: "Re: No reallocation step after reflection"

 Subscribe Subscribe

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