Message: Surface reflectivity Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Surface reflectivity 

Forum: Processes Involving Optical Photons
Date: 20 Feb, 2006
From: andreas battaglia <andreas.battaglia@roma1.infn.it>

Hallo,
I'm simulating a scintillator wrapped with tyvek;
I'd like to set the Scintillator-Wrapping surface reflectivity at a given value.
I found two ways to do that:

1) define a dielectric_metal surface: in this case a photon can only be reflected (with a probability you can set) or absorped by the surface (it can not enter the surface being refracted); the code should be:


    //Scintillator-Wrapping Surface

      G4OpticalSurface* OpScintSurface = new G4OpticalSurface("ScintSurface");
      OpScintSurface->SetType(dielectric_metal);
      OpScintSurface->SetFinish(ground);
      OpScintSurface->SetModel(unified);
      G4LogicalBorderSurface* ScintSurface = new G4LogicalBorderSurface("ScintSurface", physiScintCore,physiScintSlice,OpScintSurface);     
      
      G4double Reflectivity[nEntriesTyvek] = { 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97};

      G4MaterialPropertiesTable* myST1 = new G4MaterialPropertiesTable();      
      myST1->AddProperty("REFLECTIVITY", PhotonEnergyTyvek, Reflectivity, nEntriesTyvek);      
      OpScintSurface->SetMaterialPropertiesTable(myST1);



2) define a dielectric_dielectric groundfrontpainted surface: in this case (without writing a dedicated volume) G4 simulates a thin air gap between the wrapping and the scintillator.
The far side of the optical surface (the back-paint) is simulated as a Lambertian reflector with my finite reflectivity. 
What should happen is that photons either totally internal reflect off the scintillator/air gap, or enter the air gap (refraction on the scintillator/air interface), and then reflect or get absorbed off of the 'back-paint'. 
If they are reflected off the 'back-paint' they may then Fresnel refract back into the scintillator or Fresnel reflect off theair/scintillator surface. If they reflect, they bounce back to the paint and the cycle continues. 
The code in this case should be:


      //Scintillator-Wrapping

      G4OpticalSurface* OpScintSurface = new G4OpticalSurface("ScintSurface");
      G4double sigma_alpha = 0;
      OpScintSurface -> SetSigmaAlpha(sigma_alpha);
      OpScintSurface->SetType(dielectric_metal);
      OpScintSurface->SetFinish(groundbackpainted);
      OpScintSurface->SetModel(unified);
      G4LogicalBorderSurface* ScintSurface = new G4LogicalBorderSurface("ScintSurface", physiScintCore,physiScintSlice,OpScintSurface);

      G4double Reflectivity[nEntriesTyvek] = { 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97};
      G4double RefractiveIndexAir[nEntriesTyvek] =  { 1, 1, 1, 1, 1, 1, 1, 1, 1 };

      G4MaterialPropertiesTable* myST1 = new G4MaterialPropertiesTable();      
      myST1->AddProperty("REFLECTIVITY", PhotonEnergyTyvek, Reflectivity, nEntriesTyvek); 
       myST1->AddProperty("RINDEX",PhotonEnergyTyvek, RefractiveIndexAir, nEntriesTyvek);     
      OpScintSurface->SetMaterialPropertiesTable(myST1);



Now, if all this is correct, my question is: how can I check the reflectivity, in particular in the second case?
I have some ideas, but I'm not sure.

1) In the first case, I can simply ask the number of reflections and divide for the number of times in which a photon has reached the surface: this gave me a quite exact response.

2) In the second case, the upper method didn't work and I discovered a proportional dependence between the setted reflectivity and the number of refractions from the scintillator to the wrapping. So I supposed that the refractions counted by G4 (and written in the Step verbose) are actually those from the air gap to the scintillator (and not from the scintillator to the air gap), which are connected with the number of reflections on the air gap-wrapping surface. 
If this is correct, I supposed that a good way to check the setted reflectivity was to count the number of refractions from the scintillator to the wrapping and divide by the sum of the number of refractions from the scintillator to the wrapping and the number of absorption on the scintillator-wrapping surface.
By this method I obtained a good accordance with the setted value of reflectivity, but a little less good than the first method.

Are the check methods (in particular the second one) correct?

Thanks a lot in advantage.

Andreas Battaglia

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

1 Feedback: Re: Surface reflectivity   (Peter Gumplinger - 23 Feb, 2006)
 Add Message Add Message
to: "Surface reflectivity"

 Subscribe Subscribe

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