Message: Re: GEANT4 optical processes units Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: GEANT4 optical processes units 

Forum: Processes Involving Optical Photons
Re: Question GEANT4 optical processes units (Adam Glaser)
Re: Ok Re: GEANT4 optical processes units (Gumplinger Peter)
Date: 06 Nov, 2012
From: Michael H. Kelsey <Michael H. Kelsey>

On Mon, 05 Nov 2012 19:59:34 GMT, Gumplinger Peter wrote:
> [ Adam Glaser wrote: ]
> > I am creating a physics list with modified optical photon processes from
> > those already offered in GEANT4 but have a simple usability question. In
> > the tissue optics community, optical photons are generally thought of in
> > terms of the wavelength (nm or um) and optical absorption/scattering a
> > thought of as attenuation coefficients (inverse length) as opposed to
> > attenuation lengths.
> As you know the material properties are provided to Geant4 in terms of
> property tables. The existing code is written such that it expects
> photon energy (and not wavelength) and attenuation lengths (distance).
> The input to the tables - to the receiving program - are just numbers.
> The units are just numbers as well, so I don't know how you (the
> program) can recognize the units. One would have to add something to the
> class that holds the units alone - do you see what I mean

Hi, Peter. I think that Adam's units issue could be encapsulated by providing an alternative set of registration functions (AddProperty...), or even just additional magic property name strings. For those cases, the code would take the user's input array, apply the necessary math (e.g., 1./x), and copy the results into a new array of the form expected by the optical processes.

Obviously, such code needs to know (or to prescribe, as you do now) _what_ units are being supplied in the arrays, since GEANT4 doesn't have smart "dimensional values".

      -- Michael Kelsey

 Add Message Add Message
to: "Re: GEANT4 optical processes units"

 Subscribe Subscribe

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