Radioactive decay of 241Am

Please fill out the following information to help in answering your question, and also see tips for posting code snippets. If you don’t provide this information it will take more time to help with your problem!

Geant4 Version: 11.4.0
Operating System: Ubuntu 24.04.4 LTS
Compiler/Version: GCC 13.3.0
CMake Version: cmake version 3.28.3


when i try to simulate the decay of 241Am the output is as shown above the ion seems to be created but the decay is not happening…[A = 241; Z = 95]

but at the same time when I simulate 18F the output is proper…[A = 18; Z = 9]

i have attached my scr, include and macros below of the primarygenerator.

//PrimaryGeneratorAction.hh

#ifndef PrimaryGeneratorAction_hh
#define PrimaryGeneratorAction_hh

#include “G4VUserPrimaryGeneratorAction.hh”
#include “G4GeneralParticleSource.hh”
#include “G4ParticleDefinition.hh”
#include “G4ParticleGun.hh”
#include “G4ParticleTable.hh”
#include “G4SystemOfUnits.hh”
#include “G4IonTable.hh”

class G4GeneralParticleSource;

class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
PrimaryGeneratorAction();
~PrimaryGeneratorAction() override;
void GeneratePrimaries(G4Event*) override;

private:
G4GeneralParticleSource* fGPS;
};

#endif

//PrimaryGeneratorAction.cc

#include “PrimaryGeneratorAction.hh”

#include “G4Event.hh”

PrimaryGeneratorAction::PrimaryGeneratorAction()
{
fGPS = new G4GeneralParticleSource();
}

PrimaryGeneratorAction::~PrimaryGeneratorAction()
{
delete fGPS;
}

void PrimaryGeneratorAction::GeneratePrimaries(G4Event* event)
{
fGPS->GeneratePrimaryVertex(event);
}

//.mac

/run/initialize

/gps/particle ion
/gps/ion 95 241 0 0

/gps/pos/type Point
/gps/pos/centre 0 0 -10 mm

/run/beamOn 100000

i have also tried the following alternate generator:

//PrimaryGeneratorAction.hh

#ifndef PrimaryGeneratorAction_HH
#define PrimaryGeneratorAction_HH

#include “G4VUserPrimaryGeneratorAction.hh”
#include “G4ParticleDefinition.hh”
#include “G4ParticleGun.hh”
#include “G4ParticleTable.hh”
#include “G4SystemOfUnits.hh”
#include “G4IonTable.hh”

class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
PrimaryGeneratorAction();
~PrimaryGeneratorAction();

virtual void GeneratePrimaries(G4Event *);

private:
G4ParticleGun *fParticleGun;
};

#endif

//PrimaryGeneratorAction.cc

#include “PrimaryGeneratorAction.hh”

PrimaryGeneratorAction::PrimaryGeneratorAction()
{
fParticleGun = new G4ParticleGun(1);

// Particle position
G4double x = 0. * cm;
G4double y = 0. * cm;
G4double z = -1. * cm;

G4ThreeVector pos(x, y, z);

// Particle direction
G4double px = 0.;
G4double py = 0.;
G4double pz = 0.;

G4ThreeVector mom(px, py, pz);

fParticleGun->SetParticlePosition(pos);
fParticleGun->SetParticleMomentumDirection(mom);

}

PrimaryGeneratorAction::~PrimaryGeneratorAction()
{
delete fParticleGun;
}

void PrimaryGeneratorAction::GeneratePrimaries(G4Event *anEvent)
{
// Particle type
G4int Z = 55;
G4int A = 137;

G4double charge = 0. * eplus;
G4double energy = 0. * keV;

G4ParticleDefinition *ion  = G4IonTable::GetIonTable()->GetIon(Z, A, energy);
fParticleGun->SetParticleDefinition(ion);
fParticleGun->SetParticleCharge(charge);
fParticleGun->SetParticleEnergy(energy);

// Create vertex
fParticleGun->GeneratePrimaryVertex(anEvent);

}

P.S. same result for 137Cs, 133Ba.

There was a change to the default cut for time threshold from greater than the age of the universe to 1 year and back again. I suspect that this is the issue you have. Am241 half life is 432 years and F18 is a little under two hours.

So in the macro you can do

/process/had/rdm/thresholdForVeryLongDecayTime 1.0e+60 years

or in main or your physics list:

G4HadronicParameters::Instance()->SetTimeThresholdForRadioactiveDecay(1.0e+60 * CLHEP::year);

There are also physics lists that do not have the radioactive decay enabled. One should either enable it explicitly or use one of the precise physics lists.