Triton decay with rdecay01 example

Dear everyone,

Note: I use Windows10 OS - Geant4 10.6.1 - Radioactive decay 5.4

I’m new to Geant4 and trying to make a simple application based on the rdecay01 example (examples/extended/radioactivedecay). I want to obtain the low energy β decay spectrum due to tritium.

In the beginning, I ran singleDecay.mac in example rdecay01 and the output is below. It seems to be working properly.

======================== run summary ======================
The run was 1000 Ne24 of 0 eV
Nb of generated particles:
Na24[1346.621]: 80 Emean = 29.39 eV ( 1.784 eV → 52.49 eV ) mean life = 9.233 ps
Na24[472.207]: 920 Emean = 73.02 eV ( 0.9717 eV → 132.6 eV ) mean life = 29.11 ms
Ne24: 1000 Emean = 0 eV ( 0 eV → 0 eV ) mean life = 4.876 min
anti_nu_e: 1000 Emean = 1.129 MeV ( 42.92 keV → 1.985 MeV) stable
e-: 1000 Emean = 794.8 keV ( 8.704 keV → 1.951 MeV) stable
Ekin Total (Q single decay): mean = 1.924 MeV ( 1.12 MeV → 1.994 MeV)
Momentum balance (excluding gamma desexcitation): mean = 0.01412 eV ( 2.315e-05 eV → 0.1683 eV )
Total time of life (full chain): mean = 4.973 min half-life = 3.447 min ( 296.1 ms → 49.88 min)
Total visible energy (full chain) : mean = 794.9 keV ( 8.799 keV → 1.951 MeV)
Activity of Ne24 = 8.409e+19 Bq/g (2.273e+09 Ci/g)
… write Root file : run1.root - done
… close Root file : run1.root - done

I’ve changed the generated primary particle into tritium, however, It seems that no particles are generated in the decay.

----- singleDecay.mac
/gun/particle ion
/gun/ion 1 3

======================== run summary ======================
The run was 1000 triton of 0 eV
Nb of generated particles:
triton: 1000 Emean = 0 eV ( 0 eV → 0 eV ) mean life = 12.32 y
Activity of triton = 0 Bq/g (0 Ci/g)
… write Root file : run1.root - done
… close Root file : run1.root - done

Any suggestions?
Thank you very much for your help

Toyama

By default, tritium doesn’t decay in G4. I don’t know why; it may be because it’s produced as a secondary in ion-ion collisions, and the LHC experiments needed it to be trackable.

In our experiment, we ended up writing a FixTritiumPhysics subclass of G4VPhysicsConstructor, which we register into the physics list. The ConstructProcess() function looks like this:

void CDMSTritiumPhysics::ConstructProcess() {
  // Make tritium unstable, so it can be decayed
  G4ParticleDefinition* tr = G4Triton::Definition();
  tr->SetPDGStable(false);

  // Remove G4Decay process, which requires a registered decay table
  G4VProcess* decay = 0;
  G4ProcessManager* pman = tr->GetProcessManager();
  G4ProcessVector* pvec = pman->GetAtRestProcessVector();
  for (G4int i=0; i<pvec->size() && decay==0; i++) {
    if ((*pvec)[i]->GetProcessName() == "Decay") decay = (*pvec)[i];
  }
  if (decay) pman->RemoveProcess(decay);

  // Attach RDM, which is a rest-discrete process
#if G4VERSION_NUMBER < 1060             /* See G4RadioactiveDecayPhysics.cc */
  decay = new G4RadioactiveDecay();
#else
  decay = new G4RadioactiveDecayBase();
#endif

  tr->GetProcessManager()->AddProcess(decay, 1000, -1, 1000);
}

The version number check above is needed if you build against older versions of G4. It would be nice if G4Triton had a regular “particle decay table” attached to it, in which case just the first three lines of the function would be needed.

Thanks very much for the prompt reply. Your sample codes really helped me a lot.
Now it successfully works!!

Could you give an additional explanation about how to make a decay table of tritium in Geant4?

You don’t have to “make a decay table.” There is already one defined. Did you read the previous postings in this thread? Did you try the code I posted? If it did not work, can you be specific about what specifically failed?

Thanks for the fast reply.
I created a new file for tritium physics and added your code.
(./src/TritiumPhysics.cc , ./include/TritiumPhysics.hh)
After that, I applied the tritium physics list in rdecay01.cc (runmanager-> SetUserInitialization)

and I met an error like below.

TritiumPhysics.cc (2.0 KB)
Simulation Environment : Ubuntu 21.04, Geant4 11.0