Optical photons are not reflected

Dear All,

I am simulating a point source of UV photons inside an aluminum tube, everything is inside the world that is an air box. According to the physical characteristics Reflectivity of Aluminum at normal incidence is 95% for 250 nm. I use the following lines in DetectorConstruction.cc, according to optical examples in extended:

//------surface reflective--------
const G4int NUM = 1;
G4double ephoton[NUM] = {5.0* eV };
G4double reflectivity[NUM] = {0.95};

G4MaterialPropertiesTable* Al_mt = new G4MaterialPropertiesTable () ;
Al_mt-> AddProperty(“REFLECTIVITY”, ephoton, reflectivity, NUM);
G4OpticalSurface* OpticalAl = new G4OpticalSurface(“Surfacetapa”, unified, polishedfrontpainted, dielectric_metal);


new G4LogicalBorderSurface (“trackerBottom”, physbase ,physWorld, OpticalAl);

But my photons are not reflected and they continue to the world. What am I doing wrong? What do I need to consider?

Thank you in advance.


Likely the optical parameters will need to be specified over a range of energy.

If that doesn’t fix it, please compare to the parameters in macro unified.mac of example OpNovice2.

Hi dsawkey,

Thanks for the response.

You mean to be specified over a range of energy like this:

const G4int NUM = 2;
G4double ephoton[NUM] = {2.0* eV , 6.0 * eV };

I modified it and I don’t get any changes.

The macro you are referring to is surface.mac?

Thank you sincerely.


Hi Maritza,

Yes, and also of course
G4double reflectivity[NUM] = {0.95, 0.95};

In Geant4 version 10.6 example OpNovice2 there is a macro unified.mac that uses dielectric_metal. It does result in reflection. Surface.mac was in older versions.

Hi Daren,

Thanks for the response.

I wrote a little example with an aluminum tube in the air (see the attached picture). You can try it. Also you can modify it according to your purpose. You can download it here (the file will be deleted in 30 days). To compile and run it change to Build directory and type

> ./cmake.sh ON
> make
> ./AluminumTube

All project constants (dimensions, reflectivity, etc.) are placed in Source/inc/ProjectConstants.hh.

Let me know if it works as you expect.

Thank you for this example. It works very well. I will adapt some lines of your code to mine, and I hope it works just as well as in your example. I will let you know if I will have any question.

Thanks again for this help.

Hi, can you please make available the file once again?

I am actually doing a project on optical photons.

Thank you