45 #include "PhysicsList.hh"
46 #include "PhysicsListMessenger.hh"
95 fStepMaxProcess =
new StepMax();
112 delete fDecayPhysicsList;
113 delete fEmPhysicsList;
114 for(
size_t i=0; i<fHadronPhys.size(); ++i) {
delete fHadronPhys[i]; }
115 delete fStepMaxProcess;
132 for(
size_t i=0; i<fHadronPhys.size(); ++i) {
133 fHadronPhys[i]->ConstructProcess(); }
142 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">" <<
G4endl;
145 if (name == fEmName) {
148 }
else if (name ==
"emstandard_opt1") {
151 delete fEmPhysicsList;
154 }
else if (name ==
"emstandard_opt2") {
157 delete fEmPhysicsList;
160 }
else if (name ==
"emstandard_opt3") {
163 delete fEmPhysicsList;
166 }
else if (name ==
"emstandard_opt4") {
169 delete fEmPhysicsList;
172 }
else if (name ==
"emlivermore") {
175 delete fEmPhysicsList;
178 }
else if (name ==
"empenelope") {
181 delete fEmPhysicsList;
184 }
else if (name ==
"pai") {
189 }
else if (name ==
"pai_photon") {
196 G4cout <<
"PhysicsList::AddPhysicsList: <" << name <<
">"
228 G4cout <<
"PhysicsList::SetCuts:";
255 fCutForElectron = cut;
263 fCutForPositron = cut;
277 void PhysicsList::AddPAIModel(
const G4String& modname)
284 if(partname ==
"e-" || partname ==
"e+") {
285 NewPAIModel(particle, modname,
"eIoni");
287 }
else if(partname ==
"mu-" || partname ==
"mu+") {
288 NewPAIModel(particle, modname,
"muIoni");
290 }
else if(partname ==
"proton" ||
294 NewPAIModel(particle, modname,
"hIoni");
306 if(modname ==
"pai") {
310 }
else if(modname ==
"pai_photon") {
G4EmConfigurator * EmConfigurator()
static G4LossTableManager * Instance()
void SetCutValue(G4double aCut, const G4String &pname)
void SetCutForGamma(G4double)
void SetEnergyRange(G4double lowedge, G4double highedge)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
void SetCutForPositron(G4double)
void SetCutForProton(G4double)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4ProcessManager * GetProcessManager() const
void SetCutForElectron(G4double)
const G4String & GetParticleName() const
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
static G4Proton * Proton()
void SetVerboseLevel(G4int value)
static G4ProductionCutsTable * GetProductionCutsTable()
static G4Positron * Positron()
virtual void ConstructProcess()=0
void SetVerbose(G4int val)
static G4Electron * Electron()
void SetExtraEmModel(const G4String &particleName, const G4String &processName, G4VEmModel *, const G4String ®ionName="", G4double emin=0.0, G4double emax=DBL_MAX, G4VEmFluctuationModel *fm=0)
#define theParticleIterator
virtual G4bool IsApplicable(const G4ParticleDefinition &)