|
49 | 49 | #include "G4EmStandardPhysics_option2.hh" |
50 | 50 |
|
51 | 51 | #include "G4EmExtraPhysics.hh" |
| 52 | +#include "G4HadronicProcessStore.hh" |
| 53 | +#if G4VERSION_NUMBER >= 1100 |
| 54 | +#include "G4HadronicParameters.hh" |
| 55 | +#endif |
| 56 | + |
| 57 | +#include "G4HadronicParameters.hh" |
52 | 58 |
|
53 | 59 | #include "G4LossTableManager.hh" |
54 | 60 |
|
@@ -78,14 +84,29 @@ PhysicsList::PhysicsList() : G4VModularPhysicsList(), |
78 | 84 | SetDefaultCutValue(1*mm); |
79 | 85 |
|
80 | 86 | fMessenger = new PhysicsListMessenger(this); |
81 | | - SetVerboseLevel(1); |
| 87 | + verboseLevel = 0; |
82 | 88 |
|
83 | | - // EM physics: set to HepEm by def. |
| 89 | +#if G4VERSION_NUMBER >= 1100 |
| 90 | + // make the `G4HepEmTrackingManager` the default whenever it's available (g4>=11.0) |
| 91 | + fEmName = G4String("HepEmTracking"); |
| 92 | + fEmPhysicsList = new PhysListHepEmTracking(fEmName); |
| 93 | +#else |
| 94 | + // use the process interface but only as a backup solution as not efficient (g4<11.0) |
84 | 95 | fEmName = G4String("HepEm"); |
85 | 96 | fEmPhysicsList = new PhysListHepEm(fEmName); |
| 97 | +#endif |
| 98 | + |
| 99 | + fEmPhysicsList->SetVerboseLevel(verboseLevel); |
| 100 | + G4EmParameters::Instance()->SetVerbose(verboseLevel); |
| 101 | + |
| 102 | + // Hardonic verbose needs to be set before construction |
| 103 | +#if G4VERSION_NUMBER >= 1100 |
| 104 | + G4HadronicParameters::Instance()->SetVerboseLevel(verboseLevel); |
| 105 | +#endif |
| 106 | + G4HadronicProcessStore::Instance()->SetVerbose(verboseLevel); |
86 | 107 |
|
87 | 108 | // Create the G4EmExtraPhysics to add gamma and lepton nuclear interactions |
88 | | - G4EmExtraPhysics* emExtra = new G4EmExtraPhysics(); |
| 109 | + G4EmExtraPhysics* emExtra = new G4EmExtraPhysics(verboseLevel); |
89 | 110 | // During the development: deactiavte electron nuclear till we don't have in HepEm |
90 | 111 | // emExtra->ElectroNuclear(false); |
91 | 112 | // Turn off muon nuclear as well (not improtant as no muon production but |
@@ -136,11 +157,14 @@ void PhysicsList::ConstructProcess() |
136 | 157 | { |
137 | 158 | // Transportation |
138 | 159 | AddTransportation(); |
| 160 | + |
139 | 161 | // Electromagnetic Physics List |
| 162 | + fEmPhysicsList->SetVerboseLevel(verboseLevel); |
| 163 | + |
140 | 164 | fEmPhysicsList->ConstructProcess(); |
141 | 165 | // EM extra physics, i.e. gamma end lepton nuclear |
| 166 | + fEmExtraPhysics->SetVerboseLevel(verboseLevel); |
142 | 167 | fEmExtraPhysics->ConstructProcess(); |
143 | | - |
144 | 168 | } |
145 | 169 |
|
146 | 170 | //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... |
@@ -205,4 +229,6 @@ void PhysicsList::AddPhysicsList(const G4String& name) |
205 | 229 | << " is not defined" |
206 | 230 | << G4endl; |
207 | 231 | } |
| 232 | + fEmPhysicsList->SetVerboseLevel(verboseLevel); |
| 233 | + G4EmParameters::Instance()->SetVerbose(verboseLevel); |
208 | 234 | } |
0 commit comments