How to reduce process verbosity

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

I tried this:

int main(int argc,char** argv)

{

G4HadronicProcessStore * hps = G4HadronicProcessStore::Instance();

hps->SetVerbose(0);

....
}

but it does not work

Another vain attempt was a UI command: /process/had/verbose 0

...
***** Illegal application state </process/had/verbose 0> *****

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

-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : UIMAN0123
      issued by : G4UImanager::ApplyCommand
Command aborted (200)
Error code : 200
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Is there any ways to handle with it?

Hello,

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.

VI

Where exactly should I write it in order to success?

You can look my code here: GitHub - artem-phys/TmCryst: Geant4 Monte Carlo simulation of proposed axion search experiment with Tm2Al5O12 bolometric crystal in a cryogenic facility

Hi,
I am also suffered from this problem. Have you solved it?

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).

I found this worked:

after initialization of the physics list
theRunManager->SetUserInitialization(myPhyList);

then call
G4HadronicProcessStore::Instance()->SetVerbose(0);

Hello, did you finally found a way to solve this ? I’m experiencing the same issue

Thank by advance,
GC