Message: Re: building a new type of OpticalSurface model Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Feedback Re: building a new type of OpticalSurface model 

Forum: Processes Involving Optical Photons
Re: Question building a new type of OpticalSurface model (Yen-Yung Chang)
Date: 16 Nov, 2012
From: Gumplinger Peter <Gumplinger Peter>

Dear Yen-Yung Chang,

Sorry for my late reply. Your use case is a valid and desirable user requirement. I don't have a ready-made solution and, for the moment, I can't propose one here but I can say that the extension you require involves the usage of the (relatively new) class: G4Physics2DVector. I am afraid that a transparent backward compatible extension needs some thought and maybe some C++ (OO) tricks and will probably involve modifications to a host of classes: G4MaterialPropertiesTable, G4OpBoundaryProcess, ...

Yes, a bit complicated. You may well be able to come up with a hack that will satisfy your specific case. In any case, please let us know how you succeeded and your implementation. For my part, I'll keep this in mind and hopefully extend G4 to cases where optical properties are functions of not just one but two parameters. Perhaps, someone in the community has already solved this problem(?)

Best regards, Peter

On Wed, 24 Oct 2012 00:14:05 GMT, Yen-Yung Chang wrote:

> Hi all. How can I have a customized optical surface which has its
> reflectance, absorbanc and transmittance depend on both optical photon
> energy and incident angle? I've generated a table of these 3 numbers
> (vs. incident angle & photon wavelength) according to my physical model.
> I've check the G4OpBOundaryProcess.cc and I think I can adopt something
> like DoAbsorption(), calculating incident angle, reflectioin...and many
> things then build another surface process explicitly. But it's still
> seem a bit complicate. Thank you very much!
> 

 Add Message Add Message
to: "Re: building a new type of OpticalSurface model"

 Subscribe Subscribe

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