47 #include "PhysicsList.hh"
48 #include "PhysicsListMessenger.hh"
50 #include "PhysListEmStandard.hh"
96 fVertexDetectorCuts = 0;
97 fMuonDetectorCuts = 0;
100 fStepMaxProcess =
new StepMax();
106 fHelIsRegisted =
false;
107 fBicIsRegisted =
false;
108 fGnucIsRegisted =
false;
109 fStopIsRegisted =
false;
124 delete fDecayPhysicsList;
125 delete fEmPhysicsList;
126 delete fStepMaxProcess;
127 for(
size_t i=0; i<fHadronPhys.size(); i++) {
128 delete fHadronPhys[i];
146 for(
size_t i=0; i<fHadronPhys.size(); ++i) {
147 fHadronPhys[i]->ConstructProcess();
157 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">" <<
G4endl;
159 if (name == fEmName)
return;
161 if (name ==
"emstandard") {
163 delete fEmPhysicsList;
166 G4cout <<
"PhysicsList::Set " << name <<
" EM physics" <<
G4endl;
168 }
else if (name ==
"emstandard_opt1") {
170 delete fEmPhysicsList;
173 G4cout <<
"PhysicsList::Set " << name <<
" EM physics" <<
G4endl;
175 }
else if (name ==
"emstandard_opt2") {
177 delete fEmPhysicsList;
180 G4cout <<
"PhysicsList::Set " << name <<
" EM physics" <<
G4endl;
182 }
else if (name ==
"emstandard_opt3") {
184 delete fEmPhysicsList;
187 G4cout <<
"PhysicsList::Set " << name <<
" EM physics" <<
G4endl;
189 }
else if (name ==
"emstandard_opt4") {
191 delete fEmPhysicsList;
194 G4cout <<
"PhysicsList::Set " << name <<
" EM physics" <<
G4endl;
196 }
else if (name ==
"emstandard_local") {
198 delete fEmPhysicsList;
201 G4cout <<
"PhysicsList::Set " << name <<
" EM physics" <<
G4endl;
203 }
else if (name ==
"emlivermore") {
205 delete fEmPhysicsList;
208 }
else if (name ==
"empenelope") {
210 delete fEmPhysicsList;
213 }
else if (name ==
"elastic" && !fHelIsRegisted) {
215 fHelIsRegisted =
true;
217 G4cout <<
"PhysicsList::Add hadron elastic physics" <<
G4endl;
219 }
else if (name ==
"binary" && !fBicIsRegisted) {
222 fBicIsRegisted =
true;
224 G4cout <<
"PhysicsList::Add hadron inelastic physics from <QBBC>" <<
G4endl;
226 }
else if (name ==
"gamma_nuc" && !fGnucIsRegisted) {
228 fGnucIsRegisted =
true;
230 G4cout <<
"PhysicsList::Add gamma- and electro-nuclear physics" <<
G4endl;
232 }
else if (name ==
"stopping" && !fStopIsRegisted) {
234 fStopIsRegisted =
true;
236 G4cout <<
"PhysicsList::Add stopping physics" <<
G4endl;
239 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">"
267 SetCutValue(fCutForGamma,
"gamma",
"DefaultRegionForTheWorld");
268 SetCutValue(fCutForElectron,
"e-",
"DefaultRegionForTheWorld");
269 SetCutValue(fCutForElectron,
"e+",
"DefaultRegionForTheWorld");
270 SetCutValue(fCutForProton,
"proton",
"DefaultRegionForTheWorld");
302 fCutForElectron = cut;
319 fCutForVertexDetector = cut;
321 if( fVertexDetectorCuts ) {
333 fCutForMuonDetector = cut;
335 if( fMuonDetectorCuts ) {