118 helIsRegistered =
false;
119 bicIsRegistered =
false;
120 biciIsRegistered =
false;
121 locIonIonInelasticIsRegistered =
false;
122 radioactiveDecayIsRegistered =
false;
132 emName =
G4String(
"emstandard_opt3");
142 delete emPhysicsList;
143 delete decPhysicsList;
144 for(
size_t i=0; i<hadronPhys.size(); i++) {
delete hadronPhys[i];}
167 for(
size_t i=0; i<hadronPhys.size(); i++) {
181 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">" <<
G4endl;
183 if (name == emName)
return;
188 if (name ==
"standard_opt3") {
190 delete emPhysicsList;
193 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option3" <<
G4endl;
196 }
else if (name ==
"LowE_Livermore") {
198 delete emPhysicsList;
201 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" <<
G4endl;
203 }
else if (name ==
"LowE_Penelope") {
205 delete emPhysicsList;
208 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmPenelopePhysics" <<
G4endl;
213 }
else if (name ==
"Elastic")
217 G4cout <<
"THE FOLLOWING HADRONIC ELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronElasticPhysics()" <<
G4endl;
219 helIsRegistered =
true;
221 else G4cout <<
"AN ELASTIC PHYSICS HAS BEEN ALREADY ACTIVATED!" <<
G4endl;
223 else if (name ==
"DElastic")
228 helIsRegistered =
true;
230 else G4cout <<
"AN ELASTIC PHYSICS HAS BEEN ALREADY ACTIVATED!" <<
G4endl;
233 else if (name ==
"HElastic")
238 helIsRegistered =
true;
240 else G4cout <<
"AN ELASTIC PHYSICS HAS BEEN ALREADY ACTIVATED!" <<
G4endl;
243 else if (name ==
"Em_extra_physics")
247 else if (name ==
"Stopping_physics")
251 else if (name ==
"Neutron_tracking_cut")
255 else if (name ==
"Hadron_QGSP_BIC")
260 else if (name ==
"Hadron_QBBC")
264 G4cout <<
"THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronInelasticQBBC()" <<
G4endl;
267 else if (name ==
"binary")
271 G4cout <<
"THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronInelasticQBBC()" <<
G4endl;
274 else if (name ==
"binary_ion")
291 else if (name ==
"decay")
296 else if (name ==
"radioactive_decay" && !radioactiveDecayIsRegistered )
299 radioactiveDecayIsRegistered =
true;
305 else if (name ==
"QGSP_BIC_EMY")
319 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">"
336 if (stepMaxProcess->
IsApplicable(*particle) && pmanager)
348 G4cout <<
"PhysicsList::SetCuts:";
373 cutForElectron = cut;
380 cutForPositron = cut;
386 G4String regionName =
"DetectorLog";
393 region -> SetProductionCuts(cuts);
G4Region * GetRegion(const G4String &name, G4bool verbose=true) const
static G4LossTableManager * Instance()
static G4int GetIndex(const G4String &name)
void SetCutValue(G4double aCut, const G4String &pname)
void AddPhysicsList(const G4String &name)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4ProcessManager * GetProcessManager() const
void SetCutForPositron(G4double)
static G4RegionStore * GetInstance()
virtual void ConstructParticle()=0
void SetParticleCuts(G4double cut, G4ParticleDefinition *particle, G4Region *region=0)
void DumpCutValuesTable(G4int flag=1)
G4GLOB_DLL std::ostream G4cout
void SetCutForElectron(G4double)
void SetDetectorCut(G4double cut)
void SetVerboseLevel(G4int value)
static G4RunManager * GetRunManager()
static G4Positron * Positron()
void SetCutForGamma(G4double)
virtual void ConstructProcess()=0
static G4Electron * Electron()
G4bool IsApplicable(const G4ParticleDefinition &)
virtual ~IORTPhysicsList()
#define theParticleIterator