|Message: Re: Is it possible to set reflectivity of an optical surface dependent on the angle of incidence of an optical photon?||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|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, for the delay in my reply - I was away.
> What I > would like to be able to do is to be able to set the reflectivity of an > optical surface dependent on the angle of incidence of the optical > photon.
This is now possible with G4.10. Please, see the comments in the code about 'dichroic' (filters):
and the implementation of this at:
> The motivation for this can be found in the modelling of the reflective > surface that we are employing. The quartz surface is extremely polished > (to a precision on the order of 0.5-1nm). For such a surface, the > reflectivity of the surface can be written as: > > R = 1 - (4*pi * sigma * n * cos(theta) / lambda ) ^ 2 > > (this is the quadratic approximation of what is otherwise an > exponential, but that is fine for now) > > The source for this is a presentation by J. Schwiening on the PANDA > DIRC, at TIPP2011, slide 34, link: > http://indico.cern.ch/event/102998/session/31/contribution/124/material/slides/0.pdf > > Here pi = the constant, as usual, sigma the surface roughness (from here > on taken to be 0.5nm), theta the angle relative to the plane it is > reflecting off (so theta = 0 is a ray parallel to the surface), and > lambda the wavelength.
Note, this definition of theta is the opposite of what is in G4. In G4, theta is the angle between the ray and the surface normal!
What you need to do is use your formula for a set of theta/lambda and fill the ASCII file.
I guess, your photons are absorbed if they don't reflect. In the dichroic filter implementation they'll just continue on straight - but it should be easy for you to add a total absorber behind your reflector (or rather 'filter') to get rid of those. (you can do that also in SteppingAction for any photon found 'behind' the reflector.
My apoligies that this very new functionality is not yet well documented in our Application Developer Manual.
Best regards, Peter
P.S. Use the brand new patch01 when you download G4.10! Let us know how it goes.