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);
OpticalAl->SetMaterialPropertiesTable(Al_mt);
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?
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.
Hi,
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.