GEANT4 10.7.3 to 11.2.2 Process Inactivation Change?

Howdy,

We’ve just upgraded our cluster version from 10.7.3 to 11.2.2 and I am now getting execution errors with trying to exclude certain physics processes that worked before though it seems to only be in concert with declaring */verbose 1 in the run macro.

# Initialize kernel
/run/initialize
/process/inactivate eBrem
/process/inactivate conv
#
/control/verbose 0
/run/verbose 0
/event/verbose 1
/tracking/verbose 0

This produces an error in the execute_error.txt

***** Illegal parameter (1) </process/inactivate conv> *****

***** Batch is interrupted!! *****

With all /verbose set to 0 there is no error. If any of the /verbose is set to 1 it produces the above error. I find it interesting if I comment out /process/inactivate conv then it runs just fine with /verbose set which seems to indicate it’s handling the /process/inactivate eBrem just fine.

_Geant4 Version 11.2.2
_Operating System: Cluster LINUX
They’ve changed the way I call the builds so I can’t see anymore what cMake or compiler it’s using.

Any ideas?


Update

I went back and tried various combinations of verbose vs. non and have come to realize that the /process/inactivate comp is now invalid. I did a /process/list in the macro and it did not show comp as a process anymore so it appears to be something has changed in that regard either in terms of ignoring it previously or it’s been deprecated.

That’s a relatively large jump in versions, so whilst I’d always suggest going back through the release notes (e.g. for 11.2.2 here: Download Geant4-11.2.2 - Geant4), that’ll involve three sets to go through back to 10.7.

If you’re able to share the code that may help, though hopefully one of the experts has a easy answer!

# Macro file for MonoElm
# 
# Can be run in batch, without graphic
# or interactively: Idle> /control/execute run1.mac
#
# Change the default number of workers (in multi-threading mode) 
#/run/numberOfThreads 4
#
# Initialize kernel
/run/initialize
/process/inactivate eBrem
/process/inactivate conv
#
/control/verbose 0
/run/verbose 0
/event/verbose 0
/tracking/verbose 0
# 
# gamma 6 MeV to the direction (0.,0.,1.)
#
#/gun/particle gamma
/gun/energy 6 MeV
#
/run/beamOn 100000

That’s an example of my older macros that I brought over from 10.7.3 that ran just fine.

/process/list yields

Transportation,   GammaGeneralProc,                msc,              eIoni
              eBrem,          ePairProd,        CoulombScat,                msc
              eIoni,              eBrem,            annihil,        CoulombScat
                msc,            ionIoni,    nuclearStopping,                msc
             muIoni,            muBrems,         muPairProd,        CoulombScat
             muIoni,                msc,              hIoni,             hBrems
          hPairProd,        CoulombScat,              hIoni,                msc
              hIoni,             hBrems,          hPairProd,        CoulombScat
              hIoni,                msc,              hIoni,             hBrems
          hPairProd,        CoulombScat,                msc,              hIoni
        CoulombScat,              hIoni,              hIoni,                msc
            ionIoni,                msc,            ionIoni,              hIoni
              hIoni,              hIoni,              hIoni

PhysicsList.cc

#include "PhysicsList.hh"

//Physics Lists in Use
#include "G4EmStandardPhysics_option4.hh"
//#include "G4IonPhysics.hh"

MyPhysicsList::MyPhysicsList()
{
	RegisterPhysics( new G4EmStandardPhysics_option4() );
	//RegisterPhysics( new G4IonPhysics() );
	// RegisterPhysics(new G4OpticalPhysics());
}

MyPhysicsList::~MyPhysicsList()
{}

void MyPhysicsList::SetCuts()
{
	defaultCutValue = 0.5 * mm;
	SetCutsWithDefault(); 
	SetCutValue(0.1 * mm, "gamma");
	SetCutValue(1.0 * km, "e+");
	SetCutValue(0.01 * mm, "e-");
}