Message: material property table gets wrong number Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question material property table gets wrong number 

Forum: Processes Involving Optical Photons
Date: 23 Feb, 2017
From: Yen-Yung Chang <Yen-Yung Chang>

Hi,

First of all, I am not sure and sorry if this question goes to wrong category. I've got this when I was playing around with optical photons, but I'm guessing it's more a question to material table itself.

I made a few modifications to G4OpBoundary.cc so it can get reflectivity, transmittance, and other optical properties from post-step-point material (Material2,) something like

                 PropertyPointer = aMaterialPropertiesTable->GetProperty("REFLECTIVITY");
                    if (PropertyPointer) theReflectivity = PropertyPointer->Value(thePhotonMomentum);

                 PropertyPointer = aMaterialPropertiesTable->GetProperty("TRANSMITTANCE");
                    if (PropertyPointer) theTransmittance = PropertyPointer->Value(thePhotonMomentum);

                 PropertyPointer = aMaterialPropertiesTable->GetProperty("SPECULARLOBECONSTANT");
                    if (PropertyPointer) {prob_sl = PropertyPointer->Value(thePhotonMomentum);
                                          theModel = unified;}
                    else prob_sl = 0.0;

                 PropertyPointer = aMaterialPropertiesTable->GetProperty("SPECULARSPIKECONSTANT");
                    if (PropertyPointer) {prob_ss = PropertyPointer->Value(thePhotonMomentum);
                                          theModel = unified;}
                    else prob_ss = 0.0;

                 PropertyPointer = aMaterialPropertiesTable->GetProperty("BACKSCATTERCONSTANT");
                    if (PropertyPointer) {prob_bs = PropertyPointer->Value(thePhotonMomentum);
                                          theModel = unified;}
                    else prob_bs = 0.0;

                 PropertyPointer = aMaterialPropertiesTable->GetProperty("SIGMAALPHA");
                    if (PropertyPointer) {theModel = unified;}

I set my reflectivity 0.97 over the whole spectrum that I was interested in, but I noticed that, in ~1/500 events, the "if (PropertyPointer) theReflectivity = PropertyPointer->Value(thePhotonMomentum);" retrieved a 0 from the table. This is very odd since I didn't have 0 in the table nor and plus-minus crossing that could lead to interpolated 0. And all the reflections done by the same optical photon of "exactly the same energy" could get the correct R=0.97. And suddenly after a series of reflections, it got 0 but not 0.97 using the same energy to the same table...

Thanks for your kind helps in advance.

Yen-Yung

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Note: Re: material property table gets wrong number   (Yen-Yung Chang - 23 Feb, 2017)
2 None: Re: material property table gets wrong number   (Michael H. Kelsey - 23 Feb, 2017)
 Add Message Add Message
to: "material property table gets wrong number"

 Subscribe Subscribe

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