Thank you @jrellin for your response. I have attached the PhysicsList for your reference.
#include “physics.hh”
#include “G4SystemOfUnits.hh”
#include “G4UnitsTable.hh”
// EM Physics options
#include “G4EmStandardPhysics.hh”
#include “G4EmStandardPhysics_option4.hh”
#include “G4EmLivermorePhysics.hh”
#include “G4EmPenelopePhysics.hh”
// Decay
#include “G4DecayPhysics.hh”
#include “G4RadioactiveDecayPhysics.hh”
#include “G4NuclideTable.hh”
#include “G4EmExtraPhysics.hh”
#include “G4EmParameters.hh”
#include “G4VPhysicsConstructor.hh”
#include “G4ios.hh”
#include “G4HadronicParameters.hh”
//…oooOO0OOooo…oooOO0OOooo…oooOO0OOooo…
MyPhysicsList::MyPhysicsList()
{
SetVerboseLevel(1);
G4HadronicParameters::Instance()->SetTimeThresholdForRadioactiveDecay(1.0e+60 * CLHEP::year);
// =========================
// Default Livermore physics
// =========================
fEmName = "livermore";
fEmPhysicsList = new G4EmLivermorePhysics();
G4NuclideTable::GetInstance()->SetThresholdOfHalfLife(0.1*picosecond);
G4NuclideTable::GetInstance()->SetLevelTolerance(1.0*eV);
// =========================
// Decay physics
// =========================
fDecayPhysicsList = new G4DecayPhysics();
// Register physics
RegisterPhysics(fEmPhysicsList);
RegisterPhysics(fDecayPhysicsList);
RegisterPhysics(new G4RadioactiveDecayPhysics());
}
//…oooOO0OOooo…oooOO0OOooo…oooOO0OOooo…
MyPhysicsList::~MyPhysicsList()
{
}
//…oooOO0OOooo…oooOO0OOooo…oooOO0OOooo…
void MyPhysicsList::AddPhysicsList(const G4String& name)
{
if (name == fEmName) return;
if (name == "emstandard") {
fEmName = name;
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysics();
} else if (name == "emstandard_opt4") {
fEmName = name;
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysics_option4();
} else if (name == "livermore") {
fEmName = name;
delete fEmPhysicsList;
fEmPhysicsList = new G4EmLivermorePhysics();
} else if (name == "penelope") {
fEmName = name;
delete fEmPhysicsList;
fEmPhysicsList = new G4EmPenelopePhysics();
} else {
G4cout << "MyPhysicsList::AddPhysicsList: <" << name
<< "> is not defined" << G4endl;
return;
}
// Replace the physics in Geant4 kernel
ReplacePhysics(fEmPhysicsList);
G4cout << "### EM Physics List changed to: " << name << G4endl;
}
//…oooOO0OOooo…oooOO0OOooo…oooOO0OOooo…
void MyPhysicsList::SetCuts()
{
// Default cut value
SetCutValue(0.01mm, “gamma”);
SetCutValue(0.01mm, “e-”);
SetCutValue(0.01*mm, “e+”);
// Apply cuts
G4VUserPhysicsList::SetCuts();
if (verboseLevel > 0) {
G4cout << "### Production cuts set to 0.01 mm" << G4endl;
}
}
//…oooOO0OOooo…oooOO0OOooo…oooOO0OOooo…