Problem 599 - 100 eV ekin cut appears if one uses G4UserSpecialCuts
Summary: 100 eV ekin cut appears if one uses G4UserSpecialCuts
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/electromagnetic (show other problems)
Version: 6.0
Hardware: PC Linux
: P2 normal
Assignee: Michel.Maire
URL:
Depends on:
Blocks:
 
Reported: 2004-03-04 09:01 CET by Mikhail.Kirsanov
Modified: 2004-05-06 09:01 CEST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Mikhail.Kirsanov 2004-03-04 09:01:32 CET
If one adds to the processes list of a particle the process G4UserSpecialCuts,
for example to to cut on range or max. time, Geant4 cuts at 100 eV on the
kinetic energy. This happens because G4UserSpecialCuts, in order to compare ekin
with ekin cut value (zero by default), calculates range for both. But the range
table is produced only down to 100 eV, so the range for 100 eV is equal to the
range for 0 eV.
 I use now the following fix in
processes/electromagnetic/utils/include/G4VEnergyLossProcess.hh

in G4VEnergyLossProcess::GetRange

   ...
   if (e < maxKinEnergyForRange) {
     if(e < minKinEnergy*massRatio) {
       x = (e/(minKinEnergy*massRatio))*
           ((*theRangeTable)[currentMaterialIndex])->GetValue(e, b);
     }
     else {
       x = ((*theRangeTable)[currentMaterialIndex])->GetValue(e, b);
     }
   } else {
   ...

 I realise that for particles below 100 eV I probaly cannot have correct
physics, but I trace them in vacuum, so I don't need it. Afterwards they are
accelerated to KeV and physics begins.
Comment 1 Mikhail.Kirsanov 2004-04-07 04:40:59 CEST
This problem is corrected in 4.6.1 (at least down to 1 eV)
                                                              Mikhail