I want to remove this annoying messages that I see in output during every program execution:
CoulombScat: for pi-, integral:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180; pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======eCoulombScattering : Emin= 0 eV Emax= 100 TeV
====================================================================
HADRONIC PROCESSES SUMMARY (verbose level 1)
---------------------------------------------------
Hadronic Processes for B-
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Process: B-Inelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
when a PhysicsList is instantiated all parameters of the Physics List are reset. So, these parameters (like verbose level) should be changed after instantiation of a Physics List.
Application states in Geant4 : G4State_PreInit - before initialization of geometry and physics; G4State_Init - initialization phase; G4State_Idle - geometry and physics are initialized and Geant4 is ready to start run.
To suppress initialization verbosity you need apply UI command or C++ set method at PreInit stage when Physics List is already instantiated.
You need to use “/process/had/verbose 0” after you have created your physics list, but before the run initialization (i.e. before you use either “/run/initialize” or the “Initialize()” method of the run manager).
In case it helps, the verbosity level can be passed as a parameter to the PhyscisList constructor. If you don’t want any output from the physics list just instantiate it like this example:
int verboseLevel = 0; // set to zero for non-verbosity
G4VModularPhysicsList* phys = new QGSP_BERT_HP(verboseLevel);