| Summary: | In muons/src/G4MuPairProduction.cc log() from 0 calculated | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | isupov |
| Component: | processes/electromagnetic | Assignee: | Michel.Maire |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | 1.0 | ||
| Hardware: | PC | ||
| OS: | Other | ||
fixed in tag em-V01-00-00 |
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); ?