| Message: Re: problems with optical surfaces | Not Logged In (login) |
|
Hello Moritz,
I'll deal first with your second problem. A sensitive detector registers hits only for steps taken inside it. Therefore, if a photon is absorbed as it hits your light detector it'll never actually step inside it. Hence, no hits in the usual G4 sense. Please, see example/extended/optical/LXe to learn how to tally optical photons that hit a photon sensitive surface (LXeSteppingAction.cc). You basically have to trigger the (hit) counting in SteppingAction when the G4OpBoundaryProcess returns 'Detection'. Reflected photons do do a reallocation step inside your light detector and so you get the usual G4VHit. In summary, the sensitive volume concept of Geant4 is not suitable for use with optical photons. At present, it is not possible to specify different optical properties for different sides of a volume's surface except by the 'trick' you have arrived at; a geometry volume construct redefinition whereby the sides are adjacent to different physical volumes. It took me some time but I found your bug why the reflectivity is ignored for your housing wall: myST2->AddProperty("REFLECTIVTY", Ephoton, ReflectivityRHS, num); it should read "REFLECTIVITY"! (There is nothing I could do programming wise to prevent you from making this spelling mistake because the MaterialPropertiesTable is designed so the user can add any named property to the table he wishes to) The G4OpBoundaryProcess looks for the correctly named property "REFLECTIVITY" and if it is not found, the default is 1. Regards, Peter
|
| Inline Depth: | Outline Depth: | Add message: |
|
to: |