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
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.