In the Book for application developers,
The absorption length is the average distance traveled by a photon before being absorbed by the medium; i.e., it is the mean free path returned by the
GetMeanFreePath
method. (Physics Processes — Book For Application Developers 11.3 documentation)
As far as I understand, the absorption length (λabs) is equal to the attenuation length (λatt) if the scattering process is negligible, and there is I(x) = I0 e-x/λabs (Eq. 1).
The live track length distribution is expected to be like Eq. 1. Here is the live track length distribution I got. It does look like e-x/λabs but the λabs is different from the value I set (280 vs. 380). Is there anything I misunderstood?
P.S. The track length is obtained by
if (processName == "OpAbsorption")
{
std::ofstream outFile;
outFile.open("OpAbsorptionLength.txt", std::ios_base::app);
outFile << step->GetTrack()->GetTrackLength() / cm << G4endl;
outFile.close();
}
Geant4 Version: 11.2.1
Operating System: Windows 11
Compiler/Version: VS 2022
CMake Version: 3.31.1