31 #include "PhysicsList.hh"
32 #include "PhysicsListMessenger.hh"
67 helIsRegisted =
false;
68 bicIsRegisted =
false;
69 biciIsRegisted =
false;
70 locIonIonInelasticIsRegistered =
false;
71 radioactiveDecayIsRegisted =
false;
79 emName =
G4String(
"emstandard_opt3");
90 delete decPhysicsList;
91 for(
size_t i=0; i<hadronPhys.size(); i++) {
delete hadronPhys[i];}
133 for(
size_t i=0; i<hadronPhys.size(); i++) {
134 hadronPhys[i]->ConstructProcess();
147 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">" <<
G4endl;
149 if (name == emName)
return;
155 if (name ==
"standard_opt3") {
157 delete emPhysicsList;
159 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option3" <<
G4endl;
161 }
else if (name ==
"LowE_Livermore") {
163 delete emPhysicsList;
165 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" <<
G4endl;
167 }
else if (name ==
"LowE_Penelope") {
169 delete emPhysicsList;
171 G4cout <<
"THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" <<
G4endl;
176 }
else if (name ==
"elastic" && !helIsRegisted) {
177 G4cout <<
"THE FOLLOWING HADRONIC ELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronElasticPhysics()" <<
G4endl;
179 helIsRegisted =
true;
181 }
else if (name ==
"DElastic" && !helIsRegisted) {
183 helIsRegisted =
true;
185 }
else if (name ==
"HPElastic" && !helIsRegisted) {
187 helIsRegisted =
true;
189 }
else if (name ==
"binary" && !bicIsRegisted) {
191 bicIsRegisted =
true;
192 G4cout <<
"THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: HadronPhysicsQGSP_BIC_HP()" <<
G4endl;
194 }
else if (name ==
"binary_ion" && !biciIsRegisted) {
196 biciIsRegisted =
true;
197 G4cout <<
"THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4IonBinaryCascadePhysics()" <<
G4endl;
198 }
else if (name ==
"radioactive_decay" && !radioactiveDecayIsRegisted ) {
200 radioactiveDecayIsRegisted =
true;
201 G4cout <<
"THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4RadioactiveDecayPhysics()" <<
G4endl;
204 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">"
231 G4cout <<
"PhysicsList::SetCuts:";
256 cutForElectron = cut;
262 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
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 &)
static constexpr double eV
void SetVerboseLevel(G4int value)
static G4ProductionCutsTable * GetProductionCutsTable()
static G4Positron * Positron()
G4ProcessManager * GetProcessManager() const
static constexpr double GeV
virtual void ConstructProcess()=0
std::vector< G4InuclElementaryParticle >::iterator particleIterator
static G4Electron * Electron()
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
static constexpr double micrometer