Optical properties

what is the meaning of the REFLECTIVITY and EFFICIENCY in the optical properties of the surface?
G4double reflectivity[num] = {0.3, 0.5};
G4double efficiency[num] = {0.8, 1.0};

G4MaterialPropertiesTable *myST2 = new G4MaterialPropertiesTable();

myST2->AddProperty(“REFLECTIVITY”, ephoton, reflectivity, num);
myST2->AddProperty(“EFFICIENCY”, ephoton, efficiency, num);

The outcomes of the REFLECTIVITY and EFFICIENCY will depend on the optical surface model applied to the volume. Details regarding the surface models and boundary processes can be found here in the application developers guide.

Both these parameters are energy-dependent so they can be fine-tuned to be different wavelengths of the optical photons in a simulation. In general REFLECTIVITY defines the probability of reflecting so is a value between 0 and 1. Whereas EFFICIENCY is the probability of being absorbed at the surface, also taking values between 0 and 1. With 1 being 100% absorption. Transmission occurs if neither absorption or reflectance occurs. Although all of this is all dependent on the model and you could read the G4OpBoundaryProcess.cc and G4OpBoundaryProcess.hh source code to gain a greater understanding by looking at theReflectivity and theEfficiency variables.

I hope this provides some information into what these properties do. If you want further reading for optical surface parameters I recommend the following:
Peculiarities in the Simulation of Optical Physics with Geant4
Section 7.2.5 of E. J. Leming thesis

1 Like

Hi @thehubbard. Just following up on this thread a bit. You mention that the EFFICIENCY is the probability of being absorbed at the surface. However, I’ve scoured the G4OpBoundaryProcess code (specifically I was looking at this code - geant4/G4OpBoundaryProcess.cc at v10.6.2 · Geant4/geant4 · GitHub) and I see no particular usage of the EFFICIENCY (i.e., theEfficiency variable). I’ve seen older versions of this code; specifically GeantV4.9.6; as well and it’s used nowhere. The only place it’s used is in the DielectricLUTDAVIS function. Nowhere else.

However, a lot of references (see - Physics Processes — Book For Application Developers 10.7 documentation) mention the fact that the EFFICIENCY parameter is the efficiency with which the DielectricMetal surface absorbs photons. However, that contradicts what’s written in the code. In the code, the theEfficiency variable is barely used. So I’m a bit confused. Is it the case that the EFFICIENCY parameter is used somewhere else in the code as well?

Hello Shivam,
The theEfficiency variable is called upon in the DoAbsorption method in G4OpBoundaryProcess.hh This is then referenced depending on the surface model etc. in G4OpBoundaryProcess.cc I hope this helps :slight_smile:

This is incorrect. From the linked documentation:

If a photon is absorbed at the boundary, it may by detected–that is, its status set to “Detect” and its energy deposited locally. The material property EFFICIENCY is used to specify the fraction of photons detected.

I would clarify the second sentence as:

The material property EFFICIENCY is used to specify the fraction of the absorbed photons that have status set to “Detect”.

@thehubbard Thank you for pointing this out. I completely forgot to look in the header file for this variable. This clears things up. Thanks!

@dsawkey Thanks for the response. It looks like I must have misinterpreted the text in the documentation. Makes more sense now. Thanks for the clarification!

I tried to implement efficiency like this but couldn’t see its effect. Can you please mention what all are required for using it.