Message: Re: Boundary interaction model Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

More Re: Boundary interaction model 

Forum: Processes Involving Optical Photons
Re: Question Boundary interaction model (Nicolas Di Vara)
Re: Feedback Re: Boundary interaction model (Gumplinger Peter)
Re: None Re: Boundary interaction model (Erik Dietz-Laursonn)
Re: More Re: Boundary interaction model (Nicolas Di Vara)
Date: 14 Nov, 2012
From: Sehwook Lee <Sehwook Lee>

Dear Nicolas,

On Wed, 19 Sep 2012 09:40:54 GMT, Nicolas Di Vara wrote:

> Dear Erik,
> 
> I checked the code and it does not seem to use both indexes of
> refraction to calculate the reflectivity. It uses indeed the complex
> index of the surface to apply the Fowler approach to the calculations.
> 
> Apparently the code just checks for the presence of a complex index:
> 
>        PropertyPointer =
>                 aMaterialPropertiesTable->GetProperty("REFLECTIVITY");
>        PropertyPointer1 =
>                 aMaterialPropertiesTable->GetProperty("REALRINDEX");
>        PropertyPointer2 =
>                 aMaterialPropertiesTable->GetProperty("IMAGINARYRINDEX");
> 
>        iTE = 1;
>        TM = 1;
> 
>        if (PropertyPointer) {
> 
>                theReflectivity =
>                PropertyPointer->Value(thePhotonMomentum);
> 
>        } else if (PropertyPointer1 && PropertyPointer2) {
> 
>                CalculateReflectivity();
>        }

First off, I would like to say there should not be confusion in the code(G4OpBoundaryProcess) between the user defined REFLECTIVITY and the use of the complex refractive index. To avoid this confusion, if one defines "REFLECTIVITY", the complex refractive index should not be used. The condition, if(PropertyPointer) {...}else if (PropertyPointer1 && PropertyPointer2) {...}, makes the user defined "REFLECTIVITY" have higher priority, so even though you define both "REFLECTIVITY" and ("REALRINDEX", "IMAGINARYRINDEX"), G4OpBoundaryProcess will use only the user defined "REFLECTIVITY". If you really want to use the complex refractive index, you need to remove your definition for "REFLECTIVITY", and define only "REALRINDEX", "IMAGINARYRINDEX" in your G4 code.

> 
> And before the call to DielectricDielectric(), calculates the
> reflectivity via the line
> 
>        theReflectivity =
>              GetReflectivity(E1_perp, E1_parl, incidentangle,
>                              RealRindex, ImaginaryRindex);
> 
> This seems to apply also for the DielectricMetal() case. Maybe I am
> missing something?

As I mentioned in my previous reply for your first question, the complex refractive index is needed to be used for the metal surface. Thus, it is correct that the reflectivity calculation with the complex refractive index is called for DielectricMetal case. And I think if photons travel through only good dielectric material(s) in your detector setup, you don't have to define the complex refractive index. If I am wrong, please correct me.

Thank you, Sehwook

> 
> thank you, Nicolas
> 

 Add Message Add Message
to: "Re: Boundary interaction model"

 Subscribe Subscribe

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