I’m trying to debug someone else’s code in our experimental framework. They have implemented the Sarkis model (DOI 10.1103/PhysRevA.107.062811) for NIEL (nuclear-recoil ionization yield) using a G4PhysicsLinearVector
interpolation table. The data points, from 0.048 to 3.018 MeV, are in a text file which is properly formatted to be read in by G4PhysicsVector::Retrieve(<fstream>, true)
.
If I take a run of sample points within that range (say, from 100 to 500 keV), I seem to get nice continuous values, with a smooth curve. However, if I look at very low energy data points, for example from 0 to 10 keV (all below the 48 keV first bin) all I get are zeroes.
I would have expected G4PhysicsVector
to use the spline fit, and extrapolate smoothly from the lowest data point down. Do we need to include a “0. 0.” entry in the data file to get that “extrapolation” to work via interpolation?