|Message: Re: Optical problem with geometry subtraction||Not Logged In (login)|
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
|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)|
Sorry, I am just coming to this discussion. I was away on vacation when this problem in the geometry forum was brought to my attention.
I can't explain all the different symptoms.
(1) addressing the photon stops with the intersection box:
As the optical photon G4 physics developer I can only say that G4OpBoundaryProcess stops a photon when the G4Navigator says it is hitting a volume boundary. You can best test what is going on by adding G4couts in:
For one, the DoIt returns and does nothing when:
pPostStepPoint->GetStepStatus() != fGeomBoundary
So clearly, the G4Navigator claims we are on a boundary when the photons hit the box. G4OpBoundary stops them because a needed optical property is not specified.
(2) addressing the problem of not seeing the mirror
This is either because the G4Navigator doesn't see the boundary; i.e. the simulation step doesn't end at the mirror, or because the G4OpBoundaryProcess finds that the boundary is dielectric_dielectric with the same index of refraction on both sides.
How did you specify the mirror surface? I understand you used a logical skin surface - and I agree with that. How did you define the G4OpticalSurface?
I would like to help more but I can't spend the time debugging this problem myself right now. We'll understand more if we analyse the logic followed in G4OpBoundaryProcess::PostStepDoIt for each of these symptoms.
Best regards, Peter
|Inline Depth:||Outline Depth:||Add message:|