Problem 58

Summary: In muons/src/G4MuPairProduction.cc log() from 0 calculated
Product: Geant4 Reporter: isupov
Component: processes/electromagneticAssignee: Michel.Maire
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 1.0   
Hardware: PC   
OS: Other   

Description isupov 2000-02-09 00:34:10 CET
In the muons/src/G4MuPairProduction.cc, G4MuPairProduction::PostStepDoIt()
we have (lines 649-650):

   xc = log(CutInPairEnergy/MinPairEnergy)/log(MaxPairEnergy/MinPairEnergy) ;
   yc = log(xc) ;

which WILL calculate log(0), if CutInPairEnergy == MinPairEnergy  .
But in line 601 we see:

   if (CutInPairEnergy < MinPairEnergy) CutInPairEnergy = MinPairEnergy ;

:-)
But what we must do in such case ? May be, simply

   if (CutInPairEnergy < MinPairEnergy)
     return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData);

?
Comment 1 Michel.Maire 2000-03-02 10:13:59 CET
fixed in tag em-V01-00-00