31 #include "PhysicsList.hh"
32 #include "PhysicsListMessenger.hh"
66 helIsRegisted =
false;
67 bicIsRegisted =
false;
68 biciIsRegisted =
false;
69 locIonIonInelasticIsRegistered =
false;
70 radioactiveDecayIsRegisted =
false;
78 emName =
G4String(
"emstandard_opt3");
89 delete decPhysicsList;
90 for(
size_t i=0; i<hadronPhys.size(); i++) {
delete hadronPhys[i];}
132 for(
size_t i=0; i<hadronPhys.size(); i++) {
133 hadronPhys[i]->ConstructProcess();
146 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">" <<
G4endl;
148 if (name == emName)
return;
154 if (name ==
"standard_opt3") {
156 delete emPhysicsList;
158 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option3" <<
G4endl;
160 }
else if (name ==
"LowE_Livermore") {
162 delete emPhysicsList;
164 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" <<
G4endl;
166 }
else if (name ==
"LowE_Penelope") {
168 delete emPhysicsList;
170 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" <<
G4endl;
175 }
else if (name ==
"elastic" && !helIsRegisted) {
176 G4cout <<
"THE FOLLOWING HADRONIC ELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronElasticPhysics()" <<
G4endl;
178 helIsRegisted =
true;
180 }
else if (name ==
"DElastic" && !helIsRegisted) {
182 helIsRegisted =
true;
184 }
else if (name ==
"HPElastic" && !helIsRegisted) {
186 helIsRegisted =
true;
188 }
else if (name ==
"binary" && !bicIsRegisted) {
190 bicIsRegisted =
true;
191 G4cout <<
"THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: HadronPhysicsQGSP_BIC_HP()" <<
G4endl;
193 }
else if (name ==
"binary_ion" && !biciIsRegisted) {
195 biciIsRegisted =
true;
196 G4cout <<
"THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4IonBinaryCascadePhysics()" <<
G4endl;
197 }
else if (name ==
"radioactive_decay" && !radioactiveDecayIsRegisted ) {
199 radioactiveDecayIsRegisted =
true;
200 G4cout <<
"THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4RadioactiveDecayPhysics()" <<
G4endl;
203 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">"
229 G4cout <<
"PhysicsList::SetCuts:";
254 cutForElectron = cut;
260 cutForPositron = cut;
void RegisterPhysics(G4VPhysicsConstructor *)
static G4LossTableManager * Instance()
void SetCutValue(G4double aCut, const G4String &pname)
void SetCutForGamma(G4double)
void SetEnergyRange(G4double lowedge, G4double highedge)
void AddPackage(const G4String &name)
void SetCutForPositron(G4double)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4ProcessManager * GetProcessManager() const
void SetCutForElectron(G4double)
void AddPhysicsList(const G4String &name)
virtual void ConstructParticle()=0
void SetParticleCuts(G4double cut, G4ParticleDefinition *particle, G4Region *region=0)
void DumpCutValuesTable(G4int flag=1)
G4GLOB_DLL std::ostream G4cout
const G4VPhysicsConstructor * GetPhysics(G4int index) const
G4VModularPhysicsList * GetReferencePhysList(const G4String &)
void SetVerboseLevel(G4int value)
static G4ProductionCutsTable * GetProductionCutsTable()
static G4Positron * Positron()
virtual void ConstructProcess()=0
static G4Electron * Electron()
#define theParticleIterator