Problem 867

Summary: G4ParticleChangeForDecay::CheckIt the global time goes back
Product: Geant4 Reporter: marcus.h.mendenhall
Component: processes/decayAssignee: kurasige
Status: RESOLVED FIXED    
Severity: normal CC: robert.a.weller
Priority: P2    
Version: 8.0   
Hardware: All   
OS: All   

Description marcus.h.mendenhall 2006-05-05 19:48:20 CEST
I am running a simulation using 100 MeV protons on a Holmium-165 target.  I am using the
HadronPhysicsLHEP_BIC hadronic list, and RadioactiveDecay.  I am getting error messages as shown
below.  This is a lot like what  is shown in bug 731.  The problem does NOT arise in Geant4.8.0
unpatched, but arises in Geant4.8.0-patch01.  It happens every 10000 or so incident protons.  It does
not happen with 10 MeV protons.

Here is the message:

  G4ParticleChangeForDecay::CheckIt    : the global time goes back  !!
  Difference:  1.0621356[ns]
 G4ParticleChangeForDecay::CheckIt
      -----------------------------------------------
        G4ParticleChange Information
      -----------------------------------------------
        # of 2ndaries       :                    3
        Pointer to 2ndaries :            0x1ffeaac
        (Showed only 1st one)
      -----------------------------------------------
        Energy Deposit (MeV):                    0
        Track Status        :          StopAndKill
        True Path Length (mm) :                    0
        Stepping Control     :                    0

        Time (ns)           :               -0.302

*** G4Exception : 500
      issued by : G4ParticleChangeForDecay::CheckIt
time was  illegal


Any thoughts?
Comment 1 kurasige 2006-05-07 00:53:59 CEST
Dear Marcus,
 I can not reproduce the problem for more than 100K events.
 Could you send source codes of your physics list to me ? And let me know the
version of radioactive decay data set.

Regards,
                                          Hisaya
Comment 2 kurasige 2006-05-07 20:25:59 CEST
The exception occurred because G4RadioactiveDecay was attached to triton which
has negative life time. To resolve the problem, change life time of triton as
follows before adding radioactive decay.

  if (particle->GetParticleName() == "triton"){
      particle->SetPDGLifeTime(3.2E8 * second);
  }