GEMC  1.8
Geant4 Monte-Carlo Framework
MPhysicsList.cc
Go to the documentation of this file.
1 // %%%%%%%%%%%%
2 // gemc headers
3 // %%%%%%%%%%%%
4 #include "MPhysicsList.h"
5 #include "EMPhysics.h"
6 #include "HadronPhysics.h"
7 #include "IonPhysics.h"
8 #include "GeneralPhysics.h"
9 #include "OpticalPhysics.h"
10 
11 
13 {
14  gemcOpt = Opt;
15  string hd_msg = gemcOpt.args["LOG_MSG"].args + " gemc Physics List: <<< ";
16  double use_opt = gemcOpt.args["OPT_PH"].arg;
17 // double VERB = gemcOpt.args["PHY_VERBOSITY"].arg ;
18 
19  // default cut value
20  if( gemcOpt.args["LOW_EM_PHYS"].arg ) defaultCutValue = 0.0001*mm;
21  else defaultCutValue = 1.0*mm;
22 
23  // EM Physics
24  RegisterPhysics( new EMPhysics(gemcOpt));
25 
26  // Optical Physics
27  if(use_opt)
28  RegisterPhysics( new OpticalPhysics(gemcOpt));
29 
30  // Hadron Physics
31  RegisterPhysics( new HadronPhysics(gemcOpt));
32 
33  // General Physics (decay processes)
34  RegisterPhysics( new GeneralPhysics(gemcOpt) );
35 
36  // Ion Physics
37  RegisterPhysics( new IonPhysics(gemcOpt));
38 
39 
40 }
41 
43 
45 {
46  double VERB = gemcOpt.args["PHY_VERBOSITY"].arg ;
47  SetCutsWithDefault();
48 
49  if( gemcOpt.args["LOW_EM_PHYS"].arg ) cout << "LOW EM OPTION ON \n";
50 
51  if( gemcOpt.args["LOW_EM_PHYS"].arg ){
52  G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(1e-3,1e5);
53  DumpCutValuesTable();
54  }
55 
56  if (VERB>2) DumpCutValuesTable();
57 }
58 
59 
60 
61 
gemc_opts gemcOpt
Definition: MPhysicsList.h:19
MPhysicsList(gemc_opts)
Definition: MPhysicsList.cc:12
virtual ~MPhysicsList()
Definition: MPhysicsList.cc:42
map< string, opts > args
Options map.
Definition: usage.h:68
virtual void SetCuts()
Definition: MPhysicsList.cc:44