Message: Re: Unified model ground surfaces Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Feedback Re: Unified model ground surfaces 

Forum: Processes Involving Optical Photons
Re: Question Unified model ground surfaces (Andrzej Zuranski)
Re: Feedback Re: Unified model ground surfaces (Gumplinger Peter)
Date: 08 Apr, 2009
From: Gumplinger Peter <Gumplinger Peter>

Hi Andrzej

I quote some questions of yours (in a private email to me) with answers here:

> I expect the refraction to be modified due to the roughness of the surface

> compared to the polished one.More clearly I understand that there is some

> effect of the 'roughness' on the refraction angle but refraction is still

> called Fresnel Refraction (I expected another naming, but it's fine).

The logic in G4OpBoundaryProcess::ChooseReflection() is the following:

                 G4double rand = G4UniformRand();
                 if ( rand >= 0.0 && rand < prob_ss ) {
                    theStatus = SpikeReflection;
                    theFacetNormal = theGlobalNormal;

=>> this is the (portion) of reflection as if from a perfectly smooth surface

                 else if ( rand >= prob_ss &&
                           rand <= prob_ss+prob_sl) {
                    theStatus = LobeReflection;

=>> this it the (portion) of refection as if from micro faceted surfaces where the facet normals are sampled from the given roughness parameter

                 else if ( rand > prob_ss+prob_sl &&
                           rand < prob_ss+prob_sl+prob_bs ) {
                    theStatus = BackScattering;
=>> this is the (portion) of refection that results in perfect back scattering - as if a ray is trapped in some groove at first with the only way out is back the way it came...

                 else {
                    theStatus = LambertianReflection;

=>> this is the (portion) of relection assumed to be Lambertian.

The set 'theStatus' is then used to direct this logic (for illustration - the code is a bit different):

                else if ( theStatus == BackScattering ) {
                   NewMomentum = -OldMomentum;
                   NewPolarization = -OldPolarization;
                else {

                        theFacetNormal =


In the case of theStatus==LobeReflection (initially) the variable theStatus gets reset to FresnelRefraction if that is what transpires from the incident ray's direction and the sampled theFacetNormal.

> I don't really care about what is reflected back from this surface anyway, so

> If I don't specify tables for Lobe, Spike and BackScatter (as I understand

> everything reflected would be Lambertian in such case)


> it doesn't affect in any way the refracted light, right?


>> If there is a thin air gap between two volumes, such as the light guide and

>> the PMT-window, then you must implement all three volumes as physical volumes

>> in Geant4.

> So doing these I need to specify two surfaces if they are not perfeclty

> polished.


> I have another question If I can. For optical photons we need to specify some

> information in G4MaterialPropertiesTable's which is not always easy to find,

> for instance absorption lenghts, imaginary part of the refractive index. I'm

> using plexiglass light guides, I know that they are not very transparent to UV

> light but I couldn't find the necessary numbers for the abs_lenght quickly. Do

> you know about any public databases that may contain such info? I found

> for the wavelength dependent refractive index. The NIST

> databases are not very precise for optical properties I think.

Sorry, can't help you there...

 Add Message Add Message
to: "Re: Unified model ground surfaces"

 Subscribe Subscribe

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